應用程序開發完進入測試階段,通常需要在內部發布一些版本到測試者的機器上安裝,該怎么做呢,本文將做詳細的介紹。
一、如果測試用戶的機器已經越獄,那就簡單了,直接打包成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