美文网首页
Worksapce管理多个project,并共用cocopods

Worksapce管理多个project,并共用cocopods

作者: FreshAlpha | 来源:发表于2018-12-04 18:33 被阅读0次

    之前有同事写好一个A项目,由于没有集成SDK,并且还在版本迭代中,我的B项目需要使用。A项目中有很多pods使用的第三方,B项目也要使用。

    最终决定的方案是把A项目集成framework,B项目使用A.framework,TargetA,TargetB共用podfile.

    第一步:创建workspace,A.framework,项目B,A和B都放在workspace中。

    第二步:创建podfile。

    遇到报错Unable to find a target named `A`等。

    最终解决方案:podfile的结构如下

    1.加上workspace '[name].xcworkspace'

    2.target 之后要注明project

    target'A'do

        project'A/A.xcodeproj'

       end

        target'B'do

        project'B/B.xcodeproj'

       end

    3.共用的第三方可以 def 一下,再使用。

    第三步:由于A.framework的代码是swift和OC混编。直接把桥接文件放进来,会报错"using bridging headers with framework targets is unsupported"。A.framework中不支持桥接文件,所以要放在A.h中。

    遇到的报错“Include of non-modular header inside framework module 'A'

     对于A中的OC的头文件的引用,会报此错。解决方案是:

    找到要导入的OC的.h,show inspectors,将Target MemberShip改成public。

    或者Target->Build Phases->Headers在Projects中找到要导入的.h,拖到Public中即可。

    而对于A中要引用pods中的.framework或者.a的头文件时,也会报此错。解决方案是:

    Target->Build Phases->Headers 按+按钮,“Add Other”找到Pods中要导入的.framework或者.a的头文件,不要勾选copy,放到public栏目中即可。

    暂时已经没有报错了。

    相关文章

      网友评论

          本文标题:Worksapce管理多个project,并共用cocopods

          本文链接:https://www.haomeiwen.com/subject/fxevcqtx.html