Xcode 12.3 Mac Catalyst 代码签名失败(代码对象根本没有签名)

Posted

技术标签:

【中文标题】Xcode 12.3 Mac Catalyst 代码签名失败(代码对象根本没有签名)【英文标题】:Xcode 12.3 Mac Catalyst code signing fails (code object is not signed at all) 【发布时间】:2020-12-16 13:29:56 【问题描述】:

当我尝试将我的应用程序提交到 Mac Catalyst 的 AppStore 时,我收到以下代码签名错误。我不知道如何解决这个问题,我用谷歌搜索了我找到的所有内容,但找不到解决方案。

提交 iOS 版本没有任何问题。

(Xcode 12.3 和 Big Sur 11.1。)

有什么想法吗?

Archives/2020-12-16/Textures 16-12-2020, 14.06.xcarchive/Products/Applications/Textures.app/Contents/Frameworks/BBMetalImage.framework/Versions/A/BBMetalImage'>', hardenedRuntime='0'>'> to: /var/folders/r5/t3j64v0j6td4g8018lfnk0gw0000gn/T/XcodeDistPipeline.~~~FGW2X1/entitlements~~~so4QjB
2020-12-16 13:22:05 +0000  Running /usr/bin/codesign '-vvv' '--force' '--sign' '4B7469E3C743F234A6E463B68C9AC62674F2EFD8' '--entitlements' '/var/folders/r5/t3j64v0j6td4g8018lfnk0gw0000gn/T/XcodeDistPipeline.~~~FGW2X1/entitlements~~~so4QjB' '--preserve-metadata=identifier,flags,runtime' '/var/folders/r5/t3j64v0j6td4g8018lfnk0gw0000gn/T/XcodeDistPipeline.~~~FGW2X1/Root/Applications/Textures.app/Contents/Frameworks/BBMetalImage.framework/Versions/A'
2020-12-16 13:22:05 +0000  /var/folders/r5/t3j64v0j6td4g8018lfnk0gw0000gn/T/XcodeDistPipeline.~~~FGW2X1/Root/Applications/Textures.app/Contents/Frameworks/BBMetalImage.framework/Versions/A: replacing existing signature
2020-12-16 13:22:05 +0000  /var/folders/r5/t3j64v0j6td4g8018lfnk0gw0000gn/T/XcodeDistPipeline.~~~FGW2X1/Root/Applications/Textures.app/Contents/Frameworks/BBMetalImage.framework/Versions/A: code object is not signed at all
2020-12-16 13:22:05 +0000  /usr/bin/codesign exited with 1

【问题讨论】:

在目标的框架和库设置中,您为 BBMetalImage 的嵌入选项选择了什么?除非您不以这种方式包含 BBMetalImage。 我通过 CocoaPods 安装的所有第三方库。我可以在哪里/在哪里检查您的要求? 对不起,我不使用 CocoaPods,所以我不知道你如何检查它们的配置。但是这些错误看起来像是框架在不应该被嵌入和/或签名时被嵌入和/或签名,或者没有被正确签名。但就像我说的,我不知道 CocoaPods 是如何处理的。 在开发者帐户中创建新的临时配置文件并安装在您的钥匙串中。这对我有用。 今天试试,谢谢! 【参考方案1】:

从框架的催化剂片中剥离位码修复了错误。

所以在这种情况下:

xcrun bitcode_strip -r BBMetalImage -o BBMetalImage

在项目包含的 .xcframework 的 ios-arm64_x86_64-maccatalyst 目录中。

这个关于同一主题的问答有帮助:https://developer.apple.com/forums/thread/666269

【讨论】:

我必须在 MyFramworkName 下执行此操作。那是 MyFramworkName.xcframework/ios-arm64_x86_64-maccatalyst/MyFramworkName.framework -> 这里 xcrun bitcode_strip -r MyFramworkName -o MyFramworkName 它可以工作......但是当我尝试构建应用程序时,我有“捆绑格式不明确(可能是应用程序或框架)”......看起来真的很乱,包括你自己在mac催化剂中的框架

以上是关于Xcode 12.3 Mac Catalyst 代码签名失败(代码对象根本没有签名)的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac OS 11.1 中运行 Xcode 12.3 项目时您无权保存文件

无法将 iPad 应用程序转换为 Mac 应用程序:Xcode 找不到任何与“maccatalyst.com...”匹配的 Mac Catalyst 应用程序开发配置文件

如何在 Mac 上的 Mac Catalyst 应用程序中使用钥匙串?

Mac Catalyst ITMS-4241 错误上传二进制文件

Mac Catalyst 中的弃用警告,但仅在 Objective-C 中,而不是在 Swift 中

MAC工具各个Xcode版本对应macOS的版本下载