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,可以指定完全加载某个静态库,而不影响其他的库。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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