我有一个小型的概念验证应用程序,我试图在其中将框架(Alamofire)嵌入(并签名)到我的框架(AequumPOCFramework.framework)中,但是,当我尝试将其部署到设备时,一直给我错误
....不适用于在使用库验证的过程中使用:映射文件没有cdhash,完全未签名?代码必须至少是临时签名。
如果我只是尝试部署自己的框架而没有嵌入Alamofire,则一切正常。
部署到我的iPhone时的完整错误是:
模型:库未加载:@ rpath / Alamofire.framework / Alamofire 引用自:/private/var/containers/Bundle/Application/EDB697EB-EA15-4301-B4B6-A8FE1F0212BE/PocIOS.app/Frameworks/AequumPOCFramework.framework/AequumPOCFramework 原因:找不到合适的图像。确实找到了: /private/var/containers/Bundle/Application/EDB697EB-EA15-4301-B4B6-A8FE1F0212BE/PocIOS.app/Frameworks/AequumPOCFramework.framework/Frameworks/Alamofire.framework/Alamofire:代码签名位于(/ private / var / containers / Bundle / Application / EDB697EB-EA15-4301-B4B6-A8FE1F0212BE / PocIOS.app / Frameworks / AequumPOCFramework.framework / Frameworks / Alamofire.framework / Alamofire)在使用库验证的过程中无效:映射文件没有cdhash,完全未签名?代码必须至少是临时签名。
我在做什么错了?
答案 0 :(得分:1)
iOS上不支持嵌套框架(请参见technotes)。目前唯一合法的解决方案是将“嵌入式”框架直接链接到托管应用。
* XCFramework主要是特定于平台的二进制文件的集合,不幸的是与嵌入框架无关。
答案 1 :(得分:0)
您也必须将Alamofire嵌入到您的项目中。
例如,您正在使用Carthage,而您框架的Cartfile具有Alamofire库。您也必须为主应用程序使用相同的Carfile。另外,您还必须为主应用程序执行其他迦太基动作(链接库,添加运行脚本)。