iOS 多Target, Other link Flag

 在创建多个马甲包或者多个App间只有很小的差异是使用多Target是一种很好的方法

https://www.jianshu.com/p/18db54655246

1:选中原始的Target, 点击右键选中Duplicate,之后会生成一个Target Copy。

2:更改Copy出来的Target的名字为需要的名字

3:更改Scheme为对应的名字。 选中 Manage Schemes 更改对应的名称。

4:点击close。初步完成。

5:更改info.plist 的名字,最好将所有的info.plist 放在一起方便管理。更改info.plist为正确的路径。

6:设置Macro,由于swift中没有宏,所以要设置标志物 Other Swift Flags 即 ‘-D+Name’

  swift添加标志位要加‘-D+Name’

1         //swift 中标志位的使用
2         #if APPTYPE1
3         print("哇哈哈");
4         #elseif APPTYPE0
5         print("冰激凌");
6         #else
7         print("未知的");
8         #endif
1         // OC 中宏
2         #if APPTYPE == 0
3         NSLog("哇哈哈");
4         #else
5         NSLog("冰激凌");
6         #endif

二: Other linker Flags

1  -Objc:告诉链接器将库中的所有Objective-C和Category类都加载进来(命名不重复的类)。缺点,会将没有用到的类也加载进来,导致App变大,同事如果只有  Category类,-Objc不起作用

2 -all_load:强制将所有的类都加载进来,可以解决只有Category类的问题。但是静态库中命名重复的类会被重复导入出现问题。

3 -force_load:类似all_load,可以指定完全加载某个静态库,而不影响其他的库。

 

posted @   jisa  阅读(800)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示