Mac Catalyst 功能
在 Mac Catalyst .NET 多平臺應用程式 UI (.NET MAUI) 應用程式上,會在沙箱中執行,以提供一組規則來限制應用程式與系統資源或使用者數據之間的存取。 Apple 提供 的功能,也稱為 應用程式服務,以擴充功能,並擴大 Mac Catalyst 應用程式可以執行的功能範圍。 如需功能的詳細資訊,請參閱 developer.apple.com 的功能。
功能會新增至應用程式的佈建配置檔,並在程式碼簽署應用程式時使用。 布建配置檔必須包含符合您應用程式套件組合識別碼的應用程式識別碼,並啟用必要的功能。 布建配置檔應該在您的Apple開發人員帳戶中建立。
功能與權利的概念密切相關。 它們都會要求擴充應用程式執行中的沙箱,以提供額外的功能。 開發應用程式時通常會新增權利,而功能通常會在程式代碼簽署應用程式以進行散發時新增。 如需權利的詳細資訊,請參閱 權利。
在您的 Apple 開發人員帳戶中新增功能
您可以在 Apple 開發人員帳戶中將功能新增至應用程式的佈建設定檔。 這是需要建立簽署憑證、應用程式標識碼和布建配置檔的多步驟程式。
將新功能新增至布建配置檔時,您也應該將相同的功能新增至應用程式的 Entitlements.plist 檔案,並確定應用程式會使用此檔案。 如需詳細資訊,請參閱 權利。 針對某些功能,您可能也需要在 Info.plist 中設定隱私權密鑰。
建立簽署憑證
建立布建配置檔需要您先前已建立簽署憑證。 簽署憑證的類型取決於您應用程式的預定散發通道:
- 如果您想要透過 Mac App Store 散發應用程式,請參閱發佈 Mac App Store 散發中的發佈憑證。
- 如果您想要在 Mac App Store 外部散發應用程式,請參閱在發布 Mac Catalyst 應用程式中建立開發人員標識符應用程式憑證,以在 Mac App Store 外部散發。
- 如果您想要將應用程式散發給已註冊裝置上的有限使用者,請在Mac App Store外部,請參閱在發佈Mac Catalyst 應用程式以進行臨機操作散發時建立開發憑證。
使用應用程式服務建立應用程式識別碼
應用程式標識碼類似於反向 DNS 字串,可唯一識別應用程式,而且必須識別您要散發的應用程式。 應用程式識別碼應該與應用程式的套件組合標識碼相同。
重要
.NET MAUI 應用程式的套件組合識別符會儲存在專案檔中作為 應用程式識別符 屬性。 在 Visual Studio 中,於 方案總管 以滑鼠右鍵按鍵按下 .NET MAUI 應用程式專案,然後選取 [屬性]。 然後,流覽至 [MAUI 共用一般] 索引標籤>。[應用程式識別碼] 欄位會列出套件組合識別碼。
更新 [應用程式識別符] 字段的值時,Info.plist 中 [套件組合標識符] 的值將會自動更新。
應用程式識別碼有兩種類型 - 明確和通配符。 明確的應用程式識別碼對單一應用程式而言是唯一的,而且通常會採用 格式 com.domainname.myid
。 明確的應用程式識別碼允許將一個具有相符套件組合標識碼的應用程式安裝到裝置。 啟用應用程式特定功能的應用程式需要明確的應用程式標識碼。
您可以使用下列步驟來建立明確的應用程式識別碼:
在網頁瀏覽器中,移至 Apple 開發人員帳戶的 [標識符 ] 區段,然後按兩下 + 按鈕。
在 [註冊新的標識符] 頁面中,選取 [應用程式標識符],然後按兩下 [繼續] 按鈕。
在 [ 註冊新的標識符 ] 頁面中,選取 [ 應用程式 類型],然後按兩下 [ 繼續] 按鈕。
在 [註冊應用程式標識符] 頁面中,提供 [描述],並將套件組合標識符設定為 [明確]。 然後,以 下列格式
com.domainname.myid
輸入應用程式識別碼:在 [註冊應用程式識別符] 頁面中,於 [功能和應用程式服務] 索引標籤底下啟用您的必要功能:
在 [ 註冊應用程式識別符 ] 頁面中,按兩下 [ 繼續] 按鈕。
在 [ 確認您的應用程式標識符 ] 頁面中,檢閱資訊,然後按兩下 [ 註冊 ] 按鈕。 如果您的應用程式識別碼成功註冊,您將會回到Apple開發人員帳戶的 [標識符] 區段。
在 [ 標識符] 頁面中,按下您剛才建立的應用程式識別碼。
在 [ 編輯您的應用程式識別符組態 ] 頁面中,任何需要額外設定的已啟用功能都會有 [ 設定 ] 按鈕:
按兩下任何 [設定 ] 按鈕來設定已啟用的功能。 如需詳細資訊,請參閱 在 developer.apple.com 上設定應用程式功能 。
建立布建配置檔
建立應用程式識別碼之後,您必須建立應用程式識別碼的佈建配置檔。 您建立的佈建設定檔也會取決於您應用程式的預定散發通道:
- 如果您想要透過 Mac App Store 散發應用程式,請參閱發佈 Mac App Store 散發中的佈建配置檔。
- 如果您想要在 Mac App Store 外部發布應用程式,請參閱在發布 Mac Catalyst 應用程式中建立布建配置檔,以在 Mac App Store 外部發布。
- 如果您想要將應用程式散發給已註冊裝置上的有限使用者,請在 Mac App Store 外部,請參閱在發佈 Mac Catalyst 應用程式中建立佈建配置檔以進行臨機操作散發。
在 Xcode 中下載布建配置檔
在 Apple 開發人員帳戶中建立布建設定檔之後,Xcode 可以下載它,以便簽署您的應用程式:
在您的 Mac 上,啟動 Xcode。
在 Xcode 中 ,選取 [Xcode > 喜好設定... ] 功能表項。
在 [ 喜好設定 ] 對話框中,選取 [ 帳戶] 索引卷 標。
在 [ 帳戶] 索引標籤中 + ,按兩下按鈕,將您的 Apple 開發人員帳戶新增至 Xcode:
在帳戶類型彈出視窗中,選取 [Apple ID ],然後按兩下 [ 繼續] 按鈕:
在登入彈出視窗中,輸入您的 Apple ID,然後按下 一步] 按鈕。
在登入彈出視窗中,輸入您的 Apple ID 密碼,然後按下 一步] 按鈕:
在 [ 帳戶] 索引標籤中,按兩下 [ 管理憑證... ] 按鈕,以確保已下載您的散發憑證。
在 [ 帳戶] 索引標籤中,按兩下 [ 下載手動設定檔 ] 按鈕以下載布建設定檔:
等候下載完成,然後關閉 Xcode。
在項目檔中定義組建屬性
應用程式的項目檔應更新為使用簽署憑證、布建配置檔和權利檔案。 將下列建置屬性新增至 <PropertyGroup>
項目檔中的 ,即可達成此目的:
屬性 | 值 |
---|---|
<CodesignKey> |
程式代碼簽署金鑰的名稱。 設定為散發憑證的名稱,如 Keychain Access 中所顯示。 |
<CodesignEntitlements> |
權利檔案的路徑,指定應用程式所需的權利。 設定為 Platforms\MacCatalyst\Entitlements.plist 。 |
<CodesignProvision> |
簽署應用程式套件組合時要使用的布建配置檔。 |
<EnableCodeSigning> |
設定為 true ,以便啟用程式代碼簽署。 |
下列範例示範建置和簽署 Mac Catalyst app for Mac App Store 散發套件的一般屬性群組:
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0-maccatalyst|AnyCPU'">
<EnableCodeSigning>True</EnableCodeSigning>
<CodesignKey>Apple Distribution: John Smith (AY2GDE9QM7)</CodesignKey>
<CodesignProvision>MyMauiApp</CodesignProvision>
<CodesignEntitlements>Platforms\MacCatalyst\Entitlements.plist</CodesignEntitlements>
</PropertyGroup>
疑難排解
下列清單詳細說明開發使用功能的 .NET MAUI Mac Catalyst 應用程式時,可能造成問題的常見問題:
- 請確定已在Apple開發人員帳戶的 [標識符] 區段中建立並註冊正確的應用程式識別碼。
- 請確定功能已新增至應用程式識別碼,並使用正確的值來設定功能。
- 請確定布建配置檔已安裝在您的開發計算機上,且應用程式的 Info.plist 檔案使用與您應用程式識別碼完全相同的套件組合識別碼。
- 確定應用程式的 Entitlements.plist 檔案已啟用正確的權利。
- 請確定 Info.plist 中已設定任何必要的隱私權密鑰。
- 確定應用程式會取用 Entitlements.plist 檔案。