將 watchOS 應用程式部署至 App Store
重要
請務必檢閱 疑難解答 一節,以取得您可能擁有的任何問題。
請確定您有:
- 為專案建立的散發佈建配置檔 。
- iOS 父應用程式的部署目標 (
MinimumOSVersion
) 設定為 8.2 或更早版本 (不支援 8.3)。
在 iTunes 連線:
- 建立 iOS 應用程式專案(或將新版本新增至現有的應用程式)。
- 新增監看式圖示和螢幕快照。
然後在 Visual Studio for Mac 中 (目前不支援 Visual Studio):
- 以滑鼠右鍵按兩下 iOS 應用程式,然後選擇 [ 設定為啟始專案]。
- 變更為 App Store 設定。
- 使用封存功能建立應用程式封存。
最後,切換至 Xcode 6.2+
- 移至 [視窗召集人],然後選擇 [封存>]。
- 從清單中選取應用程式和封存。
- (選擇性) 驗證。。。 封存。
- 提交。。。封存並依照步驟上傳至 iTunes 連線 以進行檢閱和核准。
閱讀下列與這些項目相關的特定秘訣。 如果您有問題, 請參閱疑難解答 一節。
散發佈建配置檔
若要建置 App Store 部署,您必須為解決方案中的每個應用程式識別碼建立散發 佈建配置檔 。
如果您有通配符應用程式識別碼, 則只需要一個布建配置檔;但如果您有每個專案的個別應用程式識別碼,則需要每個應用程式識別碼的佈建配置檔:
建立這三個配置檔之後,它們就會出現在清單中。 請記得下載並安裝每一個 (按兩下):
您可以選取 [建>置 iOS 套件組合簽署] 畫面,然後選取 AppStore | i 電話 組態,以確認 [項目選項] 中的布建配置檔。
[ 布建設定檔 ] 列表會顯示所有相符設定檔 - 您應該會看到您已在此下拉式清單中建立的相符設定檔。
iTunes Connect
請遵循應用程式散發概觀,特別是:
在 iTunes 連線 中設定應用程式時,別忘了新增監看式圖示和螢幕快照:
圖示檔案應為 1024x1024 像素,並在顯示時套用圓形遮罩。 圖示不應該有Alpha色板。
至少需要一個螢幕快照,最多可以提交五個螢幕快照。 它們應該是 312x390 像素,並示範您的監看應用程式運作情形。 您可以使用 42mm 監看式模擬器來取得此大小的螢幕快照。
Visual Studio for Mac
確定 iOS 應用程式是啟動專案。 如果沒有,請以滑鼠右鍵按下以設定它:
選擇 AppStore 組建組態:
選擇 [ 建 > 置封存 ] 選單項以啟動封存程式:
您也可以選擇 [ 檢視 > 封存... ] 功能表項,以查看先前建立的封存。
Xcode
Xcode 會自動顯示 Visual Studio for Mac 中建立的封存。
啟動 Xcode 並選擇 [視窗 > 召集人]:
切換至 [ 封存 ] 索引卷標,然後選取使用 Visual Studio for Mac 建立的封存:
選擇性地驗證... 封存,然後選擇 [提交...],將應用程式上傳至 iTunes 連線。
選擇開發小組(如果您屬於多個),然後確認提交:
再次流覽 iTunes 連線 以查看上傳的二進位檔。 移至應用程式的組態頁面,然後從頂端功能表中選擇 [發行前版本 ],以查看 [ 組建 ] 清單:
然後,您可以在 [版本] 頁面上提交應用程式以供核准。 如需詳細資訊, 請參閱 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.
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,就會發生此錯誤。