我在我的应用程序中使用 Sparkle 并通过运行 shell 脚本构建阶段对框架进行签名,该阶段运行良好,没有构建错误。问题是,通过 Sparkle 工作没有更新,更新者说:
提取档案时出错
错误的代码签名是否可能导致此错误?我很确定这不是 Sparkle 错误,RSS xml 文件是 100% 正确的。更新旧版本也可以。
这是一个非 MAS 应用程序,我使用我的开发人员 ID 应用程序证书对所有内容进行签名。我可以在启用 Gatekeeper 的情况下运行该应用程序(spctl -a -v 说:已接受),我可以手动解压缩并启动它,然后出现正确的消息,所以没有问题。
与旧版本的不同之处在于,这是我在新 Mac 上构建的第一个应用程序版本,我在 Xcode 中添加了我的开发者 ID 并获得了我需要的所有证书。我认为 Xcode 创建了新的,但这不应该是一个问题,我只是使用新的。我不知道这是否也会导致错误。有人知道更多吗?谢谢。
顺便说一句:当我选择“开发人员 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 服务。