问题描述
我的目标是构建一个可以在 iOS 设备和模拟器中使用的通用框架。我希望能够使用 cocoapods 分发这个框架,我也能够成功地做到这一点。
我的框架有一些外部依赖,主要是 AWSLambda,我将它包含在我的 podspec 中,这似乎给我带来了问题。
通过手动将框架拖入测试项目或通过可可豆荚安装它,我能够构建和嵌入我的框架到测试项目中。在这两种情况下,在设备或模拟器上运行项目都没有问题,一切正常。
但是,当我尝试存档测试项目以将其提交给 TestFlight 时,该过程失败,关键警告为 FrameworkName was built without full bitcode.
一个流行的解决方案是将 enable bitcode 设置为 no,但是我认为这不是该项目的正确解决方案,至少因为我正在构建一个将集成到其他项目并询问客户端应用程序的框架禁用位码似乎不是正确的方法。如果是个人应用,我可能会走这条路。
所以为了解决这个问题,我从 stackoverflow 获得了一些帮助,这是我尝试过的 This stackoverflow answer first
-
在框架project的Build Settings中将
Other C Flags
设置为-fembed-bitcode
在target框架的Build Settings中添加一个用户定义的标志,名为
BITCODE_GENERATION_MODE
,值为bitcode
>-
在框架项目和目标中,
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 (将#修改为@)