记录 App Store 上架审核二三事

工作至今,由我上架和更新的 App 大概有二十多个吧,有为客户做的项目,也有自己公司的产品。可以说,由我检查确认过的应用,上架一次性通过率还是相当高的。

这里把我遇到的一些特别的注意点和遭拒记录下来。

注意点

提交审核大大小小注意事项还是有不少,这里就记录几点

  1. 确定打包项目中有无广告标识符(IDFA)

在上架的每个版本提交时,都需要确认 App 有无使用,如果选择结果与 App Store 实际检测结构不符,此打包文件将遭拒绝。
检测方法是 CD 到项目根目录(或者打包文件所在目录),使用 grep 命令

grep -r advertisingIdentifier .

此命令可以搜索项目中有无 advertisingIdentifier 符号,advertisingIdentifierAdSupport 框架中的一个成员变量,它的值代表了投放广告时用于识别设备的唯一标志。如果存在,则说明很大可能是启用了广告标志符。虽然自己的项目中没有直接使用广告标识符,但很多第三方 SDK 中会使用,所以上架前进行检测一下也是必要的。

  1. 检查项目的 Push Notifications 开关是否处于 ON 的状态

Xcode 7 以前,不开启 Push Notifications 开关也没什么问题,从 Xcode 8 开始,启用推送的项目必须打开这个开关才能开启推送功能开关,否则无法接收到手机的 deviceToken,另外上传 App Store 后还会收到一封邮件,提示 “Missing Push Notification Entitlement”。
类似的,项目中用到其他的服务也必须开启相应的开关。开启后会在项目中生成一个 entitlements 文件,用于统计此项目启用的所有服务。

  1. 如果项目中有动态库,在上传之前必须把动态库中的 i386 或 x86_64 架构剔除,否则直接导致上传失败

以环信 SDK 为例
如果不剔除 x86_64 架构,上传时可看到如下界面。


剔除前

使用 lipo 命令

lipo Hyphenate.framework/Hyphenate -thin armv7 -output Hyphenate_armv7
lipo Hyphenate.framework/Hyphenate -thin arm64 -output Hyphenate_arm64
lipo -create Hyphenate_armv7 Hyphenate_arm64 -output Hyphenate
mv Hyphenate Hyphenate.framework/

这个操作其实是通过 Xcode 提供的 lipo 命令把环信动态库 Hyphenate 中的 armv7 和 arm64 架构取出合成一个新的文件。
如果要查看动态库的架构组成可以使用

lipo Hyphenate.framework/Hyphenate -info

或者

file Hyphenate.framework/Hyphenate

剔除 x86_64 架构后的界面


剔除后

另外扯一句题外话,使用使用环信动态库后会让应用安装后大小增加 20+M ,因为 Xcode 会把编译后的 动态库文件直接打包进 App 的 Frameworks 文件夹,而使用静态库则不然,静态库只会把用到的部分链接到 App 二进制文件中。

其他还有很多零碎的注意事项这里就不一一展开了。

被拒案例

常在河边走,哪能不湿鞋。上架过程中偶尔还是会遇到一些拒绝的情况,提2个印象比较深刻的

  1. PLA 1.2 & Guideline 5.2.1

这是我遇到最多的被拒理由。PLA 1.2 是去年收到的过,Guideline 5.2.1 是最近收到的。

PLA 1.2
The seller and company names associated with your app do not reflect the name “XXXX” in the app or its metadata, as required by section 1.2 of the Apple Developer Program License Agreement.
Your app must be published under a seller name and company name that reflects the institution. If you have developed this app on behalf of a client, please advise your client to add you to the development team of their Apple Developer account

Guideline 5.2.1 - Legal - Intellectual Property
The seller and company names associated with your app do not reflect the institution in the app or its metadata, as required by Guideline 5.2.1 of the App Store Review Guidelines.

虽然条款变了,但都指向了一个问题,应用与开发者账户没有对应关系,因为一部分应用是我司替客户开发并上架的,应用本身跟我司并无关联。申诉过几次,之前有一定概率通过,但最近越来越难,目前没有好的解决办法,实在不行只能让客户申请自己的开发者账户了。

  1. UIRequiredDeviceCapabilities 问题

这是我遇到的唯一一次也是最“坑”的拒绝,

iTunes Connect 提示信息

App 的 Info.plist 不得包含 UIRequiredDeviceCapabilities 键的值,该键会阻止此 App 在之前版本支持的任何 iOS 设备上打开。有关更多信息,请参阅了解 UIRequiredDeviceCapabilities 键。

事情是由于应用之前的版本都不包含 HealthKit ,而新版本需要添加步数记录功能,添加后在 Info.plist 中会出现 Required device capabilities 一栏,要求运行应用的手机必须支持 HealthKit,而支持 HealthKit 又会导致在之前版本支持的设备上无法打开,要消除这个错误必须删除 Info.plist 中的 Required device capabilities 一栏,而删除后 HealthKit 功能又没法使用了,于是陷入了死循环中...

咨询苹果客服并没有任何帮助,只是得到了一些官方的无实际帮助的解答,而问题最终是通过上架一个新应用解决的。

以上只是对审核中几个小点记录下,如果想要顺利通过 Apple Store 审核,有时间时应看看 Apple 官方文档,遇到解决不了的问题多搜索,不行还可以邮件咨询咨询 Apple 客服,一般不会遇太大问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容