使用 Intune 應用程式包裝工具將 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 工具組 14.0 版或更新版本的 macOS 計算機。

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

    • 輸入應用程式檔案的擴展名必須是 .ipa.app

    • 輸入應用程式必須針對 iOS 14.0 或更新版本進行編譯。

    • 輸入應用程式無法加密。

    • 輸入應用程式不能有擴充檔屬性。

    • 輸入應用程式必須先設定權利,才能由 Intune App Wrapping Tool 處理。 權利可 為應用程式提供比一般所授與更多的許可權和功能。 如需指示,請參閱 設定應用程式權利

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

使用 Microsoft Entra識別元註冊您的應用程式

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

注意事項

和參數-ac-ar是必要的參數。 每個應用程式都需要一組唯一的參數。 -aa 只有單一租使用者應用程式才需要 。

  1. 部署應用程式。

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

若要以獨佔方式將包裝的應用程式散發給組織的使用者,您需要一個具有 Apple Developer Enterprise Program 的帳戶,以及連結至Apple Developer 帳戶的數個應用程式簽署實體。

若要深入瞭解如何在內部將 iOS 應用程式散發給組織的使用者,請閱讀 散發 Apple Developer Enterprise Program Apps 的官方指南。

您將需要下列項目來散發由 Intune 包裝的應用程式:

  • Apple Developer Enterprise Program 的開發人員帳戶。

  • 具有有效小組標識碼的內部和臨機操作散發簽署憑證。

    • 您將需要簽署憑證的SHA1哈希作為Intune App Wrapping Tool的參數。
  • 內部散發佈建配置檔。

建立 Apple Developer Enterprise 帳戶的步驟

  1. 移至 Apple Developer Enterprise Program 網站

  2. 在頁面右上方,按兩下 [ 註冊]

  3. 閱讀您需要註冊項目的檢查清單。 按兩下頁面底部的 [ 開始註冊 ]。

  4. 使用 組織的Apple ID登入。 如果您沒有 Apple ID,請按兩下 [ 建立 Apple ID]

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

  6. 在表單中填入您組織的資訊。 按一下 [繼續]。 此時,Apple 會連絡您,確認您已獲授權註冊您的組織。

  7. 驗證之後,按兩下 [ 同意授權]

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

  9. 如果您是小組代理程式 (代表貴組織加入Apple Developer Enterprise Program 的人員) ,請先邀請小組成員並指派角色來建置您的小組。 若要瞭解如何管理您的小組,請閱讀 管理開發人員帳戶小組的 Apple 檔。

建立 Apple 簽署憑證的步驟

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

  2. 在頁面右上方,單擊 [ 帳戶]

  3. 使用 您的組織Apple ID登入。

  4. 按下 [憑證]、[設定檔 & 識別符]

    Apple 開發人員入口網站 - 憑證、標識子 & 配置檔

  5. 按兩下右上角的 Apple Developer入口網站加號 以新增iOS 憑證。

  6. 選擇在 [生產] 底下建立內部和臨機操作憑證。

    選 In-House 和臨機操作憑證

    注意事項

    如果不打算散發應用程式,而且只想要在內部進行測試,您可以使用 iOS 應用程式開發憑證,而不是生產環境的憑證。 如果您使用開發憑證,請確定行動布建配置檔參考將安裝應用程式的裝置。

  7. 按兩下頁面底部的 [ 下一步 ]。

  8. 閱讀在macOS電腦上使用Keychain Access應用程式 (CSR) 建立憑證簽署要求 的指示。

    閱讀建立 CSR 的指示

  9. 請遵循上述指示來建立憑證簽署要求。 在 macOS 電腦上,啟動 Keychain Access 應用程式。

  10. 在畫面頂端的 macOS 功能表上,移至 [ 金鑰鏈存取 > 憑證小幫 > 手向證書頒發機構單位要求憑證]

    在金鑰鏈存取中向證書頒發機構單位要求憑證

  11. 請遵循上述 Apple 開發人員網站的指示,瞭解如何建立 CSR 檔案。 將 CSR 檔案儲存至 macOS 計算機。

    輸入您所要求憑證的資訊

  12. 返回Apple開發人員網站。 按一下 [繼續]。 然後上傳 CSR 檔案。

  13. Apple 會產生您的簽署憑證。 下載並儲存到 macOS 計算機上易記的位置。

    下載您的簽署憑證

  14. 按兩下您剛下載的憑證檔案,將憑證新增至金鑰鏈。

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

    將您的憑證新增至金鑰鏈

  16. 信息視窗隨即出現。 捲動到底部,並查看 [指紋] 卷 標下方。 將 SHA1 字串複製 (模糊化) 以做為 App Wrapping Tool “-c” 的自變數。

    iPhone 資訊 - 指紋 SHA1 字串

建立 In-House 散發佈建配置檔的步驟

  1. 返回 至 Apple Developer 帳戶入口網站,並使用您的組織 Apple ID 登入。

  2. 按下 [憑證]、[設定檔 & 識別符]

  3. 按兩下右上角的 Apple Developer 入口網站加號 ,以新增 iOS 佈建設定檔。

  4. 選擇在 [散發] 底下建立內部布建配置檔。

    選取 [內部佈建設定檔]

  5. 按一下 [繼續]。 請務必將先前產生的簽署憑證連結至布建配置檔。

  6. 請遵循步驟,將擴展名為 .mobileprovision) 的配置檔 (下載到 macOS 計算機。

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

下載 App Wrapping Tool

  1. 將 App Wrapping Tool 的檔案從 GitHub 下載到 macOS 計算機。

  2. 按兩下 Microsoft Intune iOS.dmg 應用程式限制封裝程式。 隨即會出現具有最終使用者許可協定 (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> [-b [<output app build string>]] [-v] [-e] [-x /<array of extension provisioning profile paths>]

注意事項

某些參數是選擇性的,如下表所示。

例子:下列範例命令會在名為 MyApp.ipa 的應用程式上執行 App Wrapping Tool。 系統會指定簽署憑證的布建配置檔和 SHA-1 哈希,並用來簽署包裝的應用程式。 輸出應用程式 (MyApp_Wrapped.ipa) 會建立並儲存在您的 Desktop 資料夾中。

./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"  -v true

命令行參數

您可以使用下列命令列參數搭配 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 true
Property 如何使用它
-我 <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 可用命令行屬性的詳細使用方式資訊。
-交流 <Client ID of the input app if the app uses the Microsoft Authentication Library> 這是 [應用程式註冊] 刀鋒視窗中應用程式清單中 [用戶端識別符] 字段中的 GUID。
-Ar <Redirect/Reply URI of the input app if the app uses the Microsoft Authentication Library> 這是應用程式註冊中設定的重新導向 URI。 一般而言,這是 Microsoft Authenticator 應用程式在代理驗證之後會傳回的應用程式 URL 通訊協定。
-機 管 局 (單一租使用者應用程式的必要) 也就是<Authority URI of the input app>https://login.microsoftonline.com/<tenantID>/
-V (選擇性) 將詳細資訊訊息輸出至主控台。 建議您使用此旗標來偵錯任何錯誤。
-e (選擇性) 使用此旗標可讓 App Wrapping Tool 在處理應用程式時移除遺漏的權利。 如需詳細資訊,請參閱 設定應用程式權利
-氙氣 (選擇性) 列印應用程式中 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 記錄。

使用 plist 輸入自變數

執行 App Wrapping Tool的簡單方式是將所有命令自變數放入 plist 檔案中。 Plist 是類似於 XML 的檔案格式,可用來使用表單介面輸入命令行自變數。

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

Plist 索引鍵 類型 預設值 附註
輸入應用程式封裝路徑 String 與 -i 相同
輸出應用程式封裝路徑 String 與 -o 相同
布建配置檔路徑 String 與 -p 相同
SHA-1 憑證哈希 String 與 -c 相同
MSAL 授權單位 String 與 -aa 相同
MSAL 用戶端識別碼 String 與 -ac 相同
MSAL 回復 URI String 與 -ar 相同
已啟用詳細資訊 布林值 與 -v 相同
拿掉遺漏的權利 布林值 與 -e 相同
防止預設組建更新 布林值 相當於使用 -b 而不使用自變數
建置字串覆寫 String 包裝輸出應用程式的自定義 CFBundleVersion
延伸模組布建配置檔路徑 字串陣列 應用程式延伸模組布建配置檔的陣列。
停用遙測 布林值 與 -dt 相同
停用 MSAL 記錄覆寫 布林值 與 -dl 相同

以 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.ipa 延伸模組的應用程式才會被 App Wrapping Tool 接受。 請確定您的輸出檔案具有有效的擴展名。
指定了無效的簽署憑證。 指定有效的Apple簽署憑證。 請確定您已從Apple開發人員入口網站下載正確的簽署憑證。 您的憑證可能已過期,或可能遺失公開或私鑰。 如果您的 Apple 憑證和布建設定檔可用來在 Xcode 內正確簽署應用程式,則它們對 App Wrapping Tool 有效。 此外,請確認簽署憑證在主機 macOS 計算機的金鑰鏈內具有唯一的名稱。 如果金鑰鏈內有多個相同憑證的版本,則可能會傳回此錯誤。
您指定的輸入應用程式無效。 指定有效的應用程式。 請確定您有已編譯為 .app 或 .ipa 檔案的有效 iOS 應用程式。
您指定的輸入應用程式已加密。 指定有效的未加密應用程式。 App Wrapping Tool 不支援加密的應用程式。 提供未加密的應用程式。
您指定的輸入應用程式不是以位置獨立可執行檔案 (PIE) 格式。 以 PIE 格式指定有效的應用程式。 位置獨立可執行檔 (PIE) 應用程式可以在執行時於隨機記憶體位址載入。 這可以有安全性優點。 如需安全性優點的詳細資訊,請參閱您的Apple Developer 檔。
您指定的輸入應用程式已經包裝。 指定有效的未包裝應用程式。 您無法處理已由工具處理的應用程式。 如果您想要再次處理應用程式,請使用應用程式的原始版本來執行工具。
您指定的輸入應用程式未簽署。 指定有效的已簽署應用程式。 應用程式包裝工具需要簽署應用程式。 請參閱您的開發人員檔,以瞭解如何簽署包裝的應用程式。
您指定的輸入應用程式必須是 .ipa 或 .app 格式。 應用程式包裝工具只接受 .app 和 .ipa 延伸模組。 請確定您的輸入檔具有有效的擴展名,並已編譯為 .app 或 .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 應用程式儲存在磁碟上的檔案。 數據保護會使用存在於特定裝置上的內建加密硬體,將加密格式的檔案儲存在磁碟上。 您的應用程式必須布建才能使用資料保護。
應用程式內購買 應用程式內購買可讓您連線到市集,並安全地處理使用者的付款,直接將市集內嵌到您的應用程式中。 您可以使用應用程式內購買來收集增強功能的付款,或用於應用程式可用的其他內容。
金鑰鏈共用 啟用金鑰鏈共用可讓您的應用程式與小組所開發的其他應用程式共用金鑰鏈中的密碼。 使用金鑰鏈共享時,請使用反向 DNS 表示法:

com.companyName.KeychainGroup
個人 VPN 啟用個人 VPN,讓您的應用程式能夠使用網路擴充功能架構建立及控制自定義系統 VPN 設定。
推播通知 Apple 推播通知服務 (APN) 可讓未在前景執行的應用程式通知使用者它具有使用者的資訊。 若要讓推播通知能夠運作,您必須使用應用程式特定的布建配置檔。

請遵循 Apple開發人員檔中的步驟。
無線附屬組態 啟用無線配件組態會將外部配件架構新增至您的專案,並讓您的應用程式設定 MFi Wi-Fi 配件。

啟用權利的步驟

  1. 在您的應用程式中啟用功能:

    a. 在 Xcode 中,移至您應用程式的目標,然後按兩下 [ 功能]

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

    c. 請注意您在程式期間建立的任何識別碼。 這些也稱為 AppIdentifierPrefix 值。

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

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

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

    b. 為您的應用程式建立布建配置檔。 如需指示,請參閱如何取得適用於 iOS 的 Intune App Wrapping Tool 的必要條件

    c. 在您的布建配置檔中,啟用您在應用程式中擁有的相同權利。 您必須 (應用程式開發期間指定的值) 提供相同的識別 AppIdentifierPrefix 碼。

    d. 完成布建配置檔精靈並下載您的檔案。

  3. 請確定您已滿足所有必要條件,然後包裝應用程式。

針對權利的常見錯誤進行疑難解答

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

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

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

若要檢閱已簽署應用程式和布建配置檔的現有權利:

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

  2. 展開 .zip 檔案。 這會產生包含 .app 套件組合的 Payload 資料夾。

  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> -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 配置,而 OS 會決定叫用的應用程式。 如需協助避免自定義 URL 配置衝突和安全性指導方針以處理格式不正確的 URL 的建議,請參閱 Apple 檔案定義 應用程式的自定義 URL 配置。

另請參閱