将 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 部署生成,需要为解决方案中的每个应用 ID 创建 分发预配配置文件 。
如果你有一个野生应用 ID卡应用 ID,则只需要一个预配配置文件;但如果每个项目都有单独的应用 ID,则需要为每个应用 ID 设置配置文件:
创建所有三个配置文件后,它们将显示在列表中。 请记住下载并安装每一个(双击):
可以通过选择“生成 > iOS 捆绑签名”屏幕并选择 AppStore | i电话配置来验证项目选项中的预配配置文件。
预配 配置文件 列表将显示所有匹配的配置文件 - 应会看到在此下拉列表中创建的匹配配置文件。
iTunes Connect
请遵循应用分发概述,特别是:
在 iTunes 连接中配置应用时,不要忘记添加“监视”图标和屏幕截图:
图标文件应为 1024x1024 像素,并在显示时应用圆形掩码。 该图标不应具有 alpha 通道。
至少需要一个屏幕截图,最多可以提交 5 个屏幕截图。 它们应为 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,则会发生此错误。