跳到主要內容

以 Ad-Hoc 方式測試軟體 iOS 7.1 裝置需要使用具 SSL 憑證的伺服器

螢幕快照 2013-12-21 上午1.34.11

在進行 iOS 的 app 開發時,常需要讓一些團隊成員或測試者測試 beta 版的 app。如果您以 Ad-Hoc 方式發送測試用 app 給測試者下載安裝的話,使用者的裝置若已更新至 iOS 7.1,則您需要找個有 SSL 憑證,支援 HTTPS 的 host 來放置您的 app,否則測試者要下載測試軟體時,會遇上憑證無效的錯誤訊息而無法下載安裝。

提供給您參考,若您有相關的解決方法,也請不吝賜教分享給大家。

[更新]

可將 ipa 與 plist 檔上傳到 Dropbox 中的"公開檔夾(public)"中,然後連到 itms-services://?action=download-manifest&amp;url=<plist 檔的位置>,即可進行 Ad Hoc 的發佈。當然,測試者的裝置需經過開發裝置的 UDID 碼註冊才行。

另外,Google Site 因不支援以 itms-services:// 的協定連結,所以無法透過 Google Site 的連結來進行 Ad Hoc 的發佈。 

[回覆 -> 天天網友]

螢幕快照 2014-03-12 下午11.45.05 螢幕快照 2014-03-12 下午11.46.06

請如圖所示般,複製 .ipa 檔的公開連結,將 .ipa 的公開連結加到 .plist 檔中。以同樣的方法複製 .plist 檔的公開連結,並將連到 .plist 檔的超連結寫成 itms-services://?action=download-manifest&amp;url=<plist 檔超連結> 的形式(沒有角括號),放在網頁中,或以電郵傳給測試者,點選之後,即可將 .ipa 檔下載安裝。不是以 HTML 的 <a href=""> 來連結。

您的問題應該是沒有在網頁的連結中使用 itms-services:// 的方式來進行連結,或不是連結到 .plist 的公開連結上。 .plist 的 URL 看起來會像是 https://dl.dropboxusercontent.com/u/xxxxxxx/xxxxxx/xxxxxxxx.plist。網頁中連結的寫法是

<a href=itms-services://?action=download-manifest&amp;url=https://dl.dropboxusercontent.com/u/xxx/xxx/xxx.plist">xxxx</a>。

提供給您參考,希望能解決您的問題。

[致 ding 網友]

Xcode 5 所產生,供下載 app 用的 .plist 檔如下圖:

螢幕快照 2015-03-03 上午1.35.00

留言

  1. 請問哪裡可以找到pubic folder, 我的iPhone 會直接在瀏覽器上出現 plist 的檔案。它並不會下載&安裝 ipa 檔案。

    感謝

    回覆刪除
  2. 我找到public folder, 但結果還是一樣!!XD

    回覆刪除
  3. 回覆於貼文中,請參考!

    回覆刪除
  4. 感謝你,已經解決了。

    回覆刪除
  5. 已經放到dropbox了,他有出現下載準備安裝的畫面,但最後還是會失敗,要求再試一次,請問要怎麼解決比較好呢?謝謝。

    回覆刪除
  6. 90% 是 Device's UUID 的問題

    回覆刪除
  7. 個人覺得 "天天" 網友所回答的,應該就是解答了。可以下載,表示連結到 plist 的連結與 plist 檔連結到 ipa 檔的連結沒有問題。檢查 UDID,確認無誤後,重新產生 Provisioning Profiles,點按二下,安裝到 Xcode 中,重新製作 ipa 檔。如果 ipa 檔的連結沒變,plist 不需重複產生。上傳到原 ipa 檔的位置即可。

    如果您之前沒有用這種方式發佈成功過,那在 code sign、scheme 與 archive 的地方都是可能會出現這類問題的地方。

    希望您能順利解決問題。

    回覆刪除
  8. 謝謝天天與Bobffin,我已經解決問題了,非常感謝二位的協助。

    回覆刪除
  9. 您好,可否回覆是什麼原因造成的嗎?讓遇到相同問題的人可以很快地解決問題。感謝。

    回覆刪除
  10. 不好意思想請問您
    如果想開發企業內部的應用程式(類似考核系統
    也已經購買Enterprise Developer
    該如何封裝或操作
    想要一樣透過網頁讓user安裝
    是否有方法可以不用取得user手機的UDID(大概有400-500個User)

    回覆刪除
  11. 您好:
    UDID 可以用文字檔先打好,再一次匯進去。不過這只是一種節省 UDID keyin 的方法。
    Apple 有買下一個 3rd party 的公司叫 TestFlight,它可以支援最高到 1,000 個 user 的測試。使用者只要下載 TestFlight App 安裝在手機中,就可以看到您發佈到 TestFlight 供測試的 App,當然就可以下載安裝測試。但目前因今年初才買下 TestFlight,還需要整合,所以用這個方式只支援公司內部的 25 個測試者,但每個測試者可以透過最高 10 部裝置來安裝測試用的 App。
    上述的方法,當然只是用來進行測試,並不是佈署。

    回覆刪除
  12. 您可以在這個網址上找到如何使用 TestFlight 來分送測試 App 的方法。https://developer.apple.com/app-store/testflight/

    回覆刪除
  13. 請問如何生成.plist檔

    回覆刪除
  14. 在 Organizer 中選擇 Export 以進行不同方式的佈署,接著您會看到三個選項,其中 Save for Ad Hoc Deployment 是您要在 App Store 外讓別人下載測試的選項,接著再選擇佈署到網站上,plist 就會自動產生。

    回覆刪除
  15. xcode 6好像不會自動產生plist檔...

    回覆刪除
  16. 是的,Xcode 6 不會自動產生 plist 檔,個人認為 Apple 好像要將這個部份併到企業開發方案中了,要讓測試者透過網路下載 app 進行測試的話,要透過 iTunes Connect,也許您要查一下官方關於這方面的說明文件。
    Apple 購入 TestFlight 之後,這方面應該正在調整中。不過還是有方法的,請您使用小弟在 Xcode 5 中所產生的 plist,填入您 app 的資料後即可讓您的 ipa 在網頁中讓測試者下載使用。
    我想在 Apple 沒有調整好前,這部份大概只能這樣子處理了。
    小弟的 plist 載圖會放在原文的最後面,提供給您參考。請將寫有"填入"的部份改成您 app 的資料應該就可以了。

    回覆刪除
  17. 真的非常的感謝你!已經成功囉~!:)

    回覆刪除

張貼留言

這個網誌中的熱門文章

Apple 更新 12" MacBook

上一篇才打完,就看到 9to5Mac 發佈阿婆更新 12" MacBook 產品線的消息了。不到 10 分鐘就被打臉了。 新的 MacBook 採用 Intel 第六代 Core M Skylake 處理器,時脈有 1.1 GHz 及 1.2 GHz 二種,8 GB RAM 與 256 GB Flash Storage,高階款則有 512 GB 的儲存空間。電力可維持 10 個小時的無線上網瀏覽,機殼顏色有新的玻瑰金色,新款的售價與第一代 MacBook 相同,從 $1299 起跳。

某些特定的 iOS 開發者遭受由 iMessage 而來的 DoS 攻擊

據 MacRumors 引述 The Next Web 的報導指出,某些特定的 iOS 開發者遭受由 iMessage 而來的 DoS(Denial of Service)。 據遭受鎖定的 iOS 開發者 Grant Paul 的說明,Apple 並沒有為 iMessage 的訊息傳輸量設限,所以攻擊者可以用短時間內發出大量訊息的方式來進行阻斷式攻擊。另外,攻擊者也可發出以 Unicode 編碼的"複雜"文字或數量龐大的文字訊息,讓 iMessage 受不了,無法計算(render)文字訊息,這就可以讓 iMessage 無法順利開啟。 文章中也提到 iH8sn0w 這位越獄工具與軟體的開發者指出,透過 AppleScript 就可以發出這種 DoS 的攻擊。 有興趣的朋友可以跳轉收看。