iOS framework踩坑之路

framework加载失败

在真机运行,如果出现错误“dyld: Library not loaded: @rpath/XX.framework/XX,..... Reason: image not found”

  • 这是因为framework没拷贝到ipa里面,导致运行是找不到库,需要在General->Frameworks and Embedded Content中将framework设置为“Embed & Sign”

framework需要签名才能用

在真机运行,如果出现错误“dyld: Library not loaded: @rpath/XX.framework/XX,Reason: no suitable image found.....Code has to be at least ad-hoc signed”

  • 这是因为framework还没签名,需要在生成framework的工程里,设置Signing(跟ipa签名一样操作)
  • 如果framework不是自己生成的,也可以在重签名后使用。

framework版本不一致

在真机运行,如果出现错误“dyld: Library not loaded: @rpath/XX.framework/XX,..... Reason: Incompatible library version: XXX requires version 1.0.0 or later, but XXX provides version 0.0.0”

  • 这是因为项目配置的framework跟实际链接的framework版本不一致,需要检查项目目录Frameworks文件夹下的framework是否是最新的,如果framework A依赖framework B,B重新生成后,A也需要重新生成。

framwork嵌套的签名问题

当前的项目可以给引入的 framework 进行签名, 但是不可以给 framework 中嵌套的framework签名, 所以如果你的动态库嵌套其他的动态库, 需要在你构建动态库的时候给他签名, 但是这种签名之后就无法被其他 team 使用, 所以这种嵌套签名无效,解决方法是在项目中同时引入所有的framework,并由项目统一签名。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容