构建具有通过 podspec 集成的外部依赖项的通用 (FAT) iOS 框架时的位码问题

问题描述

我的目标是构建一个可以在 iOS 设备和模拟器中使用的通用框架。我希望能够使用 cocoapods 分发这个框架,我也能够成功地做到这一点。

我的框架有一些外部依赖,主要是 AWSLambda,我将它包含在我的 podspec 中,这似乎给我带来了问题。

通过手动将框架拖入测试项目或通过可可豆荚安装它,我能够构建和嵌入我的框架到测试项目中。在这两种情况下,在设备或模拟器上运行项目都没有问题,一切正常。

但是,当我尝试存档测试项目以将其提交给 TestFlight 时,该过程失败,关键警告为 FrameworkName was built without full bitcode.

一个流行的解决方案是将 enable bitcode 设置为 no,但是我认为这不是该项目的正确解决方案,至少因为我正在构建一个将集成到其他项目并询问客户端应用程序的框架禁用位码似乎不是正确的方法。如果是个人应用,我可能会走这条路。

所以为了解决这个问题,我从 stackoverflow 获得了一些帮助,这是我尝试过的 This stackoverflow answer first

  1. 在框架projectBuild Settings中将Other C Flags设置为-fembed-bitcode

  2. target框架的Build Settings中添加一个用户定义的标志,名为BITCODE_GENERATION_MODE,值为bitcode>

  3. 在框架项目和目标中,Enable Bitcode 都应该设置在 Yes

我尝试过的类似 answers were repeated here

此处是 another answer which I tried,此人建议将 Skips Install 设置为 No 并将框架存档而不是构建它。

在尝试独立或组合时,我的框架的构建仍然失败,但是这次它不是指我的框架,而是指我的 pod 依赖项 AWSLambda

添加 this to the podfile 似乎解决了构建框架的问题,但是我再次面临要求用户将其包含在他们的 podfile 中的挑战,这并不让我觉得专业,否则我可能是错的?

我想知道在遇到此类依赖项错误时我有哪些选择,有什么办法可以克服这个问题?

我不确定是否可以将此类内容添加到 podspec 中以克服这些挑战。

我可能不得不在某个地方做出妥协,但如果能得到一些关于如何解决这个问题的建议会很好。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...