一个workspace管理多个target并可以共享文件

1.先创建一个workspace文件并放在一个路径下

2.抛开xcworkspace,在存放workspace的同级目录中,在创建几个APP(在创建时选择signal APP)(我这里创建为APP只是想把他作为组建的形式来用,如果是想在几个APP项目中共享一些东西比如说做马甲包或者几个类似的APP代码相似度大,最好用Duplicate)

3.完成后再打开xcworkspace将创建的APP的target分别添加到(add file to xxx)workspace下

最终目录如下

4.打开终端cd到nowDemo目录,touch Podfile创建podfile文件,编辑文件内容

举个我写的例子:

workspace 'ActiveApp.xcworkspace'

project 'ActiveApp/ActiveApp.xcodeproj'

project 'SystemA/SystemA.xcodeproj'

project 'SystemB/SystemB.xcodeproj'

project 'SystemC/SystemC.xcodeproj'


    #project分别处理

    target 'ActiveApp' do

        platform :ios, '9.0'

        project 'ActiveApp/ActiveApp.xcodeproj'

    end


    target 'SystemA' do

        platform :ios, '9.0'

        project 'SystemA/SystemA.xcodeproj'

    end

    target 'SystemB' do

        platform :ios, '9.0'

        project 'SystemB/SystemB.xcodeproj'

    end

    target 'SystemC' do

        platform :ios, '9.0'

        project 'SystemC/SystemC.xcodeproj'

    end

之后pod install

5.我这里是首先想在activeAPP用systemA的内容,所以在activeAPP的target中,打开build setting,搜索header search paths,在里面加入:"$(SRCROOT)/../SystemA" ,,$(SRCROOT)是文件主目录意思


6.现在在activeAPP中就可以链接systemA的内容了,第一次import systemA内容时把.m和.h 都import上,避免报错,之后再引用其内容不用加.m了

7.如果想在systemA用到ActiveAPP 内容时,先commend b一下ActiveAPP,随后在workspace的cocoapods所带的文件夹下,会看到libPods-ActiveAPP文件,随后在systemA中打开building phrase,找到link binrary将libPods添加进去


8.进入ActiveAPP项目,在building phrase中点击左上角加号,添加new headers phase ,然后点开将想要共享出去的文件类添加进来,放到public目录下,然后就可以在systemA使用了


你可能感兴趣的:(一个workspace管理多个target并可以共享文件)