很多拥有半年或者一年左右iOS开发工作经验的童鞋,平常在公司项目中对于基础的控件也能够随意把玩了,更有甚者还能自己封装及使用第三方库及一些提高效率的开发工具。慢慢地,可能会陷入一个误区:我有能力独立开发一个iOS App了。
其实我想告诉你的是:独立开发一个App并没有你想象的那么简单,很多时候影响开发的进度和效率往往不是开发的技术或技能不够,而是对于项目基础的配置方面的问题导致的。要是你对于自己足够自信,觉得项目配置也没什么难度,不要那么随意,以下的知识点你都掌握了吗?
注:以下内容不涉及到现实开发过程中所要实现的技术技能问题。
一、Bundle name、Bundle id、Bundle version设置
这几个属性的设置是基础之最,其设置的地方也比较集中,先说明下各自的含义
Bundle name : App的名字,用于显示在手机页面上logo下的文字,中文最多显示6个汉字
Bundle id : App的唯一标识,用于区分不同App,若两个App的Bundle id一样,则后者会将前者覆盖,其格式一般为com.companyName.xxx
Bundle version : App的版本号,这个分为两种,Bundle versions string, short:用于对外显示的版本号(其一般格式为x.y.z);Bundle version:用于内部开发显示的版本号(不对外,所以设置的形式比较随意)。
下面附上一张上面三个属性在项目中对应地方设置的截图:
二、App启动页和logo图片
有关这块我这边就不做过多的介绍了,基本就是根据框中所需要的图片尺寸,然后放入相应大小的尺寸图即可
三、处理器指令集知多少
要想支持不同位数的操作系统,就需要对项目设置相应的用于支持的arm指令集,Xcode中与指令集相关的设置选项在Build Settings 面板下的 Architectures:
这是我用Xcode 7.1.1创建的项目默认的指令集。
其中需要注意的是这几个选项:
Architecture : 指你想支持的指令集。
Valid architectures : 指即将编译的指令集。
Build Active Architecture Only : 指是否只编译当前适用的指令集。
而目前iOS的指令集有以下几种:
1、armv6,支持的机器iPhone,iPhone3,iPhone3G及对应的iTouch
2、armv7,支持的机器iPhone4,iPhone4S
3、armv7s,支持的机器iPhone5,iPhone5C
4、arm64/armv8,支持的机器:iPhone5S及以上设备
那么讲这个指令集有什么用呢???
这时候大苹果说话了:
2015年2月1日开始,任何新提交到App Store商店的iOS应用都必须支持64位,否则不予接受。
也就是说,如果你的app要想上架到App Store商店,则你得确保你的项目中指令集包含arm64指令;否则的话,你懂的~~
对于旧项目该如何设置指令集?在这里就不做过多解释了,具体可以参考这篇文章。
四、对于新系统的适配
相信大家都知道,苹果的操作系统每年都会更新一次,而且很稳定,更新新系统意味着旧版本API的“淘汰”及新版本API的出现,以及一些新特性对于项目中需要用到的配置问题,像前段时间iOS9系统刚出来,对于新版本的适配也是闹得沸沸扬扬的,所以对于开发者来说需要多关注行业动态,第一时间掌握这些信息以用于项目中,让我们项目能够“跟上时代潮流”。对于iOS9的具体适配问题及注意点我这边有篇文章,里面对于具体适配写的比较详细。
五、打包证书生成、配置及打包
要想上架到App Store,你必须得学会如何打包发布,打包发布的首要任务就是打包的证书制作(包括push证书制作和打包的签名文件制作),这里有关push证书制作过程可以参考我之前写过的一篇文章,里面讲的比较详细,可以参考下。
当然光有push证书是不够的,打包你还需要一个打包所需的配置文件,该文件也同样是在开发者中心生成的。具体生成过程可以参考这里。
另外你还需在项目中进行证书的设置,具体设置在Build Settings 中的Code Signing中,对于Debug和Release处选择相应的测试证书和打包证书即可。
具体操作也可参考这里。
注:本文将持续更新...如果读者对于以上事项有什么疑问可以提出,我会第一时间帮助解答😄,另外如果有什么错误地方或者还有什么没写到的欢迎提出,我会在文中感谢,大家互相学习,另外,本文主要是讲述一些平常开发中可能不太关注到但对于做一个App是必要的一些知识点,至于每个点不太明确的可以参考我给的链接地址,也可以留言。