CSDN联通将持续为您精选联通开发精华,共同解读联通开发技术热点,包括联通应用、开发工具、手游及引擎、智能硬件、物联网等方面. 如果您想投稿,参与内容翻译工作,或寻求密切报道,请发送邮件至tangxy#csdn.net(请将#改为@)。
一个开发者在历经挫折、披荆斩棘完成一个iOS项目之后,最后一步就是应用的公测和部署。 那么,在这个最后的传球动作中,有没有开发者需要注意的地方呢? 有什么办法可以更好的帮助我们发布和部署iOS应用吗?
本文主要针对iOS App开发的最后阶段,讲解如何在真机上调试,将App发送给其他测试人员进行公测,以及公测完成后如何将App上传到AppStore进行初审。 . 打包和崩溃收集以进行深入分析。
苹果账户的类型
Apple Developer Program 分为四种类型:个人、公司、企业和教育开发者。 个人开发者证书的费用为每年 99 美元,账户只能在 AppStore 卖家中显示个人 ID。 而且,一个个人账号只能有一个开发者,以及100台苹果iOS设备的UDID测试。
公司开发者费用为每年99美元,账号可以像Studios一样在AppStore中展示,或者自定义团队名称。 公司账号可以让多个开发者协作开发,拥有比个人更多的账号管理设置。 可设置多个AppleID,4个管理级别,100个Apple iOS设备UDID测试。 另外申请时必须填写公司的邓白氏代码(DUNS),DUNS邓白氏代码可以在苹果官网免费申请。
企业开发者账户的费用是每年 299 美元。 该账号开发的应用不能发布到AppStore,只能在企业内部使用。 Apple 的 iOS 设备的 UDID 数量没有限制。 适用于不想在AppStore上线,需要在企业内部部署的企业账号,例如1000人的iOS设备。
需要特别注意的是,其他渠道提供的所谓企业证书,实际上是与他人共享一份企业证书。 Apple 会检测到这些情况并加以禁止。 封禁后,已经使用该证书安装的应用将很难继续使用。
申请这类开发者账号需要一个重要条件,那就是要有一张支持Visa或者MasterCard的信用卡。
真机调试
使用真机调试需要使用开发者证书,正确填写AppID,配置ProvisionProfile。 具体过程如下:
安装调试证书; 填写AppID; 根据AppID填写ProvisionProfile,下载安装到Xcode; 在真机上调试运行。 如何申请开发者证书?
需要以下步骤:
1.索取CSR文件
2.创建调试证书
3.双击安装
可以看到我们刚刚安装的证书在keychain里面,两边都有一个三角形。 单击以展开以查看证书公钥。 如果没有公钥,则证书不可用。 通常这些情况是你从开发者网站下载了在另一台 Mac 上制作的证书,你可以从这台 Mac 导入证书并安装到你的笔记本电脑上。
创建AppID
1.填写AppIDName
2. 如果支持push、GameCenter等功能,则无法创建一个富含key-value*的AppID,所以这里我们选择ExplicitAppID。
3. 检查所需的服务,然后继续。
添加设备
1.填写设备名称和设备UDID
2.注册
注意:最多可以添加 100 个设备。 创建配置文件
1.选择AppID
2.选择证书
3.选择设备(只有Development和AdHoc需要选择设备)
4.填写ProfileName
5.点击Download下载,双击安装到Xcode。
XCode打包
配置
默认的 Configurations 包含两个配置:Debug 和 Release。 可以看到BuildSetting中的很多配置区分了Debug和Release,可以根据不同的情况配置不同的选项。 发布选择适当的证书和配置文件。
个人认为Xcode现在不需要在DuplicateRelease配置中配置AppStore、Adhoc或者其他配置,因为不会方便多少,只是省去了证书的选择,Archive选项还得设置。
一般来说,Adhoc、AppStore\Inhouse,都是用同一个证书,只是profile不同而已。 只需选择配置文件,是不是更简单?
指令系统
先说一下iOS设备的指令集:
arm64
armv7s
armv7
armv6
如上图所示,Architectures支持的指令集有armv7和arm64,ValidArchitectures支持的指令集有armv7、armv7s、arm64。 此时只会生成一个armv7和arm64指令集的二补码包。
注意:许多用户可能会发现他们的应用程序无法安装。 这个时候你可以看看你的应用支持的指令集。 我遇到过几个指令集只支持arm64的用户。 当设备不是 arm64 时,此类应用程序不可用。 无法安装。 代码签名
上图中,CodeSigningIdentity包括Debug和Release。 其中Debug是指选择真机调试证书,Release是指选择发布证书(AdHoc、AppStore/Inhouse打包都使用发布证书)。 在ProvisioningProfile中,无论是真机调试还是app发布,选择的Profile的AppID都必须和project工程的BundleId匹配。
注意:Release of ProvisioningProfile这里选择的Profile不一定是前面说的签名ipa使用的Profile。 进口ipa
导入ipa首先需要选择ipa版本,导入AppStore/AdHoc/企业版ipa,然后点击下一步。 如果Xcode没有登录企业开发者账号,当你选择导入企业版ipa时,会提示你将企业开发者账号添加到xcode中。
选择证书
这里是项目中选择的上述证书和配置文件可能不会用于签名。 这里的关键是这里会显示已经添加到Xcode的开发者账号对应的证书列表,可以选择签名的证书。 如果与项目设置的证书相同,但Profile匹配,则根据项目配置的证书和Profile进行签名导入。 如果与项目中配置的证书不一致,则会根据选择的证书手动查找匹配的Profile,对ipa进行签名导入。
这里会显示导入的ipa使用了哪个证书和Profile签名。 Profile对面的箭头是不选择Profile怎么通过itunes安装本地软件,Finder中会显示当前的Profile。 所以在导入的最后一步,尝试确认签名的证书和Profile是否是自己指定的。
公开测试版分发 ipa 文件
在公测中向测试人员分发 ipa 文件的方式主要有以下三种:
使用iTunes将iPa同步到手机; 使用 itms-services contract 进行下载和分发; 使用第三方工具进行下载和分发。
请注意怎么通过itunes安装本地软件,无论采用哪种分发方式,公测人数限制和应用UDID限制仍然存在。 如果想减少测试人员,开发者还是需要将UDID写入ProvisionProfile,重新生成ipa文件进行分发。
使用 iTunes 进行公开测试版分发
使用 iTunes 进行分发很麻烦。 测试用户需要用数据线连接装有iTunes的笔记本,先将ipa文件添加到iTunes,然后将iTunes的App同步到手机。 由于国外用户对iTunes不是很熟悉,所以不建议大家使用这些方式进行公测分发。
使用 itms-services 合约进行下载分发
与iTunes的分发方式相比,使用itms-service分发的最大优势在于测试用户无需使用数据线,只需打开Safari访问包含itms-service链接的页面,点击链接即可下载IPA 文件。
itms-services的原理是itms-services指向一个plist文件,这个plist文件包含ipa文件的下载地址,iOS设备上的Safari会手动下载安装plist指定的ipa文件到当地的。
itms-services的麻烦在于需要开发者自己搭建服务器,然后苹果在iOS7.1之后安装了ipa,写入ipa地址的plist文件的存储地址必须是https地址。
itms的结构参考如下:
安装IOS BetaV1.0
plist的结构参考如下:
items assets kind software-package url kind display-image needs-shine 0 url kind full-size-image needs-shine url metadata bundle-identifier im.fir bundle-version kind software title
我们可以看到,虽然方便了用户,但是开发者需要写很多东西,还要搭建服务器,openSSL等等,比较麻烦。
使用第三方工具进行公测分发
为了避免开发者使用itms-services带来额外的工作量,可以使用第三方工具快速分发ipa进行公测。
本文编译自:【技术公开课】iOSApp开发最后冲刺:公测与部署(点击链接观看视频),讲座PPT>>下载地址。
关于作者:
90后开发者季成,入行6年,曾担任fir.im工程师。 他喜欢折腾和编程。 毕业于上海邮电学院,负责上海联通多个项目的开发和维护。
预测:2015中国联通开发者大会(MDCC2015)将于10月15-16日在广州新湖南皇冠假日酒店举行。 大会将有五个专题技术专场:平台与技术iOS、平台与技术Android、产品与设计、游戏开发、企业连接。 据悉,该大会是国外首个举办权威且有影响力的物联网技术大会,设有硬件开发技术和虚拟现实两个专场。 会议将汇聚国外最强大的产品技术团队,与开发者一起进行前沿的阐述与交流。
了解中国联通发展的最新资讯和技术,请关注联通微信公众号(ID:mobilehub)。