我在我的应用程序中使用Sparkle,并通过运行shell脚本构建阶段对框架进行签名,该阶段工作良好,没有生成错误。问题是,没有通过Sparkle工作的更新,更新者说:
解压缩存档时出错。
错误的代码签名有可能导致此错误吗?我很确定这不是Sparkle错误,RSS文件是100%正确的。更新旧版本也有效。
这是一个非MAS应用程序,我使用我的开发者ID应用程序证书来签署所有的东西。我可以使用启用的网关管理员运行应用程序(spctl -a -v说:已接受),我可以手动解压缩并启动它,并出现正确的消息,因此没有问题。
与旧版本不同的是,这是我在新Mac上构建的第一个应用程序版本,我在Xcode中添加了我的开发人员ID,并收到了我需要的所有证书。我认为Xcode创建了新的,但这不应该是一个问题,imho,我只是使用新的。我不知道这是否也会导致错误。有人知道更多吗?谢谢。
顺便说一句:当我选择"Developer“进行代码签名,然后将build设置视图中的代码签名设置为my时,常规视图中的单选按钮将跳回"None”。
编辑:脚本
LOCATION="${BUILT_PRODUCTS_DIR}"/"${FRAMEWORKS_FOLDER_PATH}"
IDENTITY="Developer ID Application: Name"
codesign --verbose --force --sign "$IDENTITY" "$LOCATION/Sparkle.framework/Versions/A"
codesign --verbose --force --sign "$IDENTITY" "$LOCATION/ShortcutRecorder.framework/Versions/A"所以没有XPC服务,我需要它吗?我想我的应用程序中没有使用xpc服务。
发布于 2014-02-10 11:19:40
在使用相同的“新”证书/代码签名设置进行新更新之后,问题就解决了。我建议不要像我那样经常修改证书,也许我创建新证书的时候出了点问题,而斯巴克尔不喜欢这样。
我不使用XPC服务,只是上面看到的脚本。我没有修改脚本,也没有修改应用程序cast url/feed等等,所以我不知道到底是什么问题,但现在一切似乎都很好。
发布于 2013-11-29 14:05:39
这是你在小牛队下建立的第一个版本吗?如果是的话,这可能是因为小牛需要对一个应用程序的所有嵌入包进行签名。我遇到了这个问题,并找到了解决方案:OS X app update issue with Sparkle under Mavericks and XCode 5
您的shell脚本是什么样子的?你说你签署了Sparkle框架,你也签署了XPC服务吗?
https://stackoverflow.com/questions/19961101
复制相似问题