min*_*omb 6 xcode objective-c ios cocoapods
试图建立一个Cocoapod库,它依赖于我拥有的其他已发布的Cocoapod库,让XCode中的项目构建正常,但运行pod lib lint命令检查pod有效性失败了
error: include of non-modular header inside framework module,库的头文件(pod)我依赖于.所有来源都是Obj-C而不是Swift.
根据这里的建议,我确实尝试了以下内容
public而不是projectCLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES =
YES为每个目标设置public.但问题仍然存在,我无法发布pod也无法测试它.
当我s.dependency 'OldPodIDependOn'
在我的新pod的podspec文件中注释掉该行时更新,
然后错误消失,但找不到相关标头.如果我不包括我依赖Podfile的./Example文件夹下的pod ,如下所示:
target 'NewPod', :exclusive => true do
pod "NewPod", :path => "../"
pod "OldPodIDependOn", :path => "../../OldPodIDependOn/"
end
Run Code Online (Sandbox Code Playgroud)
然后项目将不会在XCode中构建,因为OldPodIDependOn文件不是项目的一部分.有一点鸡蛋或鸡蛋问题.
更新2
还尝试删除:path => "../../OldPodIDependOn/"组件以引用已发布的窗格而不是本地窗格 - 没有帮助.
值得一提的是,这个pod将包含一个UI,因此将包含和引用一个故事板,我s.resources = 'Pod/Classes/UI/NewPod.storyboard'在podspec文件中添加了一行,并从pod目标编译源中删除了故事板(否则xcode将无法构建).我不认为这与问题有关,但值得一提,也许我在那里做错了.
我究竟做错了什么?任何帮助将不胜感激!
为了最终解决这个问题,我不得不放弃pob lib create创建的工作区 - 没有办法解决它,我尝试了所有可能的组合/建议/代码修改以摆脱“框架内的非模块化标头”错误,但似乎没有任何效果。pod lib lint总是失败。
我从头开始创建了自己的静态库 xcode 项目,然后pod update在将依赖的 pod 添加到 后运行它Podfile,然后为此 lib 创建一个.podspec文件,并将依赖的 pod 头文件添加到静态 lib 目标的“复制文件”构建阶段+libPods.a文件到“链接二进制文件与库”构建阶段。噗!pod lib lint尽管我实际上在做完全相同的事情,但不再出现“非模块化标头”错误。吸取的教训是,pod lib create不建议对所有 cocoapod 案例都这样做。
| 归档时间: |
|
| 查看次数: |
2977 次 |
| 最近记录: |