首页 文章

Xcode 5 Sparkle代码签名

提问于
浏览
1

我在我的应用程序中使用Sparkle并通过运行shell脚本构建阶段签署框架,该工作正常,没有构建错误 . 问题是,没有通过Sparkle工作的更新,更新程序说:

提取存档时发生错误

错误的代码签名是否可能导致此错误?我很确定它不是Sparkle错误,RSS xml文件是100%正确的 . 更新旧版本也有效 .

这是一个非MAS应用程序,我使用我的开发者ID应用程序证书来签署所有内容 . 我可以使用已启用的Gatekeeper运行应用程序(spctl -a -v说:已接受),我可以手动解压缩并启动它并显示正确的消息,因此没有问题 .

与旧版本的区别在于,这是我在新Mac上构建的第一个应用程序版本,我在Xcode中添加了我的开发者ID,并且已经收到了我需要的所有证书 . 我认为Xcode创建了新的,但这不应该是一个问题imho,我只是使用新的 . 我不知道这是否也会导致错误 . 有人知道更多吗?谢谢 .

btw:当我选择“开发者ID”进行代码签名,然后在构建设置视图中将代码签名设置为我的开发ID时,一般视图中的单选按钮会跳回“无” .

编辑:脚本

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服务 .

2 回答

  • 0

    它是你在Mavericks下 Build 的第一个版本吗?如果是的话,它可能来自于Mavericks需要签署应用程序的所有嵌入式捆绑包的事实 . 我遇到了这个问题并找到了解决方案:OS X app update issue with Sparkle under Mavericks and XCode 5

    你的shell脚本是什么样的?你说你签了Sparkle框架,你也签了XPC服务吗?

  • 0

    在使用相同的“新”证书/代码签名设置进行新更新后,问题就消失了 . 我建议不要像我一样经常更改证书,也许在我创建新证书时出错了,Sparkle不喜欢这样 .

    我不使用XPC服务,只是你看到的脚本 . 我没有更改脚本或app cast url / feed等,所以我不知道究竟是什么问题,但现在一切似乎都很好 .

相关问题