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’
//swift 中标志位的使用
#if APPTYPE1
print("哇哈哈");
#elseif APPTYPE0
print("冰激凌");
#else
print("未知的");
#endif
// OC 中宏
#if APPTYPE == 0
NSLog("哇哈哈");
#else
NSLog("冰激凌");
#endif
二: Other linker Flags
1 -Objc:告诉链接器将库中的所有Objective-C和Category类都加载进来(命名不重复的类)。缺点,会将没有用到的类也加载进来,导致App变大,同事如果只有 Category类,-Objc不起作用
2 -all_load:强制将所有的类都加载进来,可以解决只有Category类的问题。但是静态库中命名重复的类会被重复导入出现问题。
3 -force_load:类似all_load,可以指定完全加载某个静态库,而不影响其他的库。
iOS 多Target, Other link Flag的更多相关文章
- ios多target开发
链接: ios开发时,在Xcode中添加多个targets进行版本控制 如何在iOS项目中创建多个target 多个Target的使用 iOS开发中如何创建多个target
- 【IOS】Target membership
Target membership是指XCode中,一个文件属于哪一个工程,在XCode左侧的工程面板中选中一个文件,在XCode右侧的属性面板中会显示其Target Membership,如下图. ...
- Cocos2d-x3.0 iOS 一键编译多个target并打包ipa。
1.编写app打包为ipa的 shell脚本.将以下代码保存为app2ipa.sh. #!/bin/sh m_appPath="" m_ipaPath="" m ...
- Write a makefile to compile *.c and link to executable target
https://wenku.baidu.com/view/b1ec946027d3240c8447ef9a.html GNU+make中文手册V3.8 <=========From Docs== ...
- ios 常见问题解决
一,libxml/HTMLparser.h file not find 第一种方法: 点击左边项目的根目录,再点击右边的Build Settings,手工输入文字:“Header search pat ...
- iOS各种问题处理
本文转载至:http://www.cnblogs.com/ygm900/category/436923.html 推荐初学者前去学习. mac 拷贝文件时报错 8060 解决方案 摘要: 解决 ...
- 百度地图ios环境配置
1 前言 由于工作需要,要开始捣腾百度地图了,今天上午初始牛刀,各种碰壁,无奈之下,中午睡了一觉,养精蓄锐,以备下午大战三百回合,所幸下午中午把百度地图Demo捣腾出来了,在此与大家分享,环境搭建教程 ...
- iOS开发之App间账号共享与SDK封装
上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SD ...
- ios页面过渡效果插件Kontext
效果体验:http://keleyi.com/keleyi/phtml/html5/28.htm 以下是代码: <!doctype html> <html> <head& ...
随机推荐
- 【转】VS2012 中文版转英文版 英文版转中文版 界面语言切换
[1]下载VS2012的语言包,各种语言包都有,下载对应的即可. 微软官网衔接地址:vs2012 语言包 http://www.microsoft.com/zh-CN/download/detail ...
- Nginx+Keepalived实现站点高可用[z]
http://segmentfault.com/a/1190000002881132
- 767A Snacktower
A. Snacktower time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- Java数据结构和算法(二)树的基本操作
Java数据结构和算法(二)树的基本操作 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 一.树的遍历 二叉树遍历分为:前序遍 ...
- 并发编程(五)LockSupport
并发编程(五)LockSupport LockSupport 提供 park() 和 unpark() 方法实现阻塞线程和解除线程阻塞,实现的阻塞和解除阻塞是基于"许可(permit)&qu ...
- 专2-第二课 Eclipse开发环境搭建
2.1下载Eclipse 2.2 安装C/C++版本的Eclipse 2.3 安装JDT插件开发Java程序 2.4 使用Eclipse开发驱动程序 既然安装了eclipse来进行驱动学习,那么我们就 ...
- part1:13-linux编译器GCC
Gcc特点 Gcc基本用法 1.gcc的概念 GCC(GNU Compiler Collection,GNU编译器套装),是一款由GNU开发的编程语言编译器.GCC原名为GNU C 语言编译器,因为它 ...
- java实现网站paypal支付功能并且异步修改订单的状态
java实现网站paypal支付功能并且异步修改订单的状态:步骤如下 第一步:去paypal的官网https://www.paypal.com注册一个个人账号,在创建沙箱测试账号时需要用到 第二步:p ...
- 20155218 2016-2017-2 《Java程序设计》第10周学习总结
20155218 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 一个IP地址可以对应多个域名,一个域名只能对应一个IP地址. 在网络通讯中,第一次主动发起 ...
- (网络流)ACM Computer Factory --POJ --3436
链接: http://poj.org/problem?id=3436 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82835#probl ...