正常情况,做好一个苹果的app,要想让大众用户下载安装使用,都是上传到app store,用户登录app store找到你开发的app下载安装使用
但是app能否成功出现在苹果的app store,还需要有一个时间段让苹果对你开发的app进行审核,如果审核有问题还要退回解决后重新上传,所以耗费周期有时很长。
现在问题出现,如果开发出app,先给周边的朋友、同事测试,假如这个人数有几十人到上百人,该如何办呢??
办法一:把每一台要安装app的ios设备的UDID号复制出来,加入到开发环境,编译好app后发给用户,让用户把ios设备连线到电脑,将收到的app拖到itunes,然后和ios设备同步安装。这些步骤在一个开发者看来再简单不过的操作,但是普通的用户就会说:太复杂,搞不定?
程序完成之后,可能经过内部测试,客户也需要体验下程序运行效果,但开发与客户有时不在同一城市,所以解决的办法是获得客户所用的iPhone的UUID,据此打包一个版本,发送给客户,这样客户也可以体验了。
步骤如下:
把客户的UDID加入到证书中,生成release版本,新建一个”palyload”文件夹,把生成的版本放到这个目录中,压缩变成了payload.zip,把后缀名改成payload.ipa,然后通过iTunes安装就可以了。
如果iPhone手机已经越狱,那连UDID也可以不需要了。
步骤如下:
把客户的UDID加入到证书中,生成release版本,新建一个”palyload”文件夹,把生成的版本放到这个目录中,压缩变成了payload.zip,把后缀名改成payload.ipa,然后通过iTunes安装就可以了。
如果iPhone手机已经越狱,那连UDID也可以不需要了。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
办法二:办法一不是太麻烦嘛!亮出第二招。
根据苹果发布的“
Distributing Enterprise Apps for iOS 4 Devices”说明文件,苹果在iOS4中新增了一项功能,就是无线发布iOS App(installing apps wirelessly)
,——用户不需要经过iTunes,只用在Safari中点击一个链接就可以下载并安装应用。
实现起来只需两步:
1.创建HTML页面
该页面用于发布App,我们可以在这个页面添加诸如软件介绍,更新说明等信息…当然核心代码是这个:
<a href="itms-services://?action=download-manifest&url=http://iinterest.net/
anifest.plist">Install App</a>当用户使用Safari浏览器浏览这个页面并点击该链接时,iOS设备会自动识别,返回HOME界面下载并安装该App,就和我们在iTunes中点击下载按钮的效果一致。
2.创建manifest.plist文件
manifest.plist用于记录App的一些重要信息如:下载url、软件图标url、软件名称等,关于anifest.plist完整例子可以在苹果的开发文档中找到(在最后)。当然,其实并不需要那么详尽的软件信息,这里给个更为精简的例子:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>
以上示例我也是借用这些大侠的劳动成果http://www.iinterest.net/2011/09/22/installing-apps-wirelessly-ipa/。办法二解决了用户侧的安装麻烦问题,但是开发者依然需要知道用户ios设备的UDID号,一百以内的还好管理,超过一百个UDID,管理起来就很麻烦,而且超过100个,开发者就要申请苹果的企业开发者账号了。
有没有不用UDID号,也能给上百台ios设备安装app的办法呢。当然是有地。且看办法三!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
办法三:你可要花大价钱了
其实办法三,还是使用办法二的无线发布iOS App(installing apps wirelessly)套路,只是开发者需要去申请苹果的EDP(Enterprise developers Program)也就是企业开发者账户,这个一年的费是299美刀。
申请EDP还有一个前置的任务,开发者先要申请一个邓氏全球编码(D-U-N-S® Number),这个编码的申请网址是http://www.dnbregistered.com.cn,是国内代理公司。费用分为三个类别:
- 标准版 8600/两年 貌似国内大多使用这个
- 实地考查版 15800/两年 代理商极力推荐这个
- VIP版 21000/两年
有了邓氏全球编码,又成功申请了企业开发者账户,就可以使用installing apps wirelessly方式,向你的用户提供app的安装和下载了,而且你根本不用知道用户的UDID的。
如果你想测试完,将正式版app发布到app store上去,我要告诉你这个不行。因为苹果规定企业开发者账户下发布的app,是无法上传到app store供用户下载的,这个账户只能供内部人员使用,所以如果你想做成收费app,还是老实申请99美刀开发者账户。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
办法四:testflight
使用TestFlight,甚至不需要有苹果开发者账户,就可以测试APP。
TestFlight提供了一个云端安装app的方案,可以大大降低目前iTunes同步的难度。
TestFlight能做比云端安装app多得多的事情,它的另一大功能是:你可以把测试用户分成不同的群体,分别提供不同版本的app,比如向公司同事提供一个版本,投资人则是另一个版本。它可以追踪各个群体的统计数据,还可以帮助开发者招募测试人员。当然,这些都得受苹果公司的限制(需要标识符)。
TestFlight一样可以用在iPad和iPod touch这些iOS设备上。对于想尝试一下的开发者它是免费的,同时也有一个还没有确定价格的企业版本。
他的基本工作原理是:
首先是采集用户信息:
测试用户在接收到开发者 (Developer) 的 TestFlight 邀请之后,用户只需拿自己的 iPhone 打开邀请中的链接,注册账号,注册硬件 ( Register Device ) ,TestFlight 会自动采集用户 iPhone 的 UDID 、iOS 版本、硬件版本,并发送给开发者。
然后开发者
将 IPA 上传到 TestFlight 网站,然后勾选合适的测试用户,点击确认,你就完事了。用户会马上收到TestFlight 的更新通知。然后,用户只需在她的 iPhone 上登录 TestFlight 网站, TestFlight 就会自动将测试 IPA 安装到她的 iPhone 上。
当然还可以
实时监测 IPA 的安装情况。担心有的用户没有成功安装? TestFlight 能够实时给你反馈最新统计数据。