美文网首页Xcode
Xcode中使用Workspace管理多个项目

Xcode中使用Workspace管理多个项目

作者: 这位网友 | 来源:发表于2022-06-24 14:07 被阅读0次

    一、编写该文章的缘由

    由于MOJi辞書跟MOJiTest在前期用的是同一套问题生成器框架,随着MOJiTest的需求不断,已经无法友好的共用一个框架。(虽然可以根据标识去判断项目来源,但Test后期还是会不断演变其功能玩法,所以还是拆分管理)。故借此机会,使用Workspace来管理多个框架项目。

    二、操作步骤

    1. 首先在任意文件目录创建MOJiQuestionsGenerator文件夹。这里举例桌面文件夹,如图所示: image.png
    2. 打开Xcode,顶部菜单栏依次操作:File -> New -> Workspace...,这时候会弹出一个创建项目的窗口,同样命名为MOJiQuestionsGenerator,选择保存到MOJiQuestionsGenerator文件夹,点击Save。

    image.png

    这时候,已经完成了工作空间的创建。如图所示:


    image.png
    1. 开始创建MOJiQuestionsGenerator框架项目。点击工作空间窗口,然后选择Xcode的菜单栏中的File -> New -> Project...,选择iOS下的Framework框架,如图:


      image.png
    2. 填写框架名MOJiQuestionsGenerator,并点击Next,如图:


      image.png
    1. 这一步特别关键,需要将框架项目添加到我们上面已经创建了的工作空间,如图:


      image.png

    最后点击创建完成添加。这时候会发现,框架项目已经添加到工作空间,如图:


    image.png
    1. 根据上面的步骤,再创建一个属于MOJiTest专用的问题生成器框架,命名为:MOJiTestQuestionsGenerator。(这里需要再次提醒,一定要选择相同的工作空间。)如图:


      image.png

    到此,两个框架项目已经添加到同一个工作空间MOJiQuestionsGenerator。

    三、关于Podfile

    
    目前,问题生成器框架还没有依赖于第三方框架,如果后期用到就配置一下Podfile,其Podfile配置参考如下:
    # 指定工作空间
    workspace 'MOJiQuestionsGenerator.xcworkspace'
    
    #指定主项目
    project 'MOJiQuestionsGenerator.xcodeproj'
    
    # 问题生成器框架项目
    
    target 'MOJiQuestionsGenerator' do
      use_frameworks!
      
      platform :ios, '11.0'
      project 'MOJiQuestionsGenerator/MOJiQuestionsGenerator.xcodeproj'
      
    end
    
    
    # 问题生成器Debug项目
    
    target 'MOJiQuestionsGeneratorDebug' do
      use_frameworks!
      
      platform :ios, '11.0'
      project 'MOJiQuestionsGenerator/MOJiQuestionsGenerator.xcodeproj'
      
    end
    
    
    # -------------- MOJiTest -------------------
    
    
    # MOJiTest问题生成器框架
    
    target 'MOJiTestQuestionsGenerator' do
      use_frameworks!
    
      platform :ios, '11.0'
      project 'MOJiTestQuestionsGenerator/MOJiTestQuestionsGenerator.xcodeproj'
      
    end
    
    # MOJiTest问题生成器Debug项目
    
    target 'MOJiTestQuestionsGeneratorDebug' do
      use_frameworks!
    
      platform :ios, '11.0'
      project 'MOJiTestQuestionsGenerator/MOJiTestQuestionsGenerator.xcodeproj'
      
    end
    

    四、其他注意事项

    1. Podfile文件已经在项目里(暂时命名为:「如果用到第三方库,直接修改此文件名为Podfile」,后期用到直接改名字加pod对象即可)
    2. 每次打包需要特别注意:选中所需要的框架
    3. 版本号别填错位置了
    4. 调试引用框架还是按原来的逻辑
    5. Podflie的项目名一定要跟项目设定保持一致
    6. 项目统一支持系统版本号为iOS 11+
    7. Build Settings配置尽可能保持一致
    8. 如果中间有特殊改动并且两者都需要更新的及时反馈并做好更新
    9. import开放的头文件时,一定要用<>括号。

    五、添加bundle的一些注意事项【其他】

    新建 target -> macOS -> bundle
    然后在项目列表创建对应的文件夹,如MOJiThemeLight,然后丢Info.plist/Images/ColorsMap,然后指定Images、ColorsMap到对应的项目中,接着就如下配置

    Build Settings设置如下:

    1. Base SDK设置为iOS
    2. Skip Install设置为NO
    3. Strip DebugSymbolsDuringCopy 设置为YES
    4. Targeted Device Families 设置为 iPhone,iPad
    5. Generate Info.plist File设置为NO
    6. info.plist File MOJiThemeLight/info.plist
    7. Code Signing idetify 设置iOS Developer
    8. Versioning System 设置none(这个时候可执行文件没了)

    相关文章

      网友评论

        本文标题:Xcode中使用Workspace管理多个项目

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