一套代码打包多个App

公司有个需求:把已经做好的一个App,打包成另外两个App。要求可以独立安装,正常运行。这三个App大部分功能一致,在个别地方需要修改,比如图标、启动动画、App名称以及交互服务器IP地址等等。

实现方法:添加多个Target。

完成后的项目截图:

1、添加Target。

添加Target,就是新建一个项目。只不过这个项目不是独立的。

玩抽,Finder中的文件目录结构:

2、在新Target中添加编译文件和编译资源

在新Target的Build Phases中添加需要的代码文件和其他资源文件:

创建新的Target系统会自动添加一些基本的资源文件(1)。我们需要把它从编译文件列表(2)和编译资源列表(3)中删除,然后添加我们需要的文件。

如果新Target跟原来的Target没什么区别,可以参考GSLearning的Build Phases资源文件列表。

如果新Target需要定制功能,那么就要在编译列表中添加新模块了。

3、使用了Cocoapods管理第三方库,需要编辑Profile,然后pod install

现在做的项目都比较大,第三方类库是必不可少的。而CocoaPods是管理第三方库的利器。

编辑后,重新pod install,你的新Target就和CocoaPods联系上了。

4、在新Target的General中设置基本配置,然后run

如果中间没有出错,那么你离成功只差一步。

配置基本属性:

选择新Target,运行:

如果你的新App没跑起来,问题可能出现在这些地方:

1.少添加或错误添加了编译文件和编译资源文件;

2.CocoaPods导入三方库有问题;

3.新Target的Info.plist文件需要添加新内容,如:允许访问http等等;

4.等等。

5、给新Target配置AppIcon和LaunchImage

如果你的App已经没问题,接下来就需要配置ICON和LaunchImage。

在原来项目的Assets.xcassets(这也是新Target的资源文件夹)中添加ICON和LaunchImage(要注意名称:AppIcon-1)。

在General中设置

6、如果需要定制代码,在Build Settings中设置宏定义

新的Target不可能与原App完全一样。比如服务器IP地址,需要在代码中根据不同的Target设置不同的IP。

1)在Build Settings设置宏定义

ISXGPRO就是我们定义的宏定义。

2)在代码中使用

7、完成。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。