如何解决由于系统dylib的代码签名,无法提交到macOS X应用程序的App Store
我有一个要上传到App Store的macOS应用。如果我通过XCode进行上传过程,则可以正常工作。但是,如果我尝试通过命令行执行此操作,则会出现以下错误:
ITMS-90238: Invalid Signature - The main app bundle at path Watercooler.app has following signing error(s):
--prepared:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftObjectiveC.dylib
--validated:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftObjectiveC.dylib
--prepared:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftCore.dylib
--validated:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftCore.dylib
--prepared:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftCoreGraphics.dylib
--validated:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftCoreGraphics.dylib
--prepared:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftIOKit.dylib
--validated:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftIOKit.dylib
--prepared:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftDispatch.dylib
--validated:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftDispatch.dylib
--prepared:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftFoundation.dylib
--validated:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftFoundation.dylib
--prepared:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftCoreFoundation.dylib
--validated:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftCoreFoundation.dylib
--prepared:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftDarwin.dylib
--validated:/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app/Contents/Frameworks/libswiftDarwin.dylib
/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app: valid on disk
/Volumes/data01/app_data/app-processing/mz_8029000669099957921dir/mz_2386831630835480256dir/io.getwatercooler.Watercooler.pkg/Payload/Watercooler.app: satisfies its Designated Requirement
test-requirement: code failed to satisfy specified code requirement(s) .
Refer to the Code Signing and Application Sandboxing Guide at http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at https://developer.apple.com/library/mac/technotes/tn2206/_index.html for more information.
如您所见,这些都是系统默认的dylib。
这是我的bash脚本的样子:
xcodebuild \
-workspace Watercooler.xcworkspace \
-scheme "App Store" \
-archivePath $ARCHIVE_PATH \
clean archive | xcpretty
xcodebuild \
-exportArchive \
-archivePath $ARCHIVE_PATH \
-exportOptionsPlist export-options.plist \
-exportPath "$EXPORT_PATH/" | xcpretty
xcrun productbuild --component $EXPORT_APP_PATH /Applications $PKG_UNSIGNED_PATH
xcrun productsign --sign "$INSTALLER_CERT_NAME" $PKG_UNSIGNED_PATH $PKG_SIGNED_PATH
pkgutil --check-signature $PKG_SIGNED_PATH
xcrun altool \
--validate-app \
--file $PKG_SIGNED_PATH \
--primary-bundle-id "$BUNDLE_ID" \
..credentials
--type osx \
xcrun altool \
--upload-app \
--file $PKG_SIGNED_PATH \
--primary-bundle-id "$BUNDLE_ID" \
..credentials
--type osx \
当我验证存档应用程序的签名时,一切看起来都不错:
codesign --verify --deep --strict --verbose=4 /var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app
--prepared:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftObjectiveC.dylib
--validated:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftObjectiveC.dylib
--prepared:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftCore.dylib
--validated:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftCore.dylib
--prepared:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftCoreGraphics.dylib
--validated:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftCoreGraphics.dylib
--prepared:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftCoreFoundation.dylib
--validated:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftCoreFoundation.dylib
--prepared:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftDarwin.dylib
--validated:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftDarwin.dylib
--prepared:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftDispatch.dylib
--validated:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftDispatch.dylib
--prepared:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftIOKit.dylib
--validated:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftIOKit.dylib
--prepared:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftFoundation.dylib
--validated:/private/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app/Contents/Frameworks/libswiftFoundation.dylib
/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app: valid on disk
/var/folders/30/tpt8wgwd6bb6qlnqx9936xhc0000gn/T/watercooler-export/0.1.43/app-store/export/Watercooler.app: satisfies its Designated Requirement
为什么XCode版本有效,但我的bash脚本却无效?为什么这些dylib无法满足“代码要求”?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。