当我们开发完app后,需要将ipaapk提交给测试人员测试,然后才能上线。下面就来看一下如何打包ipa文件,并上传托管平台。 做过ios开发的同鞋都知道,ios为开发者提供了描述文件有2类,有说是3种(说的是iOSApp):在Development类下就一种,用于真机调试Debug模式的描述文件;然而在Distribution类下,有2种描述文件。正常情况下,我们会使用AppStoreCreateadistributionprovisioningprofiletosubmityourapptotheAppStore,来上传包文件到应用市场。另一种是用AdHocCreateadistributionprovisioningprofiletoinstallyourapponalimitednumberofregistereddevices。看意思就很清楚,前者用于提交你的APP到APPstore时使用,而后者用于安装你的应用到有限数量的已注册的设备上。而本文要讲的就是第二种了。 AdHoc打包 1、创建描述文件 首先,你要是一个开发者,并且有相关证书,然后就可以创建一个AdHoc的描述文件了。然后按照下面的步骤依次选择选择ProvisioningProfilesAll点击号。 选择想要安装的测试设备: 然后取个名字,以示区分。 然后下载描述文件。 找到下载文件,双击安装到Xcode,双击时看到闪一下就说明安装成功了。如果Xcode是打开的,界面会跳转到Xcode界面。 2、证书签名 在Xcode7之前,真机调试和打包ipa是必须要签名的,但是Xcode7之后,真机调试不需要签名了。但是如果要在其他的机子上安装还是要打签名包的。签名打包就是在编译的过程中加入证书签名,那肯定是需要去Xcode中配置的,目前网上有方法能实现企业级证书打包签名不需要在编译时,而在编译之后。因此现在打包有两种方式:a、在Xcode中配置codesign,实现签名打包ipa。适用于企业级账号证书、个人账号证书。 在BuildSetting下,在codesigning里,CodesigningIdentity依然按照Debug时使用开发证书,Release时使用发布证书;对于描述文件,ProvisioningProfile按照Debug时使用开发证书生成的描述文件,而Release使用发布证书生成的描述文件,只是当你选择Distribution时,一定要选测AdHoc。 当然,Xcode9是可以选择自动配置描述文件的。 b、第二种方式是,在Xcode中无证书打包ipa,使用他人的账号签名ipa。 证书我们这边可以借助辅助工具appuploader Appuploader可以辅助在Windows、linux或mac系统直接申请iOS证书p12,及上传ipa到AppStore,最方便在Windows开发上架没有苹果Mac电脑的开发者!配合本教程使用,可以快速掌握如何真机测试及上架! 点击苹果证书按钮 点击新增 输入证书密码,名称 这个密码不是账号密码,而是一个保护证书的密码,是p12文件的密码,此密码设置后没有其他地方可以找到,忘记了只能删除证书重新制作,所以请务必记住密码。还有为了安全起见,密码不要太简单。证书名称是你为了在证书列表里面便于区别的一个字符,自己好辨识就可以,尽量是是字母和数字之类 选择证书类型 带distribution的是发布类型,带development的是开发类型。 apple类型iosmac,所以开发时选择iosappdevelopment和appledevelopment类型都是可以的 选择bundleid 只有部分类型的证书需要选择bundleid,例如推送证书。因为大部分证书是不和app关联的。而是通过描述文件profile文件关联app。使用appuploader同步服务 如果期望制作好证书后在其他电脑上同样可以下载到这个证书,或者和你同事同步此证书,则需要勾选使用appuploader服务同步。否则您需要手动管理p12文件在不同电脑之间的传输,并且一但创建下载后,无法在其他电脑下载,只能手动复制文件过去。一般情况下,推荐使用appuploader服务同步。 证书类型说明 IOS开发选择appledevelopment或者iosappdevelopment类型ios发布选择appledistribution或者iosdistribution(appstoreandadhoc)开发推送证书选择applepushnotificationservicessl(sandbox)发布推送证书选择applepushnotificationservicessl(sandboxproduction) 其他证书不是很常用,可以自行百度各种证书说明 3。打Xcode证书签名打包 设置有效的Archive配置,如下图所示,这里面一定要选择复制Release。 然后取个名字ADHoc。 这里选择刚才复制Release的AdHoc,当然你也可以不做第1步,这里直接选择Release也是可以的,添加AdHoc纯粹是为了区分,方便管理。 4、Archive打包 打包之前我们要将编译设备,设置成iOSDevice。选择GenericiosDevice,如果选择其他模拟器是不能Archive的,你会发现他是灰的。 先编译下commandB,没错的话执行Archive打包。 这时候选择saveforAdHoc,上传到appStore。 成功后,选择你想安装的设备上,前提是这些设备已经注册了,如果没有设备的话,请去注册。 然后导出到桌面。