IOS开发流程(备注:整理于2014年6月10日)
本文整理于2014年6月10日。如果发现纰漏,请留言。谢谢。
一、硬件设施
1、电脑(开发用):
苹果电脑(iMac,MacBook Air等)。也可以用黑苹果(安装黑苹果比较麻烦,且开发测试时有可能不定期出现不确定问题)。
2、苹果移动设备(真机测试用):
包括iPhone系列(iPhone5s,iPhone5,iPhone4s等),iPod iTouch系列(iPod iTouch5,iPod iTouch4等),iPad系列(iPad,iPadAir,iPadMini等)。
二、软件工具
1、IOS SDK集成开发环境-Xcode:
下载地址:http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12。
三、注册开发者账号
1、下载iTunes:
下载地址:http://www.apple.com/itunes/download/
2、注册Apple ID:
进入苹果主页面(https://developer.apple.com/)
https://developer.apple.com/iOS Developer Program(开发移动设备,开发其他点其他的)
点击Enroll Now
点击Continue
如果之前没有注册Apple ID,则可以选择第二项,同时注册一个AppleID,这里选择第二项注册Apple ID进行注册
选择同意框,然后点击Agree进入下一页面.
填写完后点击Register登录即可.
左边为个人账号,右边为企业账号,我们选企业账号,点击Company。
如实填写即可:
1.First Name为名,Last Name为姓.
2.Title是指资料人在企业的职称
3.Phone最好是填写法人的手机号,Country Code填写86,Ext可不填.
4.Email是填写法人邮箱
点击continue后进入如下页面:
如实填写即可(里面的资料都是填写企业的):
1.Organization Type:为公司类型,假如不为政府机构,都选择company
2.Legal Entity Name:公司名称,必须是英文
3.Website:公司网址
4.Work Email:公司邮箱
5.Headquarters Phone:公司电话号码
6.MDM假如公司不为MDM提供商,都选择NO
7.D-U-N-S Number:邓白氏编码:
DUNS(邓白氏编码)比较麻烦,需要申请(特别强调:这个是美国DB公司提供的D-U-N-S号,是不收费的,而中国华夏DB客服解释说在国内注册公司是要收费的,国外的公司是不收费的,所以我觉得完全没有必要找华夏DB。而且美国苹果客服给我们说的DB公司,是美国的DB,不是国内的所以他们一直强调说是不收费的,不明白为什么中国的Developer会说收费,其实这里已经很清楚了。)
点击Check Now进入申请公司邓白氏编码的页面:
select Country:选择企业注册国家.
Legal Entity Name:公司名称
Tradestyle or DBA:没有一般不填写
Street Address, City/Town, State/Province, Postal Code, Phone Number为公司的详细地址,所属地邮政编码以及电话号码.
Mailing address of your company/organization一般都会选择Same as headquarters address.
Your work contact information:填写项目负责人的信息,如实填写即可,当你填写完资料时,邓白氏编码官方会打电话到项目负责人去核实信息.
填写完资料点击提交即可,过两天左右,邓白氏编码官方会打电话给项目负责人去审核信息.当审核通过后,会收到一封邮件,里面有邓白氏编码,虽然里面写14天后才能使用,实际上是可以立即使用的(反正我试了3次都是可行的).将邓白氏编码记下来,然后填写到之前页面的相应位置.
填写完邓白氏编码后,点击continue,进入下一个页面,这里就属于等待期,在2-3天,苹果官方会打电话给企业法人去核实资料(由于企业法人不一定会在公司,因此在填写企业法人资料的电话号码最好是填写手机号码),一般主要是问你开通企业开发者账号主要是用来干嘛的?这里最好是说提供企业内部使用.当信息核实后,则到了填写支付的信用卡资料的流程.
信用卡信息较为简单,按照信用卡的真实信息填写即可,主要是填写信用卡类型,信用卡号码.持卡人名称,信用卡到期时间,详细地址,邮政编码,手机号码.当填写完成核实信息正确后,提交信息,这里则需要等扣钱则完成整个流程.
注:一般邓白氏编码官方打电话给项目负责人核实公司信息以及苹果官方打电话给企业法人核实信息都是在2-3天内,假如超过3天还没打电话过来,那你则需要打电话给苹果官方,咨询客服了.4006701855
四、真机测试
真机调试,首先要有苹果官网注册的Apple ID,以及购买iPhone Develop Program(iDP)开发者授权,99美元或者企业账户299美元。
1、创建证书请求CSR:
打开Mac OS电脑中应用程序,在实用工具中找到钥匙串访问(Keychain Access)工具打开主菜单–证书助理(Certificate Assistant) –从证书代理请求证书(Request a Certificate From a Certificate Authority) –输入IDP注册时的eMail,用户名自定义,选择“存储到磁盘”, 选择“继续”–保存“CertificateSigningRequest.certSigningRequest”文件到桌面。
2、在苹果开发者会员中心提交证书请求:
到首页https://developer.apple.com/,点击会员中心(Member Center)
登录iDP
点击Certificates,Identifiers & Profiles选项
Name,证书名称;Type,证书类型;Expires,证书到期时间。其中已经有三个证书,最上方第一个为公司发布证书,第二个为测试证书,第三个为APNs服务器证书(苹果后台推送证书)。
点击上方“+”,增加证书
Development和Production项。Development中为开发测试证书,Production中为产品发布证书。iOS App Development为App开发和真机调试证书,Apple Push Notification serviceSSL(Sandbox)为推送测试证书,In-House and Ad Hoc为企业内部发布证书(企业账户只能内部发布,不能上App store),Apple Push Notification serviceSSL(Production)为推送发布证书,Pass Type ID Certificate与Website Push ID Certificate不常用,也没有用过,不知道做什么的。
我们点击iOS App Development项,然后点击Continue
继续Continue
点击Choose File,选中上一步得到的CertificateSigningRequest.certSigningRequest
继续Continue
点击Download
双击安装,在钥匙串中显示
选中的那个就是我们刚刚申请的。
3、注册设备
真机调试时,需要添加该设备的udid(相当于电脑的MAC地址,每台一个不会重复,是唯一标识)。发布App不需要udid。
打开XCode,在window菜单下点击Organizer,出现
前提是连上设备,有绿灯亮,表示连接正常,能够使用。复制“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”(UDID)。
打开网页,找到
点“+”
Name自己定义名称,粘贴UDID,点击continue,添加成功
4、生成APP ID:
创建应用程序,需要指定程序的ID。在iDP网站上创建一个APPID,这个ID可以是针对一个程序也可以针对多个程序。假设现有一个程序Testgame,可以指定它的ID为com.Thinkrace.Testgame或者是com.Thinkrace.*。在站点上创建好,对于com.Thinkrace.*可以适合所有的程序。还有很重要一点要注意的是,这个ID对应的是你的程序target General里的Bundle identifier,不是你程序本身的名字。
添加AppID,如下页面
点“+”
App ID Description,AppID描述,就是APPID自定义名称。
Explicit App ID为显示ID,当程序需要唯一App ID时用这个。如com.NSTC.Testgame
Wildcard App ID为通配符ID,能够匹配多个应用程序。如com.NSTC.*
App Services为该App支持的服务,或者说需要的服务。
点击Continue
选中的即为我们新创建的App ID。
5、生成Provisioning Profiles
一个Provisioning Profile文件包含了上述的所有内容:证书、App ID、设备。
如果我们要打包或者在真机上运行一个应用程序,我们首先需要证书来进行签名,用来标识这个应用程序是合法的、安全的、完整的等等;然后需要指明它的App ID,并且验证Bundle ID是否与其一致;再次,如果是真机调试,需要确认这台设备能否用来运行程序。而Provisioning Profile就把这些信息全部打包在一起,方便我们在调试和发布程序打包时使用,这样我们只要在不同的情况下选择不同的profile文件就可以了。而且这个Provisioning Profile文件会在打包时嵌入.ipa的包里。
找到页面
点“+”
与证书一样,Provisioning Profile也分为Development(开发测试)和Distribution(发布)两种。In House与Ad Hoc的不同之处在于:In House没有设备数量限制,而AdHoc是用来测试用的,Ad Hoc的包只能运行在该账户内已登记的可用设备上,显然是有最多100个设备的数量限制。所以这两种Provisioning Profile文件的区别就在于其中的设备限制不一样而已,而他们所使用的Certificate是相同的。
点击Continue
选择App ID,选中我们新创建的App ID。
选择证书,包含在这个配置概要文件。选择第二个
选择设备,我们全选
自定义配置文件名称
下载
双击即可安装。
6、建项目,测试
新建项目
修改Bundle ID与App ID一致。
在图中位置选择刚才生成的证书。
此时,需要做的工作全部完成了,可以真机调试了。调试时选择设备。
7、打包成ipa
本项目菜单Product,选择Archive
点击Distribute
选项一为发布App store,第二项为企业内部发布使用。我们选择第二项
选择打包需要的配置文件
文件可以在设备上直接安装使用,当然该设备必须是在文件中注册过的。
五、总结
开发/真机调试流程
根据上面的介绍,可以知道进行Development主要有以下几个步骤:
1.申请证书
2.加入设备
3.生成Provisioning Profile
4.设置Xcode Code Sign Identifer
事实上第三步通常是不需要的,因为我们通常都是用Xcode生成和管理的iOS Team Provisioning Profile来进行开发,因为它非常方便,所以不需要自己手动生成Provisioning Profile。
iOS Team Provisioning Profile是第一次使用Xcode添加设备时,Xcode自动生成的,它包含了Xcode生成的一个Wildcard App ID(*,匹配所有应用程序),账户里面所有的Devices和所有Development Certificates,如下图所示。因此,team中的所有成员都可以使用这个iOS Team Provisioning Profile在team中的所有设备上调试所有的应用程序。并且当有新设备添加进来时,Xcode会更新这个文件。
发布流程
网上有很多关于发布App Store的流程,不管是App Store、In-House还是Ad-Hoc,打包流程都是差不多的,都包括了以下几个关键步骤:
1.创建发布证书
2.创建App ID
3.创建对应的Provisioning Profile文件
4.设备Bundle ID和AppID一致
5.设置Xcode Code Sign Identifer,选择合适的Profile和证书进行签名,打包