使用 Intune App Wrapping Tool 準備 iOS 應用程式以套用應用程式保護原則

使用 iOS 版 Microsoft Intune App Wrapping Tool 為內部作業 iOS 應用程式啟用Intune應用程式保護原則,而不需要變更應用程式本身的程式碼。

此工具是 macOS 命令列應用程式,可在應用程式周圍建立包裝函式。 處理應用程式之後,您可以將 應用程式防護原則 部署到該應用程式,以變更該應用程式的功能。

若要下載工具,請參閱 GitHub 上的 iOS 版Microsoft Intune App Wrapping Tool。

注意事項

如果您在應用程式中使用Intune App Wrapping Tool時發生問題,請在 GitHub 上提交協助要求。

App Wrapping Tool 的一般必要條件

在執行 App Wrapping Tool 之前,您需要滿足一些一般先決條件:

  • 從 GitHub 下載 iOS 版Microsoft Intune App Wrapping Tool。

  • 安裝了 Xcode 工具組 16.0 版或更新版本的 macOS 電腦。

  • 您的公司或獨立軟體廠商 (ISV) 必須開發並簽署輸入的 iOS 應用程式。

    • 檔案的副檔名必須為 .ipa 或 .app。

    • 它必須針對 iOS 16.0 或更新版本進行編譯。

    • 它無法加密。

    • 沒有延伸檔案屬性。

    • 在使用Intune App Wrapping Tool處理應用程式之前,先設定權利。 權利會 給予應用程式更多的權限和功能,超出通常授與的權限。 請參閱 設定應用程式權利以 取得指示。

  • 請確定系統鑰匙圈中有有效的簽署憑證。 如果您有應用程式程式碼簽署問題,請使用下列步驟來解決:
    • 重設所有相關憑證的信任設定
    • 在系統鑰匙圈和登入鑰匙圈中安裝中繼憑證
    • 解除安裝並重新安裝所有相關憑證

使用 Microsoft Entra ID 註冊您的應用程式

  1. 使用 Microsoft Entra ID 註冊您的應用程式。 如需詳細資訊,請參閱向 Microsoft 身分識別平台註冊應用程式。
  2. 將自訂重新導向 URL 新增至您的應用程式設定。 如需詳細資訊,請參閱 設定 MSAL。
  3. 授與應用程式 Intune MAM 服務的存取權。 如需詳細資訊,請參閱 授與您的應用程式存取 Intune 行動裝置應用程式管理服務的存取權。
  4. 完成上述變更之後,請執行最新版本的 Intune 應用程式包裝工具。 設定 Microsoft 驗證程式庫的應用程式 (MSAL) :將Microsoft Entra應用程式用戶端識別碼與Intune App Wrapping Tool新增到命令列參數中。 如需詳細資訊,請參閱 命令列參數。

注意事項

參數 -ac 和 -ar 是必要參數。 每個應用程式都需要一組唯一的這些參數。 -aa 僅單一租用戶應用程式才需要。

  1. 部署應用程式。

App Wrapping Tool 的 Apple 開發人員必要條件

若要將包裝的 App 專屬於貴組織的使用者,你需要一個 Apple Developer Enterprise Program 的帳戶,以及數個連結到你的 Apple Developer 帳戶的 App 簽署實體。

若要進一步了解如何在內部分發 iOS 應用程式給貴組織的使用者,請閱讀官方指南 分發 Apple Developer Enterprise Program 應用程式。

您需要下列項目,才能發佈由 Intune 包裝的應用程式:

  • Apple Developer Enterprise Program 的開發者帳戶。

  • 具有有效團隊識別碼的內部和臨時發佈簽署憑證。

    • 您需要簽署憑證的 SHA1 雜湊作為Intune App Wrapping Tool的參數。
  • 內部發佈佈建設定檔。

建立 Apple Developer Enterprise 帳戶

  1. 移至 Apple Developer Enterprise Program 網站。

  2. 在頁面右上角,選取 [ 註冊]。

  3. 閱讀註冊所需項目的檢查清單。 選取頁面底部的 [ 開始註冊 ]。

  4. 使用貴組織的 Apple 帳號登入。 如果您沒有,請選取 「建立 Apple 帳號」。

  5. 選取您的 實體類型 ,然後選取 [繼續]。

  6. 在表單中填寫貴組織的資訊。 選取 [繼續]。 此時,Apple 會與你聯絡,以確認你有權註冊你的組織。

  7. 驗證之後,選取 [ 同意授權]。

  8. 同意授權之後, 請購買並啟用程式來完成。

  9. 如果您是團隊代理 (加入組織) 的 Apple Developer Enterprise Program 的人員,請邀請團隊成員並分配角色來建立您的團隊。 若要瞭解如何管理您的團隊,請參閱有關 管理開發人員帳戶團隊的 Apple 文件。

建立 Apple 簽署憑證

  1. 移至 Apple 開發人員入口網站。

  2. 在頁面右上角,選取 [帳戶]。

  3. 使用你組織的 Apple 帳號登入。

  4. 選取 [ 憑證]、[識別碼] & [設定檔]。

    Apple 開發者入口網站 - 憑證、識別碼 & 設定檔

  5. 選取 Apple 開發者入口網站,並在 右上角加上登錄。 此動作會新增 iOS 憑證。

  6. 選擇在 [生產] 下建立內部和臨時憑證。

    選取 In-House 和臨機操作憑證

    注意事項

    如果您不打算發佈應用程式,只想要在內部測試它,您可以使用 iOS 應用程式開發憑證,而不是生產憑證。 如果您使用開發憑證,請確認行動佈建設定檔包含您計劃安裝應用程式的裝置。

  7. 選取頁面底部的 [ 下一步 ]。

  8. 請閱讀在 macOS 電腦上使用鑰匙圈存取應用程式建立 憑證簽章要求 (CSR) 指示。

    閱讀建立 CSR 的指示

  9. 請依照先前的指示建立憑證簽章要求。 在 macOS 電腦上,啟動 Keychain Access 應用程式。

  10. 在畫面頂端的 macOS 功能表上,移至 鑰匙圈存取 > 憑證助理 > 向憑證授權單位要求憑證。

    在鑰匙圈存取中向憑證授權單位要求憑證

  11. 請遵循 Apple 開發人員網站指示,建立憑證簽署要求 (CSR) 檔案。 將 CSR 檔案儲存到 macOS 電腦。

    輸入您所要求的憑證資訊

  12. 返回 Apple 開發者網站。 選取 [繼續]。 然後上傳 CSR 檔案。

  13. Apple 會產生您的簽署憑證。 下載並將其儲存到 macOS 電腦上令人難忘的位置。

    下載您的簽署憑證

  14. 按兩下您下載的憑證檔案,將憑證新增至鑰匙圈。

  15. 再次開啟 Keychain Access 。 在右上方的搜尋列中搜尋憑證名稱,以找出憑證。 以滑鼠右鍵按一下該項目以顯示功能表,然後選取 [取得資訊]。 在範例畫面中,我們使用開發憑證,而非生產憑證。

    將您的憑證新增至鑰匙圈

  16. 此時會顯示一個資訊視窗。 捲動到底部,然後查看 [指紋] 標籤下方。 複製模糊 (SHA1 字串) ,以做為App Wrapping Tool的「-c」引數。

    iPhone 資訊 - 指紋 SHA1 字串

建立 In-House 發佈佈建設定檔

  1. 返回 Apple Developer 帳戶入口網站,然後使用你組織的 Apple 帳戶登入。

  2. 選取 [ 憑證]、[識別碼] & [設定檔]。

  3. 選取 Apple 開發者入口網站,並在 右上角加上登錄。 此動作會新增 iOS 佈建設定檔。

  4. 選擇在 [分發] 下建立內部佈建設定檔。

    選取內部佈建設定檔

  5. 選取 [繼續]。 請務必將先前產生的簽署憑證連結到佈建設定檔。

  6. 請遵循下列步驟,將具有擴充功能 .mobileprovision) 的設定檔 (下載到您的 macOS 電腦。

  7. 將檔案儲存在容易記住的位置。 此檔案用於使用 App Wrapping Tool 時的 -p 參數。

下載 App Wrapping Tool

  1. 將 App Wrapping Tool 的檔案從 GitHub 下載到 macOS 電腦。

  2. 按兩下 [iOS.dmg Microsoft Intune Application Restrictions Packager]。 顯示顯示 [使用者授權合約] (EULA) 的視窗。 請仔細閱讀文件。

  3. 選擇 [同意 ] 以接受 EULA,這會將套件掛接到您的電腦。

執行 App Wrapping Tool

重要事項

Intune 會定期發行Intune App Wrapping Tool更新。 定期檢查 iOS 版 Intune App Wrapping Tool 以取得更新,並將納入軟體開發發行週期,以確保您的應用程式支援最新的應用程式保護原則設定。

使用終端

開啟 macOS 終端機並執行下列命令:

/Volumes/IntuneMAMAppPackager/IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> -p /<path to provisioning profile> -c <SHA1 hash of the certificate> -ac <client ID of input app> -ar <redirect URI of input app> [-aa <authority URI of input app>] [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>] [-dt] [-dl] [-ds]

注意事項

部分參數為選用,如下表所示。

範例:下列範例命令會在名為 MyApp.ipa 的應用程式上執行 App Wrapping Tool。 會指定佈建設定檔和簽署憑證的 SHA-1 雜湊,並用來簽署包裝的應用程式。 輸出應用程式 (MyApp_Wrapped.ipa) 會建立並儲存在 [桌面] 資料夾中。

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c "12 A3 BC 45 D6 7E F8 90 1A 2B 3C DE F4 AB C5 D6 E7 89 0F AB" -ac "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ar "msauth.myAppsBundleID://auth" -v

命令列參數

您可以搭配 App Wrapping Tool 使用下列命令列參數:

範例:下列範例命令會執行 App Wrapping Tool,在包裝應用程式以在單一租用戶中使用時,併入必要的命令。

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager -i ~/Desktop/MyApp.ipa -o ~/Desktop/MyApp_Wrapped.ipa -p ~/Desktop/My_Provisioning_Profile_.mobileprovision -c "12 A3 BC 45 D6 7E F8 90 1A 2B 3C DE F4 AB C5 D6 E7 89 0F AB" -aa https://login.microsoftonline.com/<tenantID> -ac "Client ID of the input app if the app uses the Microsoft Authentication Library" -ar "Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library"  -v
Property 使用方式
-i <Path of the input native iOS application file>. 檔案名稱必須以 .app 或 .ipa 結尾。
-o <Path of the wrapped output application>
-p <Path of your provisioning profile for iOS apps>
-c <SHA1 hash of the signing certificate>
-h 顯示有關 App Wrapping Tool 可用命令列屬性的詳細使用資訊。
-ac <Client ID of the input app if the app uses the Microsoft 驗證資源庫> 這是應用程式註冊中應用程式清單之用戶端識別碼欄位中的 GUID。
-ar <Redirect/Reply URI of the input app if the app uses the Microsoft 驗證資源庫> 這是應用程式註冊中設定的重新導向 URI。 通常是 Microsoft Authenticator 應用程式在代理驗證之後返回的應用程式 URL 通訊協定。
-aa (單一租用戶應用程式的必要項目) <Authority URI of the input app> 例如 https://login.microsoftonline.com/<tenantID>/
-v (選擇性) 將詳細訊息輸出到主機。 使用此旗標來偵錯任何錯誤。
-e (選擇性) 使用此旗標,讓App Wrapping Tool在處理應用程式時移除遺失的權利。 如需詳細資訊,請參閱 設定應用程式權利。
-xe (選擇性) 列印有關應用程式中 iOS 擴充功能的資訊,以及使用這些擴充功能所需的權利。 如需詳細資訊,請參閱 設定應用程式權利。
-x (選擇性) <An array of paths to extension provisioning profiles>。 如果您的應用程式需要擴充功能佈建設定檔,請使用此屬性。
-b (選擇性) 如果您希望包裝的輸出應用程式與輸入應用程式具有相同的搭售版本,請使用不帶引數的 -b (不建議) 。

如果您想要包裝的應用程式具有自訂 CFBundleVersion,請使用 -b <custom bundle version> 。 如果您選擇指定自訂 CFBundleVersion,建議您依最低有效元件增加原生應用程式的 CFBundleVersion,例如 1.0.0 -> 1.0.1。
-f (選擇性) <Path to a plist file specifying arguments.> 如果您選擇使用 plist 範本來指定其餘的 IntuneMAMPackager 屬性,例如 -i、-o 和 -p,請在 plist 檔案前面使用此旗標。 請參閱使用 plist 輸入引數。
-dt (選擇性) 停用Microsoft Intune用戶端資料的收集。
-dl (選擇性) 對於與 MSAL 整合並實作自己的 MSAL 記錄回呼的應用程式,從Intune記錄停用 MSAL 記錄。
-ds (選擇性) 停用 Intune 對 SFSafariViewController、SFAuthSession 和 ASWebAuthenticationSession 的保護。
-mp (選擇性) <Path to a plist file containing MAM settings to merge into the wrapped app>。 使用此屬性可提供自訂 Intune MAM SDK 設定,這些設定將在包裝程式期間合併到應用程式的 IntuneMAMSettings 字典中。 注意:MultiIdentity設定 、 MAMPolicyRequired、 AutoEnrollOnLaunch和 ContainingAppBundleId 不支援透過 -mp 進行,因為它們是由 App Wrapping Tool 自動設定的。 驗證設定 (ADALAuthority、 ADALClientId、) ADALRedirectUri 也無法透過 -mp 進行設定,必須使用 -aa、-ac 及 -ar 命令列參數進行設定。

使用 plist 輸入引數

執行 App Wrapping Tool 的一個簡單方法是將所有命令引數放入 plist 檔案中。 Plist 是一種類似 XML 的檔案格式,您可以使用它透過表單介面輸入命令列引數。

在 IntuneMAMPackager/Contents/MacOS 資料夾中, (Parameters.plist 使用文字編輯器或 Xcode) 空白 plist 範本開啟。 輸入下列機碼的引數:

Plist 機碼 類型 預設值 附註
輸入應用程式套件路徑 字串 空白 與 -i 相同
輸出應用程式套件路徑 字串 空白 與 -o 相同
佈建設定檔路徑 字串 空白 與 -p 相同
SHA-1 憑證雜湊 字串 空白 與 -c 相同
MSAL 授權單位 字串 空白 與 -aa 相同
MSAL 用戶端識別碼 字串 空白 與 -ac 相同
MSAL 回覆 URI 字串 空白 與 -ar 相同
已啟用詳細資訊 布林值 否 與 -v 相同
移除遺失的授權 布林值 否 與 -e 相同
防止預設組建更新 布林值 否 等同於使用不帶引數的 -b
組建字串覆寫 字串 空白 包裝輸出應用程式的自訂 CFBundleVersion
擴充功能佈建設定檔路徑 字串陣列 空白 應用程式的擴充功能佈建設定檔陣列。
停用遙測 布林值 否 與 -dt 相同
停用 MSAL 記錄覆寫 布林值 否 與 -dl 相同
MAM 設定 Plist 路徑 字串 空白 與 -mp 相同

使用 plist 做為唯一引數來執行 IntuneMAMPackager:

./IntuneMAMPackager –f Parameters.plist

換行後

包裝程序完成後,將顯示「應用程式已成功包裝」訊息。 如果發生錯誤,請參閱 錯誤訊息以 取得說明。

包裝的應用程式會儲存在您先前指定的輸出資料夾中。 您可以將應用程式上傳到 Intune 系統管理中心,並將其與行動應用程式管理原則建立關聯。

重要事項

上傳包裝應用程式時,如果舊版 (包裝或原生) 版本已部署到 Intune,您可以嘗試更新舊版應用程式。 如果您遇到錯誤,請將應用程式上傳為新應用程式並刪除舊版本。

您現在可以將應用程式部署到使用者群組,並將應用程式防護原則定位到應用程式。 應用程式會在使用您指定的應用程式保護原則在裝置上執行。

我應該多久使用 Intune App Wrapping Tool 重新包裝一次我的 iOS 應用程式?

您需要重新包裝應用程式的主要案例如下:

  • 該應用程序本身發布了一個新版本。 先前版本的應用程式已包裝並上傳至 Intune 系統管理中心。
  • iOS 版 Intune App Wrapping Tool 發佈新版本,可啟用重大錯誤修正或新的特定Intune應用程式保護原則功能。 新版本每 6 到 8 週會透過 iOS 版 Microsoft Intune App Wrapping Tool 的 GitHub 存放庫發行一次。

針對 iOS/iPadOS,您可以使用不同於原本用來簽署應用程式的憑證或佈建設定檔來包裝應用程式。 不過,如果新的佈建設定檔不包括應用程式中指定的權利,則包裝程序會失敗。 如果您使用 “-e” 命令列選項,可從應用程式移除任何遺失的權利,在此案例中強制換行不失敗可能會導致應用程式功能中斷。

重新包裝的一些最佳做法包括:

  • 確保不同的佈建設定檔具有與任何先前的佈建設定檔一樣的所有必要權利。

錯誤訊息和記錄檔

使用下列資訊來疑難排解您在使用應用程式包裝工具時遇到的問題。

錯誤訊息

如果應用程式包裝工具無法成功完成,主機中會顯示下列其中一個錯誤訊息:

錯誤訊息 其他相關資訊
您必須指定有效的 iOS 佈建設定檔。 您的佈建設定檔可能無效。 檢查以確定您具有正確的裝置權限,以及您的設定檔正確針對開發或發佈。 您的佈建設定檔可能也已過期。
指定有效的輸入應用程式名稱。 確認指定的輸入應用程式名稱正確無誤。
指定輸出應用程式的有效路徑。 請確定您指定的輸出應用程式路徑存在且正確無誤。
指定有效的輸入佈建設定檔。 請確定您提供了有效的佈建設定檔名稱和擴充功能。 您的佈建設定檔可能遺失權利,或 –p 未包含命令列選項。
找不到您指定的輸入應用程式。 指定有效的輸入應用程式名稱和路徑。 請確定您輸入的應用程式路徑有效且存在。 確定輸入應用程式存在於該位置。
找不到您指定的輸入佈建設定檔檔案。 指定有效的輸入佈建設定檔檔案。 請確定輸入佈建檔案的路徑有效,且您指定的檔案存在。
找不到您指定的輸出應用程式資料夾。 指定輸出應用程式的有效路徑。 請確定輸出路徑有效且存在。
輸出應用程式沒有 .ipa 副檔名。 App Wrapping Tool只接受副檔名為 .app 和 .ipa 的應用程式。 請確定您的輸出檔案具有有效的副檔名。
指定的簽署憑證無效。 指定有效的 Apple 簽署憑證。 請確定您已從 Apple 開發人員入口網站下載正確的簽署憑證。 您的憑證可能已過期,或遺失公開或私密金鑰。 如果你的 Apple 憑證和佈建描述檔可用於在 Xcode 中正確簽署 App,則它們對 App Wrapping Tool 有效。 此外,請確認簽署憑證在主機 macOS 電腦的鑰匙圈中具有唯一的名稱。 如果鑰匙圈中有相同憑證的多個版本,工具會傳回此錯誤。
您指定的輸入應用程式無效。 指定有效的應用程式。 請確定您有效的 iOS 應用程式已編譯為 .app 或 .ipa 檔案。
您指定的輸入應用程式已加密。 指定有效的未加密應用程式。 App Wrapping Tool 不支援加密的應用程式。 提供未加密的應用程式。
您指定的輸入應用程式不是與位置無關的可執行檔 (PIE) 格式。 以 PIE 格式指定有效的應用程式。 位置獨立可執行檔 (PIE) 應用程式在執行時可以在隨機記憶體位址載入。 此功能可提供安全性優點。 如需更多有關安全性優點的資訊,請參閱 Apple Developer 文件。
您指定的輸入應用程式已包裝。 指定有效的未包裝應用程式。 如果工具已處理應用程式,則無法處理應用程式。 如果您想要再次處理應用程式,請使用應用程式的原始版本執行工具。
您指定的輸入應用程式未簽署。 指定有效的已簽署應用程式。 App 包裝工具需要簽署應用程式。 請參閱開發人員文件,以瞭解如何簽署包裝的應用程式。
您指定的輸入應用程式必須是 .ipa 或 .app 格式。 應用程式包裝工具僅接受 .app 和 .ipa 擴充功能。 請確定您的輸入檔案具有有效的副檔名,並編譯為 .app OR .ipa 檔案。
您指定的輸入應用程式已包裝,且位於最新的原則範本版本上。 App Wrapping Tool 不會使用最新的原則範本版本重新包裝現有的包裝應用程式。
警告:您未指定 SHA1 憑證雜湊。 請確定在部署之前已簽署包裝的應用程式。 請確定您在命令列旗標之後 –c 指定有效的 SHA1 雜湊。

從裝置收集包裝應用程式的記錄

在疑難排解期間,請使用下列步驟來取得包裝應用程式的記錄。

  1. 移至裝置上的 iOS 設定應用程式,然後選取 LOB 應用程式。
  2. 選取 [Microsoft Intune]。
  3. 將 [顯示診斷主控台 ] 設定切換為 [開啟]。
  4. 啟動 LOB 應用程式。
  5. 選取 [開始使用] 連結。
  6. 您現在可以將記錄直接傳送給 Microsoft,或透過裝置上的其他應用程式共用。

注意事項

針對包裝在 Intune App Wrapping Tool 版本 7.1.13 或更新版本中的應用程式啟用記錄功能。

從系統收集當機記錄

您的應用程式可能正在將有用的資訊記錄到 iOS 用戶端裝置主控台。 當您遇到應用程式問題並需要判斷問題是否與 App Wrapping Tool 或應用程式本身相關時,此資訊非常有用。 若要擷取此資訊,請使用下列步驟:

  1. 執行應用程式以重現問題。

  2. 依照 Apple 的偵 錯已部署 iOS 應用程式指示收集主機輸出。

包裝的應用程式也會向使用者提供在應用程式當機後透過電子郵件直接從裝置傳送記錄的選項。 使用者可以將記錄傳送給您檢查,並在必要時轉寄給 Microsoft。

憑證、佈建設定檔和驗證需求

iOS 版 App Wrapping Tool 有一些必須滿足的需求,才能保證完整的功能。

需求 詳細資料
iOS 佈建設定檔 請確定佈建設定檔有效再納入。 處理 iOS 應用程式時,App Wrapping Tool 不會檢查佈建設定檔是否已過期。 如果您指定過期的佈建設定檔,應用程式包裝工具會包含該設定檔。 在 iOS 裝置上安裝應用程式失敗之前,您不會看到問題。
iOS 簽署憑證 指定簽署憑證之前,請確定簽署憑證有效。 處理 iOS 應用程式時,工具不會檢查憑證是否已過期。 如果提供過期憑證的雜湊,工具會處理並簽署應用程式,但無法在裝置上安裝。

請確定為簽署包裝應用程式所提供的憑證在佈建設定檔中具有相符項目。 該工具不會驗證佈建設定檔是否與用於簽署包裝應用程式所提供的憑證相符。
驗證 裝置必須有 PIN 碼,加密才能運作。 在您部署包裝應用程式的裝置上,觸碰裝置上的狀態列需要使用者使用公司或學校帳戶重新登入。 包裝應用程式中的預設原則是 重新啟動時的驗證。 iOS 會透過結束應用程式然後重新啟動的方式處理任何外部通知 (例如通話) 。

設定應用程式權利

在包裝您的應用程式之前,您可以授予 權利 以賦予應用程式超出應用程式通常可以執行的額外權限和功能。 在程式碼簽署期間,會使用 權利檔案 來指定應用程式內的特殊權限 (例如,共用鑰匙圈) 的存取權。 在應用程式開發期間,Xcode 中會啟用稱為 功能 的特定應用程式服務。 啟用後,功能會反映在您的權利檔案中。 如需權利和功能的詳細資訊,請參閱在 iOS 開發人員庫中 新增功能 。 如需支援功能的完整清單,請參閱 支援的功能。

iOS 版 App Wrapping Tool 支援的功能

功能 描述 建議的指導方針
應用程式群組 使用應用程式群組來允許多個應用程式存取共用容器,並允許應用程式之間進行更多處理序間通訊。

若要啟用應用程式群組,請開啟 [功能] 窗格,然後在 [應用程式群組] 中選取 [開啟]。 您可以新增應用程式群組或選取現有的應用程式群組。
設定應用程式群組時,請使用反向網域名稱系統 (DNS) 標記法:

group.com.companyName.AppGroup
背景模式 啟用背景模式可讓您的 iOS 應用程式繼續在背景執行。
資料保護 資料保護可為 iOS App 儲存在磁碟上的檔案增加層級的安全性。 資料保護使用特定裝置上的內建加密硬體,以加密格式將檔案儲存在磁碟上。 您的應用程式必須佈建才能使用資料保護。
應用程式內購買 應用程式內購買可讓您連線到商店並安全地處理使用者的付款,從而將商店直接內嵌到您的應用程式中。 您可以使用 App 內購買來收取增強功能或您的 App 可使用的更多內容的付款。
鑰匙圈共用 啟用鑰匙圈共用可讓您的應用程式與您的小組開發的其他應用程式共用鑰匙圈中的密碼。 使用鑰匙圈共用時,請使用反向 DNS 標記法:

com.companyName.KeychainGroup
個人 VPN 啟用個人 VPN 以允許您的應用程式使用網路延伸模組架構建立和控制自訂系統 VPN 設定。
推播通知 Apple 推播通知服務 (APNs) 可讓未在前景執行的 App 通知使用者它有使用者的資訊。 若要讓推播通知正常運作,您必須使用應用程式特定的佈建設定檔。

請遵循 Apple 開發人員文件中的步驟。
無線配件設定 啟用無線配件設定會將「外部配件」框架加入你的專案,並讓你的 App 設定「專為 iPhone 製作」 (MFi) Wi-Fi 配件。

啟用權利的步驟

  1. 啟用應用程式的功能:

    a. 在 Xcode 中,前往應用程式的目標,然後選取 [功能]。

    b. 開啟適當的功能。 如需每個功能的詳細資訊,以及如何判斷正確值,請參閱 在 iOS 開發人員程式庫中 新增功能 。

    c. 記下您在此過程中建立的任何識別碼。 這些 ID 可能稱為 AppIdentifierPrefix 值。

    d. 組建並簽署您要包裝的應用程式。

  2. 在佈建設定檔中啟用權利:

    a. 登入 Apple 開發者成員中心。

    b. 為您的應用程式建立佈建設定檔。 如需指示,請參閱 如何取得 iOS 版 Intune App Wrapping Tool 的先決條件。

    c. 在佈建設定檔中,啟用您在應用程式中擁有的相同權利。 您必須提供與應用程式開發期間所指定) 值 (AppIdentifierPrefix 相同的 ID。

    d. 完成佈建設定檔精靈並下載您的檔案。

  3. 確定您符合所有先決條件,然後包裝應用程式。

疑難排解授權常見的錯誤

如果 App Wrapping Tool for iOS 顯示權利錯誤,請嘗試下列疑難排解步驟。

問題 原因 解決方案
無法剖析從輸入應用程式產生的權利。 App Wrapping Tool 無法讀取從應用程式擷取的權利檔案。 授權檔案格式可能不正確。 檢查應用程式的授權檔案。 下列指示說明如何執行此操作。 檢查授權檔案時,請檢查是否有任何格式不正確的語法。 檔案應為 XML 格式。
佈建設定檔中缺少權利 (遺失的權利會列在) 。 使用具有這些權利的佈建設定檔重新封裝應用程式。 佈建設定檔中啟用的權利與應用程式中啟用的功能不相符。 此不符也適用於與特定功能相關聯的 ID, (例如應用程式群組和鑰匙圈存取) 。 一般而言,您可以建立新的佈建設定檔,以啟用與應用程式相同的功能。 當設定檔和應用程式之間的 ID 不相符時,App Wrapping Tool 會取代 ID。 如果您在建立新的佈建設定檔後仍然收到此錯誤,您可以嘗試使用參數從 –e 應用程式移除權利, (請參閱 –e 使用參數從應用程式移除權利一節) 。

尋找已簽署應用程式的現有權利

若要檢閱已簽署應用程式和佈建設定檔的現有權利:

  1. 尋找 .ipa 檔案,並將副檔名變更為 .zip。

  2. 展開 .zip 檔案。 此動作會建立包含 .app 套件組合的承載資料夾。

  3. 使用 codesign 工具檢查 .app 捆綁包上的權利,其中 YourApp.app 是 .app 捆綁包的實際名稱。

    codesign -d --entitlements :- "Payload/YourApp.app"
    
  4. 使用安全性工具檢查應用程式內嵌佈建設定檔的授權,其中 YourApp.app 是.app套件組合的實際名稱。

    security cms -D -i "Payload/YourApp.app/embedded.mobileprovision"
    

使用 –e 參數從應用程式移除權利

此命令會移除應用程式中不在權利檔案中的任何已啟用功能。 如果您移除應用程式正在使用的功能,可能會中斷您的應用程式。 您可能會移除遺失功能的範例是廠商製作的應用程式,該應用程式預設具有所有功能。

./IntuneMAMPackager/Contents/MacOS/IntuneMAMPackager –i /<path of input app>/<app filename> -o /<path to output folder>/<app filename> `–p` /<path to provisioning profile> –c <SHA1 hash of the certificate> -ac <client ID of input app> -ar <redirect URI of input app> -e

App Wrapping Tool 的安全性和隱私權

使用 App Wrapping Tool 時,請使用下列安全性和隱私權最佳作法。

  • 您指定的簽署憑證、佈建設定檔和企業營運應用程式必須位於您用來執行應用程式包裝工具的同一部 macOS 電腦上。 如果檔案位於 UNC 路徑上,請確定 macOS 電腦可以存取這些檔案。 路徑必須透過 IPsec 或 SMB 簽章加以保護。

    匯入系統管理中心的包裝應用程式應該位於執行工具的同一部電腦上。 如果檔案位於 UNC 路徑上,請確定在執行系統管理中心的電腦上可存取該檔案。 路徑必須透過 IPsec 或 SMB 簽章加以保護。

  • 從 GitHub 存放庫下載 App Wrapping Tool 的環境必須透過 IPsec 或 SMB 簽章加以保護。

  • 您處理的應用程式必須來自可信任的來源,以確保免受攻擊。

  • 確保您在 App Wrapping Tool 中指定的輸出資料夾是安全的,特別是如果它是遠端資料夾。

  • 包含檔案上傳對話方塊的 iOS 應用程式可以允許使用者規避、剪下、複製和貼上應用程式所套用的限制。 例如,使用者可以使用檔案上傳對話方塊來上傳應用程式資料的螢幕擷取畫面。

  • 當您從包裝的應用程式中監視裝置上的文件資料夾時,您可能會看到一個名為 .msftintuneapplauncher的資料夾。 如果您變更或刪除此檔案,可能會影響受限制應用程式的正常運作。

  • 註冊自訂 URL 配置可讓特定 URL 重新導向至您的應用程式。 iOS 和 iPadOS 允許多個應用程式註冊相同的自訂 URL 配置,並由作業系統決定要叫用的應用程式。 請參閱 Apple 文件: 為您的應用程式定義自訂 URL 配置 ,以取得有助於避免自訂 URL 配置衝突的建議,以及處理格式錯誤 URL 的安全性指導方針。

其他資源