前几天项目要通过fir(http://fir.im 一个免费的应用发布平台)用作给测试团队装机。于是点开它,直接找到帮助中心开始一步步照做,中间碰到不少坑,(还有万恶的苹果官网登陆不上!!!)网上的资料也不是太多,白白浪费了许多时间(害我加班😠),所以记下来分享出来给大家,希望能对你有所帮助。
首先要确定你们使用平台的需求,我这里有蒲公英(fir同类型网站)对于应用分享需求的介绍
如果只是小范围的几个人来安装,使用Ad-hoc方式,去一个个添加UDID就好了,好处是使用你自己的免费证书也可以申请。
如果是想做线下推广,没办法及时获取添加目标UDID的话,最好还是要使用In-house方式,不过装机数量苹果好像还是有一定限制,这个具体政策不太清楚。
我的目的是给测试团队装机,所以选择Ad-hoc方式做。
简化下来一共需要三大步
1 . 在你的Apple Developer 页面的Devices中添加目标的(于我就是“测试团队”)苹果手机UDID。(关于UDID的获取看这里 http://fir.im/udid 这个网址使用苹果手机的Safari浏览器访问)
在这里点击“+”输入用户的UDID(name是你自己定的,建议起个和此UDID手机拥有者相关的名字,后面会用到),点击下方的注册,会跳转确认注册页面
确认账号无误后可以点击下方的确定,目标UDID就乖乖加入到你的Devices列表中了😊。
注意:这里就会有一个坑,我导入的第一个UDID出现这种情况
你会发现这个缺少了Model:这一项,目前我没有发现是因为什么(隐约赶脚是因为录入这个UDID时,网络或者苹果官网之类的问题😊)。这种账号是无法添加进描述文件的,添加进去也无法识别和使用。
还有一种情况是你添加了目标UDID,在Devices列表中找不到,再次注册该UDID又会提示它不是有效的,多次尝试无果也只好作罢。
2 . 在Distribution中添加一个用于测试的描述文件,并在此步骤中添加目标手机到描述文件中。
在此点击“+”,添加一个新的描述文件。
选择你需要的方式,我的是Ad-hoc
然后是选择自己项目
选择开发者(或团队)
选择你要添加的目标UDID(此时使用的是你创建Device时的名字)
给你的描述文件命名(项目中添加Provisioning Profile时使用这个名字)
creat之后点击下载,描述文件就会下载到电脑。
这里倒是没有什么坑,就是苹果官网如果访问起来困难,部分页面会不显示你已有的一些资料,会提示要你新建一个项目。如果你确定自己有项目的话,刷新一下就好了。
3 . 将描述文件添加到Xcode,然后在项目中选择相应的打包选项,生成.ipa文件。然后大功告成,将其上传到fir平台后点击“预览”会自动生成一个带有二维码的网址。(需要使用iphone自带的safari浏览器访问该链接)
现在可以关掉万恶的苹果官网,来到桌面上,建议先彻底关闭Xcode,然后双击一下你下载下来的描述文件,Xcode会自动打开,此时描述文件就已经添加好了。
在 Xcode 中点击project图标,在info这个tab下找到configuration设置,里面默认的是debug和release。点击+,选择Duplicate the “Release configuration”,给生成的新东西起个名字,推荐使用ad hoc distribution
点击targets图标,在build settings这个tab下,找到code signing部分。将Code Signing Identity中的ad hoc distribution证书设置为刚刚导入到 Xcode 中对应测试应用的证书。注意不要改动Debug和Release中的证书。
在下方的Provisioning Profile中选择你下载下来的描述文件。
保证target中info这个tab下的bundle indentifier里面有预设值,其必须和provision portal输入匹配。这个很重要,否则将来会出错。
在Xcode左上角run按钮右侧有一个下拉菜单,选择device或者simulator,点击菜单下方的edit schema。保证Archive中Build Configuration中的值是ad hoc distribution
配置工作到此结束。点击Product中的Archive,程序开始编译,编译完成后弹出设置框,点选"Export" 然后选"Save for Ad Hoc Develoyment"
按操作提示就会生成一个.ipa文件。此.ipa可以被安装到之前设置的测试应用设备中。
然后创建一个fir账号,在其上发布就好了。
本文借鉴于http://blog.csdn.net/yuanbohx/article/details/9213879
该博客6楼指出其在文章中的错误,实测6楼所说是正确的。