分享

ios app 未发布前进行大规模测试的一些思路及做法

 quasiceo 2014-11-04
分类: ios/osx开发 2014-02-21 14:25 1005人阅读 评论(0) 收藏 举报
正常情况,做好一个苹果的app,要想让大众用户下载安装使用,都是上传到app store,用户登录app store找到你开发的app下载安装使用。

  但是app能否成功出现在苹果的app store,还需要有一个时间段让苹果对你开发的app进行审核,如果审核有问题还要退回解决后重新上传,所以耗费周期有时很长。

  现在问题出现,如果开发出app,先给周边的朋友、同事测试,假如这个人数有几十人到上百人,该如何办呢??

  办法一:把每一台要安装app的ios设备的UDID号复制出来,加入到开发环境,编译好app后发给用户,让用户把ios设备连线到电脑,将收到的app拖到itunes,然后和ios设备同步安装。这些步骤在一个开发者看来再简单不过的操作,但是普通的用户就会说:太复杂,搞不定?
解决app在没有上传app <wbr>store前大规模安装测试问题的一些办法与思路

  办法二:办法一不是太麻烦嘛!亮出第二招。
  根据苹果发布的“Distributing Enterprise Apps for iOS 4 Devices”说明文件,苹果在iOS4中新增了一项功能,就是无线发布iOS App(installing apps wirelessly)——用户不需要经过iTunes,只用在Safari中点击一个链接就可以下载并安装应用。
解决app在没有上传app <wbr>store前大规模安装测试问题的一些办法与思路

实现起来只需两步:
  1.创建HTML页面
  该页面用于发布App,我们可以在这个页面添加诸如软件介绍,更新说明等信息…当然核心代码是这个:
<a href="itms-services://?action=download-manifest&url=http:///?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>
   <key>items</key>
   <array>
       <dict>
           <key>assets</key>
           <array>
               <dict>
                   <key>kind</key>
                   <string>software-package</string>
                   <key>url</key>
                   <string>http://www./ipa/Everlight-3.1-Nathan1233.ipa</string>
               </dict>
               <dict>
                   <key>kind</key>
                   <string>display-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>http://www./webapp/images/ifw114.png</string>
               </dict>
      <dict>
                   <key>kind</key>
                   <string>full-size-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>http://www./webapp/images/ifw114.png</string>
               </dict>
           </array><key>metadata</key>
           <dict>
               <key>bundle-identifier</key>
               <string>net.iinterest.www</string>
               <key>bundle-version</key>
               <string>8.0.3.99</string>
               <key>kind</key>
               <string>software</string>
               <key>subtitle</key>
               <string>Everlight</string>
               <key>title</key>
               <string>Everlight</string>
           </dict>
       </dict>
   </array>
</dict>
</plist>
  以上示例我也是借用这些大侠的劳动成果http://www./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.,是国内代理公司。费用分为三个类别:
  •   标准版 8600/两年     貌似国内大多使用这个
  •   实地考查版 15800/两年   代理商极力推荐这个
  •   VIP版 21000/两年
  这个报价是截止到2011年12月5日的报价,据说还要涨价,申请这个编码的目的就是为了获取苹果的认证,让苹果知道你是一家值得信赖的企业,苹果才准许你申请企业开发者账户。

  有了邓氏全球编码,又成功申请了企业开发者账户,就可以使用installing apps wirelessly方式,向你的用户提供app的安装和下载了,而且你根本不用知道用户的UDID的。
  如果你想测试完,将正式版app发布到app store上去,我要告诉你这个不行。因为苹果规定企业开发者账户下发布的app,是无法上传到app store供用户下载的,这个账户只能供内部人员使用,所以如果你想做成收费app,还是老实申请99美刀开发者账户。

  办法四:testflight

  解决app在没有上传app <wbr>store前大规模安装测试问题的一些办法与思路

  这个办法,其实是国外一个创业项目 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 能够实时给你反馈最新统计数据。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多