本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在設備 Dev AWS ice Farm 中跳過私有設備上的應用重新簽名
應用程式簽署是一個程序,需要先使用私密金鑰對應用程式套件 (例如 APK
將應用程式上傳到 AWS Device Farm 後,服務將使用其自己的簽名憑證和佈建描述檔為應用程式產生新的簽名。此過程將原始應用程序簽名替換為AWS設備農場的簽名。然後,重新簽署的應用程式會安裝在裝AWS置伺服器陣列提供的測試裝置上。新的簽名允許在這些設備上安裝和運行該應用程序,而無需原始開發人員的證書。
在 iOS 上,我們將內嵌的佈建描述檔取代為萬用字元設定檔,然後辭去應用程式。如果您提供它,我們將在安裝之前將輔助數據添加到應用程序包中,以便數據將出現在應用程序的沙箱中。退出 iOS 應用程序會導致刪除某些權利。這包括應用程式群組、關聯網域、遊戲中心、 HealthKit、 HomeKit、無線配件設定、應用程式內購買、應用程式間音訊、Apple Pay、推送通知,以及VPN設定與控制。
在安卓系統上,我們會辭去應用程式。這可能會破壞取決於應用程序簽名的功能,例如谷歌地圖 Android API。它還可能會觸發從諸如產品提供的反盜版和防篡改檢測。 DexGuard對於內置測試,我們可能會修改清單以包含捕獲和保存屏幕截圖所需的權限。
使用私人裝置時,您可以跳過 Dev AWS ice Farm 重新簽署應用程式的步驟。這與公共設備不同,其中 Device Farm 始終在 Android 和 iOS 平台上重新簽署您的應用程序。
您可以在建立遠端存取工作階段或測試執行時略過應用程式重新簽署。如果您的應用程序具有在 Device Farm 重新簽名您的應用程序時中斷的功能,這將很有幫助。例如,在重新簽署之後,推送通知可能無法運作。如需 Device Farm 在測試應用程式時所做變更的詳細資訊,請參閱 AWSDevice Farm FAQs
要跳過應用程序重新簽名以進行測試運行,請在創建測試運行時在「配置」頁面上選擇「跳過應用程序重新簽名」。
注意
如果您使用的是XCTest架構,則無法使用 [略過應用程式重新簽署] 選項。如需詳細資訊,請參閱 將 Device Farm 與 XCTest for iOS 整合。
設定您的應用程式簽署設定所需的其他步驟可能不同,取決於您使用的是私有 Android 或 iOS 裝置而定。
在 Android 設備上跳過應用程序重新簽名
如果您是在私有 Android 裝置上測試您的應用程式,請在建立您的測試執行或遠端存取工作階段時,選取 Skip app re-signing (略過應用程式重新簽署)。無需其他組態。
在 iOS 設備上跳過應用重新簽名
Apple 要求您在將應用程式載入裝置之前,先對應用程式簽署以進行測試。若為 iOS 裝置,您有兩個簽署應用程式的選項。
-
如果您使用的是內部 (Enterprise) 開發人員描述檔,您可以跳到下一個小節,創建遠程訪問會話以信任您的 iOS 應用。
-
如果您是使用特定 iOS 應用程式開發描述檔,則必須先使用您的 Apple 開發人員帳戶註冊裝置,然後更新您的佈建描述檔以包含私有裝置。然後您必須使用您更新的佈建描述檔重新簽署應用程式。然後,您可以在 Device Farm 中運行重新簽名的應用程序。
使用特定/iOS 應用程式開發佈建設定檔註冊裝置
-
登入您的 Apple 開發人員帳戶。
-
瀏覽至主控台的 [憑證] IDs、和 [設定檔] 區段。
-
移至 Devices (裝置)。
-
在您的 Apple 開發人員帳戶中註冊裝置。若要取得裝置UDID的名稱和裝置,請使用裝 Device Farm 的
ListDeviceInstances
作業API。 -
移至您的佈建描述檔,然後選擇 Edit (編輯)。
-
從清單選擇裝置。
-
在 XCode 中,擷取您更新的佈建描述檔,然後重新簽署應用程式。
無需其他組態。您現在可以建立一個遠端存取工作階段或測試執行,並選取 Skip app re-signing (略過應用程式重新簽署)。
創建遠程訪問會話以信任您的 iOS 應用
如果您是使用內部 (Enterprise) 開發人員佈建描述檔,則必須執行一次性程序,來信任每個私有裝置上的內部應用程式開發人員憑證。
若要這樣做,您可以在私有裝置上安裝您想要測試的應用程式,或是可以安裝虛擬應用程式,而其簽署使用的憑證與您想要測試的應用程式憑證相同。這是安裝使用相同憑證簽署的虛擬應用程式的一個優點。在您信任組態描述檔或企業應用程式開發人員之後,私有裝置會信任來自該開發人員的所有應用程式,直到您將其刪除為止。因此,當上傳您要測試之應用程式的新版本時,您不必重新信任應用程式開發人員。如果您執行測試自動化,而且不想要在每次測試應用程式時建立遠端存取工作階段,則這樣做特別有用。
開始遠端存取工作階段之前,請按照中的步驟在在 AWS Device Farm 中建立執行個體設定檔裝置伺服器陣列中建立或修改執行個體設定檔。在實例配置文件中,將測試應用程序或虛擬應用程序的捆綁包 ID 添加到「從清理中排除包」 設置。然後,將實例配置文件附加到私有設備實例,以確保 Device Farm 在開始新的測試運行之前不會從設備中刪除此應用程序。這可確保您的開發人員憑證仍得到信任。
您可以使用遠端存取工作階段將虛擬應用程式上傳至裝置,這可讓您啟動應用程式並信任開發人員。
-
請按照建立工作階段中的指示,使用您建立的私有裝置執行個體描述檔,來建立遠端存取工作階段。當您建立工作階段時,請務必選取 Skip app re-signing (略過應用程式重新簽署)。
重要
若要篩選裝置的清單以僅包括私有裝置,請選取 Private device instances only (僅限私有裝置執行個體),以確保您是使用私有裝置與用正確的執行個體設定檔搭配。
請務必同時將虛擬應用程式或您要測試的應用程式新增至附加至此執行個體的執行個體設定檔的 [從清理排除套件] 設定中。
-
當遠端工作階段啟動時,請選擇 [選擇檔案] 以安裝使用內部佈建描述檔的應用程式。
-
啟動您剛上傳的應用程式。
-
按照指示來信任開發人員憑證。
現在這個私有裝置信任來自這個組態設定檔或企業應用程式開發人員的所有應用程式,直到您將其刪除為止。