1. 创建多个Target
- 目的:两个分支分别用于打正式包、测试包。其对应的部分配置项不同,比如对应证书不同
- 注意点:
- duplicate一个分支之后,Podfile记得update, 可定义抽象
abstract_target
,实际的target进行依赖继承。 post_install
工程配置的写法也会略有不同。- 默认duplicate的时候,会同时生成一个新的copy-info.plist,我的做法是删除,两个target共用一份info.plist,后续改动不需要改两处。
- 抽象类可参考文章:https://www.jianshu.com/p/8a0fd6150159
- duplicate一个分支之后,Podfile记得update, 可定义抽象
2. 更改工程名称/target名称
- 目的:工程起步时,工程/target名称可能起的会草率些,后面开始要与安卓同步,以及接入打包/crash解析等等各种配置时,需要更”规范”,可能会需要更改工程名称/target名称
- 按照这篇文章的流程改,基本没问题:https://blog.csdn.net/flg1554112450/article/details/78981441
3. AppIcon
- App icon的尺寸相当多
- 个人是用App icon gear直接产生,很方便。(当然也可以让UI产出资源)
- Mac应用,App Store下载
4. 启动图
- App icon是长宽1:1不受拉伸影响,启动图如果直接用App icon Gear,拉伸过后,效果较差
- 个人的启动图使用LaunchScreen.storyboard来实现的
5. 首次安装启动页面空白
6. Xcode Application Loader用apple id登陆一直提示
“Please sign in with an app-specific password. You can create one at appleid.apple.com”
- Apple ID更安全的适用第三方应用的一次性专用密码。
- 解决方案:Apple Id账户页面-Security-Generate Password
7. build报错-shell脚本找不到
- 解决:跟之前改动了创建多个Target有关,造成指定的文件路径改变导致。更改build phases里脚本的路径即可
8. archive报错:error: lipo: can’t write to output file:…(具体报错没记录下来)
- 我这边原来是Build Settings-Valid Architectures-armv7/armv7s/arm64,改为$(ARCHS_STANDARD),指当前Xcode支持的默认值,Xcode9是armv7 arm64。
- 参考问题:https://stackoverflow.com/questions/32949399/error-while-building-for-ios-from-unity-in-xcode-7
- 后来查到还有说是空间不够的问题:http://duxinfeng.com/2017/08/05/error-lipo-can-t-write-to-output-file/index.html
- Architecture&Valid Architecture知识补充:http://foggry.com/blog/2014/05/09/xcodeshe-zhi-xiang-zhi-architectureshe-valid-architectures/
- 看这部分时,会发现,Build Settings里面有两个参数。
Architectures(支持的指令集),Valid Architectures(指定可能支持的指令集),最终生成的二进制文件支持的指令集是两者交集。 - 支持多个指令集的二进制文件,也称为通用二进制文件。(这点在逆向当中可能涉及比较多)