在iOS项目的日常开发中,我们有时候会需要用到多工程,尤其是某个业务模块可以制成静态SDK子工程给第三方集成使用,有时候我们也会需要在某个工程中设置多个target,利用一套代码快速生成多个APP。
先来说多工程,在Xcode中我们可以使用workspace来管理多个project。目前可以使用两种方式来创建并实现,第一种是手动创建workspace,然后手动新建project,把各个project添加到workspace,如果该子工程是一个静态库工程,则还需要把静态库工程编译一下,把product里的.a文件添加到主工程的linked framework and libraries里,然后在主工程的build setting 里把library search path 和User header search path里添加静态库的工程目录。关于此处的path设置,建议设置为工程之间的相对路径,具体的设置参数,可以看Xcode Search Paths相关配置,看过之后,你就对search path熟悉了。另一种方式就比较简单,通过使用CocoaPods。
多Target的使用,我们有时一个项目工程会根据不同的测试环境、渠道、配置来打包生成多个app,包括修改app名字,bundleID,证书,编译配置等,这个时候使用多target就比较合适了。