Xcode中使用Workspace管理多个项目

一、编写该文章的缘由

由于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管理多个项目)