在创建多个马甲包或者多个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的更多相关文章

  1. ios多target开发

    链接: ios开发时,在Xcode中添加多个targets进行版本控制 如何在iOS项目中创建多个target 多个Target的使用 iOS开发中如何创建多个target

  2. 【IOS】Target membership

    Target membership是指XCode中,一个文件属于哪一个工程,在XCode左侧的工程面板中选中一个文件,在XCode右侧的属性面板中会显示其Target Membership,如下图. ...

  3. Cocos2d-x3.0 iOS 一键编译多个target并打包ipa。

    1.编写app打包为ipa的 shell脚本.将以下代码保存为app2ipa.sh. #!/bin/sh m_appPath="" m_ipaPath="" m ...

  4. Write a makefile to compile *.c and link to executable target

    https://wenku.baidu.com/view/b1ec946027d3240c8447ef9a.html GNU+make中文手册V3.8 <=========From Docs== ...

  5. ios 常见问题解决

    一,libxml/HTMLparser.h file not find 第一种方法: 点击左边项目的根目录,再点击右边的Build Settings,手工输入文字:“Header search pat ...

  6. iOS各种问题处理

    本文转载至:http://www.cnblogs.com/ygm900/category/436923.html 推荐初学者前去学习.     mac 拷贝文件时报错 8060 解决方案 摘要: 解决 ...

  7. 百度地图ios环境配置

    1 前言 由于工作需要,要开始捣腾百度地图了,今天上午初始牛刀,各种碰壁,无奈之下,中午睡了一觉,养精蓄锐,以备下午大战三百回合,所幸下午中午把百度地图Demo捣腾出来了,在此与大家分享,环境搭建教程 ...

  8. iOS开发之App间账号共享与SDK封装

    上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SD ...

  9. ios页面过渡效果插件Kontext

    效果体验:http://keleyi.com/keleyi/phtml/html5/28.htm 以下是代码: <!doctype html> <html> <head& ...

随机推荐

  1. AssemblyVersion,AssemblyFileVersion解释以及获取

    简而言之,AssemblyVersion: 是程序集的版本,.NET的CLR用,用于标识出该dll的版本信息,用于定义强名称的版本号: AssemblyFileVersion: 为编译器生成的文件加入 ...

  2. winXP使用

    1.获得管理员权限 开机启动时按F8-->进入“安全模式”-->选择“Administrator”-->点击登录 2.Windows XP属于单用户多任务操作系统,Linux属于多用 ...

  3. POJ 1300.Door Man 欧拉通路

    Door Man Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2596   Accepted: 1046 Descript ...

  4. Mysql 查看表结构的命令

    创建数据库create database abc; 显示数据库 show databases; 使用数据库 use 数据库名; 直接打开数据库 mysql -h localhost -u root - ...

  5. thrift相关资源

    官网资料,具有各语言的例子 https://thrift.apache.org/tutorial/ https://thrift.apache.org/tutorial/py

  6. apicloud代码压缩和全局加密

    首先说代码压缩,因为没什么用,就先说它了.代码压缩后,apicloud里面的css和js文件里面的空格呀回车呀都去掉了,就是文件小了,所有代码显示为一行了.这些代码的变量没有重命名,我们知道jquer ...

  7. 2018.07.04 POJ 1265 Area(计算几何)

    Area Time Limit: 1000MS Memory Limit: 10000K Description Being well known for its highly innovative ...

  8. arduino 串口命令解析

    /* DS3231_test.pde Eric Ayars 4/11 Test/demo of read routines for a DS3231 RTC. Turn on the serial m ...

  9. ENVI数据格式

    选择一个或多个感兴趣的图层: 分类:目视解译.非监督分类 投影 哪里需要七参数,没有必要七参数吧?如果精度要求不高的话

  10. MFC 的SetWindowPos 用法

    转自于:http://hi.baidu.com/max_new/blog/item/e2bbe607b1f127c57b8947c0.html 许多软件,特别是占桌面面积不是很大的软件,通常都提供了一 ...