我在构建文件中有以下内容:
xcodebuild \
-allowProvisioningUpdates \
-allowProvisioningDeviceRegistration \
-exportArchive \
-archivePath "$archivePath" \
-exportOptionsPlist "$plistPath" \
-exportPath $exportPath
假设$archivePath
,$exportPath
和$plistPath
都有效。生成的.app包似乎在构建机器上运行以下内容时通过:
spctl --assess --verbose=4 /path/to.app
返回“已接受”
但是,在另一台Mac上部署此.app软件包会导致操作系统抱怨“此应用已损坏,请移至垃圾箱”。我尝试过调整/更改构建选项,但这没有帮助。 spctl
报告该捆绑包有a sealed resource is missing or invalid
。
最后,只需使用Xcode中的导出存档选项(“开发者ID”)就可以了!这只是一个代码签名的问题(I codesign -vvvv
)。两个机器在对spctl
进行核对后返回“已接受”。
问题是 - Xcode的做法有何不同?我可以尝试在xcodebuild完成生成捆绑后第二次编码签名,但这听起来不对。如何使xcodebuild表现为Xcode?