首页 > 解决方案 > 使用二进制 xcframework CocoaPod 依赖项的代码签名问题

问题描述

我在使用二进制 xcframework CocoaPods 依赖项时遇到了一些代码签名问题。

我正在使用需要在具有 Apple Catalyst 集成的 Mac 上运行的 iPad 应用程序。出于这个原因,我们创建了一个二进制 CocoaPods 依赖项,其中包含一个 xcframework,其结构您可以在附加图像中看到。xcframework 支持当前标准的 iOS、iOS 模拟器和英特尔催化剂架构。当手动签名并将其手动集成到 Xcode 项目中时,它可以完美运行。

xc框架

当通过 CocoaPod 集成 xcframework 时,构建过程最终会在签署“Kernel.xcframework”时绊倒,因为 kernel_deps.a 尚未签署。在开始 Xcode 构建之前,我可以通过在 DerivedData 文件夹中手动签名kernel_deps.a来临时解决此问题,但这当然不是永久解决方案。

我可以看到生成的 Pods-###-framework.sh 文件的 code_sign_if_enabled() 函数尝试签署“Kernel.xcframework”并失败,因为它之前没有签署 kernel_deps.a。当我通过 Pods-###-framework.sh 禁用代码签名时,Xcode 会遇到类似的问题。这个问题有什么解决办法吗?

我知道,CocoaPods 主要是为非二进制依赖处理而设计的。由于我们的依赖有很长的构建时间,我们更喜欢在这里使用二进制依赖。

我正在使用 CocoaPods 版本 1.10.1。

最好的,马丁

标签: binarycocoapodssigningxcframework

解决方案


推荐阅读