上架到Appstore之前,肯定需要經(jīng)過測試,大體流程如下:
1、在開發(fā)者中心注冊設(shè)備
2、打包App
3、導出ipa安裝包:使用ad hoc provisioning profile 或者 team provisioning profile 進行簽名
4、安裝到測試設(shè)備進行測試
5、從測試人員那里獲取 crash reports
注冊測試設(shè)備
在創(chuàng)建ad hoc 或者 team provisioning profile 之前,至少注冊一個測試設(shè)備。在開發(fā)者賬號中注冊設(shè)備需要收集測試機的UDID,測試無需安裝Xcode使用iTunes即可(iOS, tvOS),此方法適用于iOS和tvOS設(shè)備;還可以使用System Information (iOS, tvOS, Mac) 。
查看設(shè)備UDID
iTunes
以Mac電腦為例,Windows類似。
1、打開ITunes軟件
2、連接設(shè)備到Mac
3、選擇你的設(shè)備
4、選擇Summary(摘要),點擊Serial Number(序列號)切換到UDID然后。 對于iOS設(shè)備一般位于Capacity(容量)或者 Phone Number(手機號)下邊。
5、右鍵單擊選擇拷貝選項,然后粘貼即可獲得。
System Information(系統(tǒng)信息)
獲取Mac的UDID
1、打開System Information(系統(tǒng)信息)軟件,路徑
2、在左側(cè)菜單中選擇Hardware(硬件),device ID 或者 hardware UUID 在右側(cè)的硬件信息的下部,格式XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
獲取iOS,tvOS的UDID
1、連接設(shè)備到Mac
2、打開System Information(系統(tǒng)信息)軟件
3、在左側(cè)菜單中選擇Hardware(硬件)下選擇USB
4、在右側(cè)的菜單中選擇自己的設(shè)備,就可以看到device ID 或者 Serial Number
Xcode
1、打開Xcode
2、菜單欄--Window--Device
3、連接設(shè)備。iOS 和 tvOS 直接連接設(shè)備即可,對于watchOS需要和iPhone一起
4、選擇你的設(shè)備,然后identifier就是UDID

注冊設(shè)備
首頁你需要有一個開發(fā)賬號,然后才能注冊設(shè)備。然后需要設(shè)備名稱和設(shè)備號UDID。在此只介紹注冊單個設(shè)備,批量注冊請參考以上鏈接:
1、登錄開發(fā)者中心,選擇 Certificates, IDs & Profiles
2、在 Devices 一欄下選擇 All
3、點擊右上角的?按鈕
4、選擇 Register Device
5、然后輸入 device name and the device ID (UDID)

6、滾動到底部,點擊 Continue
7、檢查注冊信息,然后點擊 Register
打包 Archiving Your App
為你的APP創(chuàng)建一個歸檔。Xcode保存archive在Archives organizer : Window-- Organizer 。
1、在Xcode工程編輯頁面選擇一個generic device : Generic iOS Device, Generic tvOS Device, Generic iOS Device + watchOS Device 或者你的設(shè)備。但是不能創(chuàng)建模擬器版本的歸檔。
2、選擇Product --> Archive;Archives organizer顯示出來展示新的歸檔
Exporting Your App for Testing Outside the Store
由于測試沒有Xcode來運行APP,所以需要創(chuàng)建APP文件(后綴名.ipa)使得APP可以安裝到測試設(shè)備上測試APP。
1、打開 Archives organizer : Window-- Organizer ,然后選擇 archive

2、點擊 Exprort ,然后選擇導出選項,然后點擊 Next 。
a、用來上架選擇Save for iOS App Store Deployment
,此APP將使用發(fā)布證書進行簽名。
b、用來發(fā)布給用戶安裝到指定設(shè)備選擇Save for Ad Hoc Deployment
,此APP將使用發(fā)布證書進行簽名。
c、用來發(fā)布企業(yè)級APP選擇Save for Enterprise Deployment
,此APP將使用發(fā)布證書進行簽名,需要企業(yè)級賬號。
d、用來內(nèi)部測試選擇Save for Development Deployment
,此APP將使用開發(fā)證書進行簽名。

3、在彈出窗口中選擇一個team。Xcode在需要的情況下可以為你自動創(chuàng)建signing identity 和 provisioning profile 。

4、在 Device Support 窗口中選擇支持的設(shè)備,然后點擊 Next 。
a、如果運行APP在任何支持的設(shè)備,選擇Export one app for all compatible devices
b、如果測試不同設(shè)備的差異性,選擇Export for specific devices
然后再選擇All compatible device variants
c、如果運行APP在任何支持的設(shè)備,選擇Export for specific devices
然后再選擇指定設(shè)備類型
5、在彈出窗口中,檢測APP信息,entitlements 和 the provisioning profile 。Ad hoc provisioning profile 有 XC Ad Hoc: 前綴;Team provisioning profile 有 [platform] Team Provisioning Profile: [App ID] 前綴,詳情請參考Team Provisioning Profiles in Depth。
6、檢查編譯選項,然后點擊 Next
a、如果自己發(fā)布APP,勾選Include manifest for over-the-air installation
,會生成一個 manifest 的 XML 文件,用來幫助用戶從你的網(wǎng)站上下載APP
b、如果支持 Bitcode ,勾選 Export from bitcode
。
7、如果你自己發(fā)布APP,需要在“Distribution manifest information”窗口中填寫詳細信息。
- Name : APP下載安裝過程中展示的名稱。
- App URL : 安裝包的HTTPS的URL
- Display Image URL : 下載安裝過程中展示的圖標的HTTPS的URL ,57 x 57 像素的 png 格式圖片
-
Full Size Image URL : 詳情頁展示圖標HTTPS的URL,512 x 512 像素的 png 格式圖片
8、輸入文件名稱,選擇文件位置,點擊Export。Xcode會創(chuàng)建一個文件夾包含有APP文件。
1.如果勾選了Include manifest for over-the-air installation
回生成一個manifest.plist文件;
2.如果需要研究差異性,勾選了Export for specific devices
和All compatible device variants
,會生成細分的指標文件。App Thinning Size Report 包含了各種類型安裝包的大小,app-thinning.plist 包含更多詳細信息。

Installing Your App on Test Devices(安裝APP)
使用Xcode安裝
1、連接設(shè)備到Mac
2、在 Xcode 中, 選擇 Window -- Devices 然后選擇目標設(shè)備
3、在已安裝APP列表下邊,點擊(+)按鈕
4、在彈出窗口中選擇APP文件然后點擊Open
使用iTunes安裝
1、連接設(shè)備到運行iTunes的Mac上。可能的話不要使用用于開發(fā)的Mac。對應(yīng)watchOS apps連接一個和Apple Watch配對的iPhone
2、雙擊要安裝的APP安裝包
3、在 iTunes 中選擇目標設(shè)備
4、選擇Apps(應(yīng)用)選項,可以看到APP列表。
5、可以根據(jù)不同的排序方式,快速找到目標APP。APP帶有一個 Install(安裝)或者 Remove(移除)的按鈕。

6、如果 Install(安裝)按鈕出現(xiàn), 點擊過后按鈕變成 Will Install(將要安裝).
7、點擊右下角的Apply(完成)或者 Sync (同步) 按鈕開始安裝APP.
使用Apple Configurator 2安裝
Apple Configurator 2 是 Mac App Store一款免費的APP。為了方便安裝iOS、tvOS的APP到測試設(shè)備上。這也是唯一不使用 Xcode 安裝iOS App 到 Apple TV 上的方式。
1、連接設(shè)備到運行 Apple Configurator 2 的Mac上。可能的話不要使用用于開發(fā)的Mac。對應(yīng)watchOS apps連接一個和Apple Watch配對的iPhone
2、選擇設(shè)備,點擊(+)按鈕, 選擇Apps

3、選擇Choose from my Mac

4、選擇APP文件,然后點擊 Add
Soliciting Crash Reports from Testers(收集錯誤日志)
Mac
1、連接設(shè)備到運行 iTunes 的 Mac 上.iTunes 下載崩潰日志到 Mac 上
2、打開Finder,選擇 Go(前往) --> “Go to Folder(前往文件夾)”
3、輸入 ~/Library/Logs/CrashReporter/MobileDevice
4、打開目標設(shè)備的文件夾
5、選擇目標APP的崩潰日志
6、選擇文件然后發(fā)送給開發(fā)人員
7、為了避免重復,刪除已發(fā)送過得日志
Windows
根據(jù)路徑訪問日志文件夾,替換以下路徑中的<user_name>
1、路徑
Windows:C:\Users<user_name>\AppData\Roaming\Apple computer\Logs\CrashReporter/MobileDevice
Windows XP:C:\Users<user_name>\AppData\Roaming\Apple computer\Logs\CrashReporter/MobileDevice
2、打開目標設(shè)備對應(yīng)的文件夾,以 <app_name> crash logs from <your_name> 格式命名并發(fā)送給開發(fā)人員
關(guān)于如何閱讀錯誤日志: Viewing and Importing Crashes in the Devices Window
參考資料:Exporting Your App for Testing (iOS, tvOS, watchOS)
相關(guān)閱讀: 訪問沙河數(shù)據(jù) Viewing, Downloading, and Replacing App Containers on Devices