如何通过代码签名迦太基框架来提交App Store?

时间:2019-01-20 06:29:42

标签: ios app-store code-signing carthage

我有2个应用程序要提交到App Store,这些应用程序可以一起工作。因此,我有两个应用程序都使用的多个框架。我用迦太基将它们打包。

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

enter image description here

当我查看日志时,发现在步骤IDEDistributionCodesignStep中,正确签名了第三方框架KeychainAccessRunning /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进行自动代码签名。

enter image description here

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

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

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

enter image description here

然后降低:

enter image description here

我尝试过的事情

  • 取消选中自动代码签名
  • 与团队检查自动代码签名
  • 在没有团队的情况下检查自动代码签名
  • copy-frameworks运行脚本(我感觉我在这里做错了,这就是为什么我添加了屏幕截图以防有人发现我做错了事情的原因)

感谢您的帮助!

----------------------自动检查没有团队------------------ ----

enter image description here enter image description here ----------------------未选中自动---------------------- enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

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

  • 仅将要提交到App Store的主应用程序应具有一个> dist_mat < set_units(20000, "m") & dist_mat > set_units(0, "m") # [,1] [,2] [,3] [,4] [,5] [,6] #[1,] FALSE FALSE FALSE FALSE FALSE FALSE #[2,] FALSE FALSE FALSE FALSE FALSE FALSE #[3,] FALSE FALSE FALSE FALSE FALSE FALSE #[4,] FALSE FALSE FALSE FALSE FALSE FALSE #[5,] FALSE FALSE FALSE FALSE FALSE TRUE #[6,] FALSE FALSE FALSE FALSE TRUE FALSE Run Script阶段,并且仅应复制顶级框架。

  • 仅测试目标应具有copy-frameworks阶段(我的框架目标中有Copy Files阶段)

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

  • 框架不应该自己进行代码签名(应该由主应用程序进行代码签名)

相关问题