如何对 App Store 提交的 Carthage 框架进行代码签名?

How to code sign a Carthage framework for App Store submission?

我有 2 个应用程序要提交到 App Store,它们可以协同工作。因此,我有两个应用程序都使用的多个框架。我用 Carthage 来打包这些。

当我尝试使用存档版本提交到 App Store 时,我在自己的框架上遇到错误 Code signing "Authentication.framework" failed.Authentication.framework 是我的应用程序导入的其他 3 个框架中的一个框架。

当我查看日志时,我发现在步骤 IDEDistributionCodesignStep 中,第 3 方框架 KeychainAccess 已正确签名:Running /usr/bin/codesign <A bunch of parameters here> 然后 signed bundle with Mach-O universal (armv7 arm64) [com.kishikawakatsumi.KeychainAccess]

但是当轮到 Authentication.framework 时,命令 Running /usr/bin/codesign <A bunch of parameters here> 结果是

replacing existing signature 然后 code object is not signed at all/usr/bin/codesign exited with 1.

我看到 KeychainAccess 进行自动代码签名。

所以我对 Authentication.framework 做了同样的事情,但我得到了相同的结果。我也尝试过不自动代码签名,而是手动代码签名,但没有成功。

我对提交的实际应用程序使用自动代码签名。

我的应用程序中也有复制框架。我没有在每个框架中列出嵌套框架。

及以下:

我尝试过的事情

感谢您的帮助!

-------------------- 自动检查无团队---------------- --------

------------------------自动未选中-------------------- --

我的项目和嵌套框架有很多问题。我会在这里列出它们:

  • 只有提交到 App Store 的主应用程序应该有一个 Run Script copy-frameworks 阶段,它应该只复制顶级框架。

  • 只有测试目标应该有一个 Copy Files 阶段(我的框架目标中有一个 Copy Files 阶段)

  • 不要嵌入任何框架(除非它们是静态的,但目前尚未正式支持这些框架)。

  • 框架本身不应进行代码签名(应由主应用程序进行代码签名)