iOS 多targets打包

实现场景:
  • 不同分支打包到不同的应用
  • 同一套代码打包不同的应用

1、在pch中创建配置的不同版本app信息,通过if判断不同版本区别:

#pragma mark 版本1
#if FACE_MODE == 0
#define BaseUrl @"https://XXXXXX"
#define ScreenType @"Horizontal"     // 横屏

#pragma mark 版本2
#elif FACE_MODE == 1
//生产环境
#define BaseUrl @"https://XXXXXX"
#define ScreenType @"Vertical"    // 竖屏

#endif

2、在项目target中,以一个target为主体,复制一个target,会在target中得到一个XXX copy复制的target,在根目录得到一个FaceDemo copy-Info.plistplist文件,可以将plist文件移动到合适的目录下。

截屏2022-05-29 下午1.53.02.png

3、需要修改的配置信息:

target -> General 中修改,eg:

1653804210647.jpg

target -> Build Settings 中修改,eg:

Apple Clang - preprocessing中添加pch中FACE_MODE,以区分不同版本

截屏2022-05-29 下午2.10.26.png

修改对应的info.plist 文件路径、pch文件路径

4、在Mange Schemes中找到对应的XXX copyscheme,

截屏2022-05-29 下午2.15.39.png

中间间隔1s,连续两次点击可修改scheme名称


截屏2022-05-29 下午2.20.47.png

编辑scheme,-移除默认target,点击+选择新添加的target

1653805565910.jpg

如果targets 中选择两个的话,打包会报错:


截屏2022-05-13 下午6.11.37.png

截屏2022-05-13 下午6.12.21.png

截屏2022-05-13 下午6.13.33.png

所以保证scheme中只有一个target

你可能感兴趣的:(iOS 多targets打包)