共用方式為


將 watchOS 應用程式部署至 App Store

重要

請務必檢閱 疑難解答 一節,以取得您可能擁有的任何問題。

  • 請確定您有:

  • iTunes 連線

    • 建立 iOS 應用程式專案(或將新版本新增至現有的應用程式)。
    • 新增監看式圖示和螢幕快照。
  • 然後在 Visual Studio for Mac(目前不支援 Visual Studio):

    • 以滑鼠右鍵按兩下 iOS 應用程式,然後選擇 [ 設定為啟始專案]。
    • 變更為 App Store 設定。
    • 使用封存功能建立應用程式封存。
  • 最後,切換至 Xcode 6.2+

    • 移至 [視窗召集人],然後選擇 [封存>]。
    • 從清單中選取應用程式和封存。
    • (選擇性) 驗證。。。 封存。
    • 提交。。。封存並依照步驟上傳至 iTunes 連線 以進行檢閱和核准。

閱讀下列與這些項目相關的特定秘訣。 如果您有問題, 請參閱疑難解答 一節。

散發佈建配置檔

若要建置 App Store 部署,您必須為解決方案中的每個應用程式識別碼建立散發 佈建配置檔

如果您有通配符應用程式識別碼, 則只需要一個布建配置檔;但如果您有每個專案的個別應用程式識別碼,則需要每個應用程式識別碼的佈建配置檔:

The App Store Distribution profile

建立這三個配置檔之後,它們就會出現在清單中。 請記得下載並安裝每一個 (按兩下):

The list of available profiles

您可以選取 [建>置 iOS 套件組合簽署] 畫面,然後選取 AppStore | i 電話 組態,以確認 [項目選項] 中的布建配置檔。

[ 布建設定檔 ] 列表會顯示所有相符設定檔 - 您應該會看到您已在此下拉式清單中建立的相符設定檔。

The iOS Bundle Signing dialog

iTunes Connect

請遵循應用程式散發概觀,特別是:

在 iTunes 連線 中設定應用程式時,別忘了新增監看式圖示和螢幕快照:

The Watch icon and screenshots in iTunes Connect

圖示檔案應為 1024x1024 像素,並在顯示時套用圓形遮罩。 圖示不應該有Alpha色板。

至少需要一個螢幕快照,最多可以提交五個螢幕快照。 它們應該是 312x390 像素,並示範您的監看應用程式運作情形。 您可以使用 42mm 監看式模擬器來取得此大小的螢幕快照。

Visual Studio for Mac

  1. 確定 iOS 應用程式是啟動專案。 如果沒有,請以滑鼠右鍵按下以設定它:

    Setting the startup project

  2. 選擇 AppStore 組建組態:

    The AppStore build configuration

  3. 選擇 [ 建 > 置封存 ] 選單項以啟動封存程式:

    The Build menu

您也可以選擇 [ 檢視 > 封存... ] 功能表項,以查看先前建立的封存。

The Archives view

Xcode

Xcode 會自動顯示 Visual Studio for Mac 中建立的封存。

  1. 啟動 Xcode 並選擇 [視窗 > 召集人]:

    The Window menu

  2. 切換至 [ 封存 ] 索引卷標,然後選取使用 Visual Studio for Mac 建立的封存:

    The Archives tab

  3. 選擇性地驗證... 封存,然後選擇 [提交...],將應用程式上傳至 iTunes 連線。

  4. 選擇開發小組(如果您屬於多個),然後確認提交:

    The development team section

  5. 再次流覽 iTunes 連線 以查看上傳的二進位檔。 移至應用程式的組態頁面,然後從頂端功能表中選擇 [發行前版本 ],以查看 [ 組建 ] 清單:

    The apps configuration page in iTunes Connect

然後,您可以在 [版本] 頁面上提交應用程式以供核准。 如需詳細資訊, 請參閱 iOS 應用程式散發概觀

疑難排解

以下是提交至 App Store 時可能會遇到的一些錯誤,以及您可以採取的步驟加以修正。

Visual Studio for Mac 中看不到封存功能表選項

請遵循上述步驟來設定封存解決方案。 如果您無法正確設定啟動專案,請先確定組建組態會先設定為 [偵錯] 或 [發行],再嘗試變更啟動專案。 然後將組建組態設定回 AppStore

無效圖示

Invalid Icon - The watch application '...watchkitextension.appex/WatchApp.app'
contains an icon file '...watchkitextension.appex/WatchApp.app/AppIcon27.5x27.5@2x.png'
with an alpha channel. Icons should not have an alpha channel.

請遵循指示,從圖示中移除Alpha色板

CFBundleVersion 不符

CFBundleVersion Mismatch. The CFBundleVersion value '1' of watch application
'...watchkitextension.appex/WatchApp.app' does not match the CFBundleVersion
value '1.0' of its containing iOS application `YouriOS.app`.

解決方案中的所有專案 - iOS 應用程式、監看式延伸模組和監看式應用程式 - 都應該使用相同的版本號碼。 編輯每個 Info.plist 檔案,讓版本號碼完全相符。

遺漏圖示

Missing Icons. No icons found for watch application '...watchkitextension.appex/WatchApp.app'.
Please make sure that its Info.plist file includes entries for CFBundleIconFiles.

依照使用圖示中的指示,將所有必要的影像新增至 Watch App 專案。

遺漏圖示

Missing Icon. The watch application '...watchkitextension.appex/WatchApp.app'
is missing icon with name pattern '*44x44@2x.png' (Home Screen 42mm).

請確定您有最新版的 Visual Studio for Mac,而且您的 AppIcon.appiconset 包含一組完整的影像。 如果您仍然看到此錯誤,請檢視Contents.json的來源,以確認它包含所有必要影像的專案。 或者,一旦您確定使用的是最新版本的 Xamarin,請刪除並重新建立 AppIcon.appiconset

重要

Visual Studio for Mac 監看式圖示支援中有已知的 Bug:它預期29x29@3x影像的 88x88 像素影像(應為 87x87 像素)。

您無法在 Visual Studio for Mac 中修正此問題 - 在 Xcode 中編輯影像資產,或手動編輯 Contents.json 檔案。

無效的 WatchKit 支援

Invalid WatchKit Support - The bundle contains an invalid implementation of WatchKit.
The app may have been built or signed with non-compliant or pre-release tools.

此訊息可能會出現在驗證和提交期間,或出現在iTunes的自動化電子郵件中,連線明顯成功上傳之後。

重要

您必須在 Visual Studio for Mac 中封存應用程式,然後切換至 Xcode 6.2+ 以驗證並上傳至 iTunes 連線。

使用穩定 Xamarin 通道和 Xcode 6.2+。

布建配置檔無效

Invalid Provisioning Profile. The provisioning profile included in the bundle
...iOSWatchApp.watchkitapp [iOSWatchApp.app/PlugIns/...iOSWatchApp.watchkitextension.appex/WatchApp.app]
is invalid. [Missing code-signing certificate.]

散發佈建配置檔 必須針對監看應用程式解決方案中的所有三個專案提供:iOS 應用程式、監看延伸模組和監看式應用程式 - 明確 (三個配置檔) 或透過單一通配符配置檔。 檢查 iOS 開發人員中心 中是否存在布建配置檔,且您已下載並將它們新增至 Mac。

無效的程式代碼簽署權利

ITMS-90046: Invalid Code Signing Entitlements. Your application bundle's signature contains
code signing entitlements that are not supported on iOS. Specifically, value
'...watchkitextension' for key 'application-identifier' in '...watchkitextension'
is not supported. The value should be a string startign with your TEAMID, followed
by a dot '.' followed by the bundle identifier.

請確定您在 Apple 開發人員中心 上已正確設定布建設定檔,且您已下載並安裝它們。 此外,請檢查它們是否已在每個專案的Visual Studio for Mac 屬性視窗中設定。

無效的架構

Invalid architecture: Apps that include an app extension
and framework must support arm64.

您只能新增 Watch Apps Unified API (64 位) Xamarin.iOS 應用程式。 以滑鼠右鍵按下 iOS 應用程式專案,然後移至 [選項>建置 iOS 組建>>進階] 索引標籤,並確定 AppStore-i 電話 設定的支援架構包含 ARM64(例如: ARMv7 + ARM64)。

此套件組合無效。

ITMS-90068: This bundle is invalid. The value provided for the key
MinimumOSVersion '8.3' is not acceptable.

您的父 iOS 應用程式必須將 MinimumOSVersion 設定為 '8.2' 或更早版本。

非公用 API 使用方式

Your app contains non-public API usage.
Please review the errors, and resubmit your application.

請確定您使用的是最新版本的 Xcode 和 Xamarin 工具。 您的程式代碼不應該存取任何非公用 API。

建置錯誤 MT5309

Error MT5309: Native linking error: clang: error: no such file or directory:

此錯誤可能是您從 Xcode.app 重新命名 Xcode 安裝的結果。 例如,如果您將安裝重新命名為 XCode 6.2.app,就會發生此錯誤。