iPhone发布内测程序的几种方法

  应用程序开发完进入测试阶段,通常需要在内部发布一些版本到测试者的机器上安装,该怎么做呢,本文将做详细的介绍。

一、如果测试用户的机器已经越狱,那就简单了,直接打包成ipa,用户直接通过91助手、同步推、PP助手等工具安装。

二、如果测试用户的机器没有越狱,下面有几种方案供选择:

  1. 如果你的(IDP)iPhone Developer Account是$299企业版的,那就直接把ipa发给用户安装就可以了。注意:$299企业版的账号,开发的应用程序不能上传到AppStore,只能在企业内部发布、使用。

  2. 以无线的方式安装应用程序

  这个方法在苹果官方帮助网站上有介绍:http://help.apple.com/iosdeployment-apps/#app43ad871e

  具体做法是:
  (1)拿到客户的UDID, 从Apple Developer Center 更新:mobileprovision,下载保存到本地,双击安装。
  (2)选择正确的code sign 和 Archive >> build Configuration>> 选Debug 或者Adhoc
  (3)Archive,完了后,从Organizer那里弄出ipa。
  (4)改改下面的两个文件test.html、manifest.plist,必须要改的我已经用红色文字标注,把他们和app.ipa 一起发布到服务器。
  (5)用iPhone Safari打开: http://your_server_addr/domain/test.html
  (6)点击安装
  

  注意:另外还需要提供57X57、114X114的png格式的logo。

  

  附:test.html范例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta name = "viewport" content = "initial-scale = 0.8">
<title>
</title>
    
</head>
<body>
 <table style="width: 294px; height: 248px">
 <img style="position:absolute; top:100px; left:30px;display:block;" src="install.png" onclick="install();" />
 <span style="float:left;">直接下载ipa安装文件(V1.0)</span>
</table>
</body>

<script language='JavaScript'>
       install = function()
       {
            location.href = 'itms-services://?action=download-manifest&url=http://your_server_addr/domain/manifest.plist';
        }
    </script>
   
</html>

 


manifest.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://your_server_addr/domain/appname.ipa</string>
               </dict>
               <dict>
                   <key>kind</key>
                   <string>display-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>http://your_server_addr/domain/logo57.png</string>
               </dict>
           </array><key>metadata</key>
           <dict>
               <key>bundle-identifier</key>
               <string>bundleid</string>
               <key>bundle-version</key>
               <string>1.0.1001</string>
               <key>kind</key>
               <string>software</string>
               <key>subtitle</key>
               <string>subtitle</string>
               <key>title</key>
               <string>title</string>
           </dict>
       </dict>
   </array>
</dict>
</plist>

3. 使用Test Flight
https://testflightapp.com/

 应用程序开发完进入测试阶段,通常需要在内部发布一些版本到测试者的机器上安装。一般的流程是获得测试机的唯一标识符,到苹果开发者中心上制作签名文件,然后再打包发布成ipa文件。最后传给测试者用iTunes来同步到iOS设备上,或者是再制作一个安装描述文件,与ipa一同放到网站上,让测试者用iOS设备在线安装。
 Test Flight的出现简化了这个复杂的过程。第一个解决的问题是获取测试机的唯一标识符,这对普通的用户来说有点难度。在Test Flight的流程中,开发者只需要发出邀请邮件给到测试者就可以了。而测试者可以很方便的通过邮件中给出的引导把测试必须的信息传回。开发者有一个管理后台收集到所有测试机的信息后,就可以去制作签名文件和完成最终打包的工作。当这一切完成后,再借助Test Flight的文件上传和分享功能,把应用的安装信息发送到测试者的设备上。在Test Flight的后台,开发者能够看到哪些测试者已经安装了哪个版本,还能看到测试者的反馈信息。如果在代码中整合了Test Flight的SDK,甚至还能够实现用户行为统计,收集错误报告等功能。最好的是,这一切都是免费的。

 

2、3方法实际上都是使用了AdHoc,都是通过给特定用户设备签名的方式,来实现在特定设备上运行。

 

by sschu

posted @ 2012-07-05 11:02  iPhone Dev  阅读(7390)  评论(1编辑  收藏  举报