苹果4月初宣布所有注册开发者已经可以向App Store提交基于WatchKit开发的Apple Watch app了,不过不少开发者遇到了模拟器中没有发现的问题。这篇文章主要收集了一些提交tips和常见问题的解决方案,但首先你要先学习下苹果的官方指南。
文中大部分tips来自于从开发论坛和我自己的一些经验,根据收集情况,这篇文章会不定期更新。
iTunes Connect
- 可在iTunes Connect中上传Apple Watch截图和icon,并且iTunes Connect会在上传了第一个WatchKit build后展示出来。
截图
- 确保截图尺寸是312x390px。
- 截图只能是app的界面内容,并且是全空间截图。
- 不要在Apple Watch框架或者图片中设计截图。
- 不要将Apple Watch app置于iPhone app截图中。
- 不要在截图中添加额外的文本/宣传资料。
- 早期苹果要求开发者使用Apple Watch真机上运行的app截图,不过现在也可以使用模拟器中的运行图。点击command+S或者从File > Save Screen Shot中截图。截图默认会保存在桌面上。
App icon
- 确保你的app icon不包含alpha channel,不然将会在审核期间被拒,或者产生一些模糊的错误信息。
- 如果遇见了file names must match pattern "*@x.png"这个错误,请确保Watch app target的资产目录中已经包含了Watch app icon,因为iPhone app和Watch app不能共享一个资产目录。
- 请确保你的icon不包含黑色背景,以防icon和黑色的屏幕混在一起,并且也会增加被拒的风险。
Deployment Targets
- 虽然你的iPhone app可能支持iOS 8.2之前的系统,但WatchKit extension支持的操作系统必须是iOS 8.2或者更高版本。
- 如果你在WatchKit extension中使用了框架,那么iPhone app的部署目标必须是8.0及以上版本的系统,原因是你的WatchKit extension是与host app绑定在一起的。
Build Process
- 如果你使用Xcode以外的工具开发应用,或者你使用了自定义的构建脚本,请确保你的最终打包文件遵守苹果开发者论坛中的相关描述。
Version & Build Numbers, Bundle Identifiers, Names
- 确保iPhone app、WatchKit extension以及Watch app有着相同的编译号和版本号。
- 用iPhone app的bundle identifier作为WatchKit extension的bundle identifier的前缀,比如如果iPone app的bundle identifier是com.company.AppName,那么WatchKit extension的bundle identifier就是com.company.AppName.watchkitextension。
- Jackrabbit Mobile的David Olesch建议,要确保app target和watch app target展示的名称应该一致,他曾因为该问题被拒。
- 在Xcode 6.3中打开你的应用程序,Deployment Target也会更改为iOS 8.3。如果要改回来,可能会被苹果拒绝。
Provisioning
WatchKit extension需要自己的app ID和Provisioning profile.
App Store描述
- 如果你在App Store描述中提及Apple Watch,请遵守苹果的指南,比如其中对字母大写的要求等。少数开发者曾因没有遵守苹果的指南而被拒。
- Apple Watch通常应用英语书写,并且A和W要大写。你不能写成UPPERCASE和lowercase这种形式,也不能使用苹果的logo代替单词"Apple"。
性能
- 要尽可能地确保你的app在模拟器中响应积极。如果应用在模拟器中运行比较卡,那么在真机上卡顿情况只会加重,不止一位开发者曾因这个原因被拒。
- 如果你使用了openParentApplication:reply:,那我强烈建议你遵守这篇文章中的建议。我在真机上进行测试时发现,如果不使用文中的技巧,那么使用openParentApplication:reply:是非常不可靠的。一些参与真机体验的开发者也确认了这个问题。至少一位开发者曾因openParentApplication:reply:调用出现问题而被拒绝。
Swift
- 如果iPhone app使用了Swift编译,请设置框架和扩展的"Embedded Content Contains Swift"的 build setting为NO,设置iPhone app target的"Embedded Content Contains Swift" build settingYES。
App
- 复制钟面的功能,或者展示时间的方式容易跟其他混淆,那么可能会被苹果拒绝。可以查看苹果开发者论坛中的帖子,这个规则应当被写入HIG中,但苹果似乎遗漏了这一点。
- 在开发者论坛中查看这个帖子,提示你的Watch app大小不能超过50MB.
原文:Submitting Your WatchKit App
推荐阅读:
时间: 2024-10-24 21:57:14