加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 创建依赖于另一个pod的pod

发布时间:2020-12-14 19:46:16 所属栏目:百科 来源:网络整理
导读:尝试构建一个 Cocoapod库,它依赖于我拥有的其他已发布的Cocoapod库,使得XCode中的项目构建正常,但运行pod lib lint命令以检查pod有效性失败 错误:在我依赖的库(pod)的头文件中包含框架模块内的非模块化头.所有来源都是Obj-C而不是 Swift. 根据here发现的建
尝试构建一个 Cocoapod库,它依赖于我拥有的其他已发布的Cocoapod库,使得XCode中的项目构建正常,但运行pod lib lint命令以检查pod有效性失败
错误:在我依赖的库(pod)的头文件中包含框架模块内的非模块化头.所有来源都是Obj-C而不是 Swift.

根据here发现的建议,我确实尝试了以下内容

>将依赖库的头文件设置为public而不是project
>设置CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES =
每个目标都是
>验证构建阶段中的相关标头是否公开.

但问题仍然存在,我无法发布pod也无法测试它.

更新
当我评论出来的时候
s.dependency’OldPodIDependOn’
?在我的新pod的podspec文件中的行然后错误消失但找不到相关的标题.如果我不包含我依赖于./Example文件夹下的Podfile中的pod,如下所示:

target 'NewPod',:exclusive => true do
  pod "NewPod",:path => "../"
  pod "OldPodIDependOn",:path => "../../OldPodIDependOn/"
end

然后项目将不会在XCode中构建,因为OldPodIDependOn文件不是项目的一部分.有一点鸡蛋或鸡蛋问题.

更新2
还尝试删除:path => “../../OldPodIDependOn/”组件引用已发布的pod而不是本地的pod – 没有帮助.

值得一提的是,这个pod将包含一个UI,因此将包含和引用一个故事板,我将s.resources =’Pod / Classes / UI / NewPod.storyboard’行添加到podspec文件中,并从pod目标编译中删除了storyboard来源(否则xcode将无法构建).我不认为这与问题有关,但值得一提,也许我在那里做错了.

我究竟做错了什么?
任何帮助将不胜感激!

解决方法

为了最终解决这个问题,我不得不放弃pob lib创建的工作空间 – 没有办法解决它,我尝试了所有可能的组合/建议/代码修改以摆脱“框架内的非模块化标头”错误,但没有似乎工作. pod lib lint总是失败.

我从头开始创建自己的静态库xcode项目,然后在将依赖的pod添加到Podfile之后在其上运行pod update,然后为该lib创建一个.podspec文件,并将依赖的pod头文件添加到“Copy files”构建阶段静态lib目标libPods.a文件到“与libs链接二进制”构建阶段.噗!尽管我实际上完全做了同样的事情,但是没有更多来自pod lib lint的“非模块头”错误.获得的经验是,不建议对所有cocoapod案例使用pod lib create.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读