在iOS系统开发过程中,常常会遇到多个项目会有相同 ,或相差不大的功能,界面,逻辑等功能.

主要操作:共用文件时,用宏区!但有些文件就共用就不方便,如Info.plist文件。不共用文件,就设置选择属于自己的Target
文件,就设置选择属于自己的Target

Target

OC与Swift 添加宏定义区别用在哪个app 在有一个坑 (用法,如上图中的AppType1,AppType2)

在Swift 中,添加标记变量的地方在Build setting 中的 Other Swift Flags 中

添加 -DAppType1 或者-DAppType2 (-D要添加的,在使用时时,只用AppType1)

在OC中,添加标记变量的地方在Build setting 中的 Preprocessor Macros 中

在debug 和realese 中都要添加

添加变量为AppType=1 或者 Apptype=2 (注意在”=”左右两边,不能用空格)

*补坑:
Macros / Other Swift Flags添加“宏”(OC是宏 Swift是标志)。如果你的项目是混编,在OC文件中要用到Swift中的类等时,需要在oc文件上导入”工程名” -Swift.h 文件。而这个oc文件中区分Target时 就要根据macros,所以需要给相应的Target添加Macros从而区别Target
OC:

1
2
3
4
5
6
7
8
#if APPTYPE == 0	               		
//相应操作
#elif APPTYPE == 1
//相应操作
#else
//相应操作
#endif

Swift:

1
2
3
4
5
6
7
8
#if APPTYPE1
print("APP1")
#elseif APPTYPE2
print("APP2")
#else
print("APP -- 其它")
#endif

更详细内容