记一次 App Store 上传应用的趣事

1,077 阅读5分钟
记一次 App Store 上传应用的趣事

swift 发布于 2017年10月24日

iOS 11 以及新的 App Store 发布已经有一段时间了,大家应该也都体验过了。 分享一个我最近在上传 APP 时候遇到的一个小问题,当做闲聊,算不上干货。

某一天,当准备完一个 APP 更新后,在 Xcode 中打好包,准备上传 App Store。 一切看似轻车熟路,顺风顺水(也算是经历这个操作不下百次的人了~)。于是松一口气,喝一杯茶,等待上传完成。每次发布新版本的时候都会有这个轻松感,很享受。

一杯茶喝完,转头看看屏幕,上传进度条已经走完,但眼前出现了一个陌生的内容:

看到它之后,我就产生了一丝不妙的预感。心想这次只是一个功能更新,应用的图标任何改动都没有,怎么会报警缺失图标呢? 抱着另一丝尝试的心理(其实是犯懒,也因为这个 APP 目前用户量还不是很大),决定直接提交审核。

等了将近 20 分钟,苹果后台的包处理程序完成了。因为以前也出现过类似的警告,但提交之后并没有明显的影响,我决定试着点一下提交审核。

果然我的预感应验了,当我点击提交审核按钮的时候,网页后台同样报了这个错误,也就是意味着必须处理这个问题,才能进行下一步操作了。

我开始左思右想,警告中说的 1024x1024 图标到底指的是哪一个呢? 是指的 iTunesArtwork 吗? 但我看了一下,工程中也存在这个文件, 实在想不明白哪里出了问题。

经过一番搜索,发现在 Xcode 9 中的 Icon Asset 里面,确实新增了一个新的尺寸:

下面的分辨率写着 1024pt,pt 和 px 转换不是 1比 2 吗,满怀信心的导出一张 2048x2048 分辨率的图标文件,拖动到这里,心想这次应该没问题了。那么继续打包,上传,再去喝杯茶。

等我回来的时候又看到同样的报警继续出现了,顿时心塞。 不是已经把图标设置好了么,怎么还报错?

没办法,继续开始搜索大法,翻了 N 多个页面后,有一个内容说是图标文件不能有透明区域,我立即回去看了看我的图标文件,果然四周圆角的地方是透明的。 在图片中把透明区域填满,然后在 PS 导出文件的时候把透明度勾选掉:

这次总该没问题了吧,怀着试一试的心情,继续打包,上传,喝茶。

过了一会儿回来再看,果然没有那么顺利,依然报错。这次实在不知道问题出在哪儿了。 能搜索到的信息都用上了,没有再多的信息了。 开始苦思冥想,从刚才搜索的信息中继续推导,试试能不能找到突破点。

这样就联想到一个事情,所有的搜索信息中,都没有对图片的分辨率做过任何解释。 对透明度,图标位置这些都有明确描述,唯独这个分辨率。 想起在 Xcode 界面中对于分辨率的提示, 1024pt,按照以往的习惯,1pt=2px,好像成了我的思维定式。 但是我又注意到另一个细节,在图片位置下面标注的是 1x:

它这里需要的是单倍图,也就是说,1024px 的图片。 难道问题真的出在这里? 不管怎么样,决定再试一试(也没有别的方法了)。 打包,上传,这次不喝茶了。 盯着进度条,等它完成。

直到过了一会儿,我看到了这个界面,心里松了一口气:

总算完成了,原来问题出在这里。 前前后后打包上传四五次,再看看时间,将近两个小时过去了(上传过 APP 的同学应该知道,每次打包上传都需要不少时间,出错重新打包的调试成本并不小)。

查了下苹果的文档,在 Xcode 9 开始,就有了这个限制: help.apple.com/xcode/mac/c…

只是之前在 App Store 后台还没有强制验证,所以不影响提交审核。 随着 iOS 11 和 Xcode 9 的正式发布, App Store 服务端也开始验证这个图标了。

结束

这篇文章算是分享一次自己的踩坑经历,我相信大家平时的工作中都是在这一次次的踩坑中让自己得到提升。所以并不算什么高深的干货,也许对大神来说并没有多大价值。分享出来是为了让还没遇到这个坑的同学们避免再次消耗这样的时间,提升效率,也因为这个问题覆盖率比较高,最近有提交 App 的同学应该都会遇到。


如果你觉得这篇文章有帮助,还可以关注微信公众号 swift-cafe,会有更多我的原创内容分享给你~

本站文章均为原创内容,如需转载请注明出处,谢谢。