月度归档: 2021 年 9 月

App提交苹果审核被拒原因总结(一)

1、应用内包含检查更新功能

iOS 应用的版本更新必须通过 App Store 进行,自身 App 内不能包含提示更新功能。从2015年3月起,所有包含检查更新功能的 App 都会被拒*上架。

2、使用第三方登录时未做安装检测

接入第三方登录要检测是否安装了第三方客户端,未安装时不要显示对应按钮。2015年9月之前,通常可以采用判断未安装则隐藏登录按钮的方式。但目前隐藏按钮的方式也可能被审核拒*,QQ 和微博提供了 web 登录的方式,如果判断未安装,需要允许用户使用 webview 的登录方式。苹果在条款中有声明不允许 iOS 应用的正常使用需要依赖另外一个 App。

3、采集设备IDFA但应用没有广告功能

从2014年2月起,Apple 开始拒*采集 IDFA (identifier for advertising) 却未集成任何广告服务的应用进入 App Store。如果 App 本身没有广告,建议可以在审核的时候显示一个 Banner 广告,并且放在比较明显的位置,审核通过后关掉即可。

4、含UGC却未提供用户协议及举报功能

如果你的 App 内有发帖等UGC(用户产生内容)功能,必须提供用户协议,并留有内容举报功能,否则就会被审核拒*。

5、上传时没有使用真实的应用截图

应用程序的名称、描述、截图或者预览与应用的内容和功能不相关将会被拒*。有 App 因为应用截图使用的是自己设计的插画而被审核拒*。

6、应用必须使用邀请码才能注册使用

苹果要求应用不能限制只有部分用户可以使用。

7、应用内出现第三方移动平台的名字或图标

一直以来,苹果都不允许iOS开发者在进行软件描述时提到 Android 版本,而自从2015年4月起,在 App 内、截图等任何地方提到安卓、Android 的文字、图标、系统界面都会被拒。曾经有电商 App,因为出现了售卖三星安卓手机而被拒。。。

8、应用内涉及*励,未声明与苹果无关

App 里有实物*励的话,不能使用苹果产品(例如 iPhone 、iPad 等)作为*品。另外一定要声明“*励由本公司提供,与苹果官方无关”。

9、没有提供恢复内购的方法

增加一个“恢复购买记录”的按钮即可。

10、未注册时不能使用与账号无关的功能

对于资讯等 App,在没有进行与用户信息相关的操作时,却强行让用户登录,甚至不登录就无法看到任何内容,有可能会被拒*。

11、iPhone 应用在 iPad 上不能正常显示

iPhone程序必须不经修改就能以iPhone分辨率和2倍iPhone 3GS的分辨率在iPad上运行。即使你的App 只为 iPhone 用户提供,在 iPad 上也必须能够正常显示,否则审核会被拒*。

12、侵犯第三方版权

对于视频、音乐、图书类的应用很容易因为这一条而被拒。建议应用内*好不要出现第三方的商标,例如运营商的Logo、影视公司的 Logo 等。

13、应用截图、名称、描述等出现不雅词汇

在应用截图、名称、描述等任何地方出现例如诸如 牛逼、绿茶婊、无节操、逗比 等词汇,都会被苹果审核拒*。

14、应用出现 beta版、测试版字样

不要过度谦虚地在启动画面或者应用名称上加上”beta”字样,苹果不允许测试版产品上架。

15、注册缺少隐私政策

如果应用包含注册功能,注册页面必须提供隐私说明协议按钮或者链接。另外在 iTunes connect 提交新版本的时候,Privacy Policy URL 必须要填写。

16、应用出现崩溃、加载失败等 bug

审核期间出现崩溃会导致审核被拒。建议在审核期间务必保证服务器稳定,避免审核人员审核时出现内容加载失败的情况,导致被拒。

17、应用描述、截图和应用功能不符

如果应用的描述或截图介绍的功能在审核期间没有体现,则会被拒*,如果介绍文案不够详细也会有一定概率被拒。

18、应用包含应用推荐功能

除特殊情况,苹果明令禁止应用内推荐其他APP。

19、应用包含不正确的诊断功能

如果你的应用中,包含不真实的系统检测或优化功能,苹果会认为这项功能有误导用户的嫌疑,审核时会被拒*。

20、应用提交的新版本与上一版差异过大

如果你提交的新版本应用与上一版相比,功能上变化过大,比如将游戏升级为工具类应用,或在新版本中完全改掉前一版产品的功能,则会被苹果拒*。

21、应用违反当地法律法规

应用程序必须遵守上线地区的法律法规,禁止含有赌博、色情、有偿陪伴等违反法律的内容,尤其为用户提供付费社交服务的APP,例如在线直播类APP,必须严格遵守相关规定。

22、应用作者名与金融机构名字不一致

针对理财、P2P等金融相关产品,苹果增加规定 开发者的名字必须与APP内的金融机构名字保持一致,否则会被拒。 且由同一品牌的金融机构提供服务的APP,必须发布在同一个开发者账号跟名称下。

如果你已经代表委托人或者公司发布了这些APP,你的委托人或者公司应该注册iOS开发者账号,并把你添加到他们的开发者账号里,这样你就可以在他> 们账号下面提交并发布APP了。

23、应用提供功能过于简单

应用内的功能不能太过单一,苹果虽然理念中提倡“简单”,但并不代表能接受功能不够完善的应用,他们对应用的核心要求,是希望能够给用户更有价值的体验。当然,如果你的产品太有创意,可能苹果的审核员没能理解它的独到之处,这样的情况下,你可以通过申诉来更详细的描述产品优势,以便通过审核。

24、App 名称 的 副标题 关键词化 被拒*

展示在Appstore中的App名称,包含了不适宜的关键词或描述符。这些词具体如下所示:(一般就是你全部的标题)。下一步,请修改你的App名称,去掉所有不适宜的关键词和描述符。你在Itunes connect关键词字段添加的词,都可以用来搜索你的App。 一般是app名称 过长。。。

App Store审核规则中文版(App审核被拒原因,苹果开发必备)

App Store审核规则中文版(App审核被拒原因,苹果开发必备)
简介
App Store 的指导原则非常简单 – 我们希望为用户获取 app 时提供更安全可靠的体验,并为所有开发者提供借助 app 获得成功的契机。为此,我们精心打造了 App Store,其中的每个 app 都会经过专家审核,而且还有编辑团队每天帮助广大用户发现新的 app。至于别的一切,可以考虑在开放的互联网上分享。如果 App Store 模式和准则与您的 app 或经营理念不能完美契合,那也没关系,我们的 Safari 浏览器也能提供出色的 Web 体验。

在以下页面中,您会发现我们已把*新的准则清晰地划分为五个部分:安全、性能、业务、设计及法律。App Store 一直在不断变化和改善,紧跟我们客户和产品的需求。您的 app 也需要做出改变与改进,才能留在 App Store 上。

另外,请将以下几点谨记在心:

很多儿童会从我们这里大量下载各种 app。尽管家长控制功能能为儿童提供有效保护,但您也必须做好自己份内的工作。因此,您要知道,我们时刻都在关注这些儿童。
App Store 是向全球数亿人分享 app 的好方法。如果您开发 app 只是为了分发给亲朋好友,那么 App Store 并不是*适合的途径。这时可考虑使用 Xcode 将 app 免费安装到设备上,或者使用面向 Apple Developer Program 会员推出的 Ad Hoc 分发。如果您刚开始开发 app,请进一步了解 Apple Developer Program。
在 App Store 上发布的所有观点,我们都非常支持 — 只要这些 app 尊重用户的不同意见,并能带来良好的 app 体验。如果我们认为 app 的任何内容或行为超出了可接受的范围,我们将拒*该 App。您可能会问,这个可接受的范围是什么?套用*高法院大法官的一句话:“当我看到的时候,我就知道了”。而且,我们相信,当您超出这个范围时,您自己也会意识到。
如果您试图欺骗系统 (例如,试图在审核流程中弄虚作假,窃取用户数据,抄袭其他开发者的作品,操纵评分或 App Store 上的发现方法),我们会从商店中移除您的 app,并将您从 Developer Program 中除名。
您要确保 app 中所含内容全部符合这些准则的要求,包括广告网络、分析服务和第三方 SDK 等;因此,在审核和选择这些内容时务必要慎重。
某些一般不提供给开发者的功能和技术可能会以授权的形式提供,供开发者在受限情况中使用。例如,我们提供 CarPlay 车载音频、HyperVisor 和特权文件操作的授权。请查看 developer.apple.com 上的文档,进一步了解各种授权。
我们希望这些准则能帮助您顺利通过 App Review 流程,并使批准和拒*标准在整体上更加一致。本文是一个动态文稿;如果新的 app 引发了新的问题,我们可能会随时制定新的规则。也许,您的 app 就将促成新的规则。我们同样热爱 app 开发,并且尊重您所做的一切。我们正竭尽全力为您营造世界上*优秀的平台,既能让您展示才华,还能让您获得回报。

提交之前
为了帮助您尽可能顺利地通过 app 审批,请查看下方列出的常见错误行为,这些行为可能会导致审核流程延误或导致 app 被拒。这些内容不能代替准则或保证 app 获批,但确保核对这个列表中的每一项会是一个良好的开始。如果您的 app 无法再按预期方式工作,或者您不再积*地对其提供支持,那么这个 app 将从 App Store 中被移除。进一步了解 App Store 所做的改善。

请确保:

测试 app 是否会发生崩溃、是否存在错误
确保所有 app 信息及元数据完整且正确
更新您的联系信息,以便 App Review 部门在需要时与您取得联系
提供有效的演示帐户和登录信息,以及审核 app 时所需的任何其他硬件或资源 (例如,登录凭证或示例二维码)
启用后台服务,以使其在审核期间处于活动和可用状态
在 App Review 备注中附上与非明显功能及 App 内购买项目相关的详细说明,包括支持文稿 (如适用)。
检查 app 是否遵循了其他文稿中的相关指南,如:
开发指南

UIKit
AppKit (英文)
WatchKit (英文)
App 扩展编程指南 (英文)
iOS 数据存储指南 (英文)
macOS 文件系统文档 (英文)
Safari 浏览器 App 扩展 (英文)
App Store Connect 帮助
设计指南

Human Interface Guidelines (英文)
品牌和营销指南

营销资源和识别标志指南
Apple Pay 识别标志指南
“添加到 Apple 钱包” 指南 (英文)
Apple 商标及版权使用准则 (英文)
1. 安全
当用户通过 App Store 安装 app 时,他们希望获得安全的体验:app 不含令人不快或具有攻击性的内容,不会损坏他们的设备,不会在使用中造成人身伤害。我们在下方列出了主要的安全隐患。如果您想恐吓、攻击他人,则您的 app 不适合出现在 App Store 中。

1.1 令人反感的内容
App 不应包含具有攻击性、不顾及他人感受、令人不安、惹人厌恶、低俗不堪或只是让人感到毛骨悚然的内容。此类内容的示例有:

1.1.1 诽谤、歧视或恶意的内容,包括有关宗教、种族、性取向、性别、国籍、种族起源或其他目标群体的引用或评论,特别是当 app 很可能对特定的个人或团体进行羞辱、恐吓或造成伤害时。通常情况下,专业政治讽刺和政治幽默作家不受此要求限制。
1.1.2 人类或动物遭到杀害、残害、酷刑、虐待的写实描绘,或者鼓励暴力的内容。在游戏中,“敌人”不能单单针对特定种族、文化、真实存在的政府或企业,或是任何其他真实存在的实体。
1.1.3 鼓励非法使用或不负责任地使用武器和危险物品的描述,或者促进军火或弹药购买的描述。
1.1.4 过于色情的内容 (韦氏词典对“色情”一词的定义是:对性器官或性活动的露骨描述或展示,目的在于刺激性快感,而非带来美学价值或触发情感)。
1.1.5 具有煽动性的宗教评论,或者对宗教文本进行错误或误导性的引用。
1.1.6 虚假信息和功能,其中包括不准确的设备数据或用于恶作剧/开玩笑的功能,如虚假的位置跟踪器。即使指明 app“仅供娱乐”,也不能违背这一准则。支持匿名或恶作剧电话或短信/彩信的 app 会被拒*。
1.2 用户生成的内容
对于包含用户生成内容的 App,有特定的难题需要解决,比如知识产权侵权、匿名欺凌等。为了避免滥用,包含用户生成内容或社交网络服务的 app 必须满足以下条件:

采用相应的方法来过滤令人反感的内容,以免这些内容在 app 中发布
制定一个机制,以举报攻击性内容并在出现问题时及时作出回应
若用户发布攻击性内容,可以取消其使用服务的资格
公布联系信息,以便用户与您联系
如果 app 中所含的用户生成内容或服务*终主要用于色情内容、Chatroulette (随机视频聊天) 式体验、客体化现实生活中的某人 (如“性感与否”投票)、进行人身威胁或欺凌,则这些 app 不适合出现在 App Store 中,它们可能会在未经通知的情况下被移除。如果 app 中所含的用户生成内容来自于基于网页服务,并且该内容是默认隐藏的 (只有当用户通过您的网站将其打开时才会显示),则可以显示意外产生的“NSFW (公众场所不宜)”内容。

1.3 儿童类别
“儿童类别”可帮助用户轻松找到专为儿童设计的 app。如果您希望参与“儿童类别”,则应该致力于为年纪较小的用户量身打造卓越的使用体验。这些 app 不得提供 app 外链接、购买机会或其他会对儿童造成干扰的内容,除非其保留在受家长监控的指定区域中。请谨记,一旦客户认为您的 app 能够满足“儿童类别”要求,您的 app 就需要一直满足后续更新中的相应准则;即使您决定取消选择此类别,也是如此。进一步了解家长监控。

您必须遵守世界各地与在线收集儿童数据相关的适用隐私法。请务必查阅本指南的“隐私”部分,以了解更多信息。此外,“儿童”类别的 app 不得向第三方发送个人身份识别信息或设备信息。“儿童”类别中的 app 不应包含第三方数据分析或第三方广告。这些做法可为儿童提供更安全的体验。在少数情况下,可能允许包含第三方数据分析,前提是相关服务不会收集或传输 IDFA 或关于儿童的任何身份识别信息 (如姓名、出生日期、电子邮件地址)、儿童所在位置或其设备。这包括任何设备、网络或其他可直接用来或结合其他信息来识别用户及其设备的信息。在少数情况下,也可能允许包含与页面内容相关的第三方广告,前提是该服务拥有适合“儿童”类别 app 的公开备案做法和政策,包括人工审核广告创意以确保适合相应年龄段。

1.4 人身伤害
如果 app 的行为方式可能会造成人身伤害,我们可能会拒*该 app。例如:

1.4.1 如果医疗 app 可能会提供错误的数据或信息,或用于诊断或治疗病患,则这些 app 可能会面临更加严格的审核。
App 必须清楚地披露相关数据和方法,用于佐证声明的健康测量准确度,如果准确度或方法得不到验证,我们会拒*该 app。例如,如果 app 声称仅通过设备上的传感器就能照 X 光、测血压、测体温、测血糖浓度或测血氧含量,则这个 app 会被拒*。
App 应当提醒用户,除了使用该 app,还应咨询医生的意见,然后才能做出医疗决定。
如果您的医疗 app 已经获得监管部门的批准,请随 app 提交相关文稿的链接。
1.4.2 药物剂量计算器必须来自药品生产企业、医院、大学、健康保险公司、药店或经过 FDA 或其相应国际部门的批准的其他实体。由于可能会对病患造成伤害,我们需要确保 app 将在长时间内获得支持,并保持更新。
1.4.3 App Store 中不允许分发任何鼓励消费烟草及电子烟产品、使用违禁药物或摄入过量酒精的 app。鼓励未成年人摄入任何上述物品的 app 都会被拒*。为大麻、烟草或管制物品的销售提供便利 (经授权的药店除外) 同样不被允许。
1.4.4 App 只能显示由相关执法部门公布的酒后驾车检查点,不得鼓励酒后驾车和包括超速在内的其他鲁莽行为。
1.4.5 App 不得促使客户参与赌博或挑战等活动,或以可能对自己或他人造成人身伤害的方式来使用他们的设备。
1.5 开发者信息
用户需要知道如何就疑问和支持问题与您取得联系。确保您的 app 及其支持 URL 中包含能轻松联系到您的联系信息;对于可能会在课堂中使用的 app 而言,这一点尤为重要。如果未能提供准确的*新联系信息,不但会让客户有不好的感受,可能还会违反某些国家/地区的法律。另外,请确保在钱包凭证中包含发卡机构的有效联系方式,以及分配给凭证的品牌或商标所有者的专用证书。

1.6 数据安全
App 应实施适当的安全举措,确保按照“Apple Developer Program 许可协议”和这些准则 (更多信息见“准则 5.1”) 妥善处理收集到的用户信息,防止对这些信息进行未经授权使用、披露或者被第三方访问。

2. 性能
2.1 App 完成度
提交至 App Review 的申请 (包括可供预订的 app) 应为该 app 的*终版本,并应包含所有必要的元数据和有效网址。所有占位符文本、空白网站和其他临时内容应在提交前移除。在提交 app 之前,请务必在设备上对 app 的错误和稳定性进行测试;如果您的 app 需要登录,请提供演示帐户信息 (并打开您的后台服务!)。如果您在 app 中提供了 App 内购买项目,请确保审核人员能够看到这些内容,并确保这些内容处于完整且*新的状态,否则请在审核备注中说明相关原因。请不要将 App Review 视作软件测试服务。我们将拒*不完整的 app 套装以及会出现崩溃或存在明显技术问题的二进制文件。

2.2 Beta 测试
App 的演示版、Beta 版和试用版不适合出现在 App Store 中 – 请使用 TestFlight。所有通过 TestFlight 提交以进行测试发布的 App 都应旨在公开发布,并应遵循“App Review 准则”。请注意,使用 TestFlight 的 app 不得分发给测试者用以换取任何类型的报酬,包括作为众筹资金的*励。对于 beta 版 app 的大幅更新应先提交至 TestFlight App Review 团队,然后再分发给您的测试者。欲了解更多信息,请访问“TestFlight Beta 测试”。

2.3 准确的元数据
客户应该知道他们在下载或购买您的 app 时会得到什么,所以请确保 app 的描述、屏幕快照和预览能够准确反映 app 的核心体验,并记得不断更新,以便保持与新版本相应的*新状态。

2.3.1 请勿在 app 中包含未记录的功能或隐藏功能;不管是对于*终用户还是 App Review 团队,app 功能都应清晰可见。同样,您不应该在 App Store 或离线情况下,营销您的 app 中实际并不提供的内容或服务 (例如基于 iOS 的病毒和恶意软件扫描工具)。如果出现恶劣或屡教不改的行为,则可能会从 Apple Developer Program 中除名。我们正努力将 App Store 打造成值得信赖的生态系统,并希望我们的 App 开发者也能如此;如果您不诚实以待,我们之间就不会有任何业务往来。
2.3.2 如果您的应用包含 App 内购买项目,请确保应用的描述、屏幕快照和预览清楚地指明是否有需要另行购买的精选项目、关卡和订阅等。如果您决定在 App Store 中推广 App 内购买项目,请确保 App 内购买项目的显示名称、屏幕快照和描述适合所有公众,并遵循“推广您的 App 内购买项目”中的准则;此外,您的 app 也应正确使用 SKPaymentTransactionObserver 方法 (英文),以便客户可以在 app 内无缝完成购买。
2.3.3 屏幕快照应展示 app 的使用情况,而非仅显示标题封面、登录页面或初始屏幕。屏幕快照还可以包括文本及图像说明 (例如:演示输入机制,如触控点或 Apple Pencil 的动画),并展示设备上的扩展功能,如触控栏。
2.3.4 预览是让客户了解 app 外观和功能的好方法。为了确保客户理解他们将在 app 中获得的体验,预览只可使用从 app 中采集的视频屏幕。Stickers 和 iMessage 信息扩展可以将用户体验展示在“信息”app 中。您也可以添加旁白和视频,或添加文本说明,以帮助说明任何无法仅通过视频进行阐明的内容。
2.3.5 请为 app 选择*适合的类别,并在需要帮助时参考“App Store 类别定义”。如果选择的类别与实际情况相差较远,我们可能会更改 app 的类别。
2.3.6 请在 App Store Connect 中诚实地回答年龄分级问题,以使 app 与家长控制功能的分级保持一致。如果 app 分级有误,客户在获得 app 时可能会感到诧异,或促使政府监管部门展开相应调查。如果 app 所含的媒体内容要求显示内容分级或警告 (如电影、音乐和游戏等),则需在销售 app 的每个地区内遵循当地要求。
2.3.7 请选择一个独一无二的 app 名称,指定能够准确描述 app 的关键词,不要试图用商标术语、流行 app 的名称或其他不相关的短语来包装任何元数据,以此欺骗系统。App 名称必须限制在 30 个字符以内,且不得包含不属于 app 名称的价格、词语或描述。App 副标题是详细介绍 app 背景信息的*佳之处。副标题必须遵循我们的标准元数据规则,且不得包含不当内容、提及其他 app 或做出无法证实的产品声明。Apple 可以随时修改不合适的关键字或采取其他相应步骤,以防止不当使用。
2.3.8 元数据应适合所有受众,所以请确保您的 app 和 App 内购买项目的相关图标、屏幕快照和预览保持在 4+ 年龄分级;即使您的 app 分级更高,也应如此。例如,如果您的 app 是包含暴力的游戏,请勿选择包含惨烈的死亡或用枪瞄准特定角色的图像。只有“儿童类别”的 app 才能在元数据中使用类似“适合幼儿”和“适合儿童”等词语。请务必确保包括 app 名称和图标 (小图标、大图标、Apple Watch app 和备用图标等) 在内的元数据彼此相似,以免引起困惑。
2.3.9 您应负责确保有权使用 app 图标、屏幕快照和预览中的所有材料,并应显示虚构的帐户信息,而非真实个人的数据。
2.3.10 请确保您的 app 注重 iOS、Mac、Apple TV 或 Apple Watch 体验,并且不在 app 或元数据中包含其他移动平台的名称、图标或图像,除非存在已获批的特定互动功能。确保您的 app 元数据注重 app 本身及其体验。不要包含无关的信息,包括但不限于关于 Apple 或开发流程的信息。
2.3.11 您提交至 App Store 可供预订的 app 必须为完整且可发布的状态。请确保您*终发布的 app 与其在预购状态时所宣传的内容没有实质性差异。 如果您对该 app 进行了重大更改 (例如更改其商业模式),则应重新开始其预订销售。
2.3.12 App 必须在其“新功能”文本中清楚地描述新功能和产品更改情况。一些简单的错误修复、安全更新和性能改进可以通过一般描述来说明,但较为重大的更改必须列明在备注中。
2.4 硬件兼容性
2.4.1 为了确保用户能够充分利用您的 app,iPhone app 应尽量能在 iPad 上运行。我们鼓励您考虑开发通用 app,这样客户就可以在所有设备上加以使用。进一步了解 通用 app (英文)。
2.4.2 通过设计,让您的 app 节省能耗,且其使用方式不会带来设备损坏的风险。App 不应快速耗尽电池电能、产生过多的热量或对设备资源造成不必要的负担。例如,app 不得鼓励在充电期间将设备置于床垫或枕头下,或对固态硬盘进行过多的写入循环操作。App 及其中显示的任何第三方广告均不可运行无关的后台进程,如加密货币挖矿。
2.4.3 对于 Apple TV app,应确保用户无需使用除 Siri Remote 或第三方游戏控制器之外的硬件输入,但您可以随意提供增强功能供连接其他外围设备时使用。如果需要用户配备游戏控制器,请务必在元数据中清晰说明,以便用户知晓他们需要额外的设备才能玩游戏。
2.4.4 App 不得建议或要求重新启动设备,或者修改与 app 核心功能无关的系统设置。例如,请勿鼓励用户关闭 Wi-Fi 或停用安全功能等。
2.4.5 对于通过 Mac App Store 分发的 app,还有几个额外要求需要您留意:
(i) 这些 app 必须妥当地沙盒化,并遵循“macOS 文件系统文档 (英文)”。另外,这些 app 只应使用相应的 macOS API 来修改其他 app 存储的用户数据 (如书签、“地址簿”或“日历”条目)。
(ii) 这些 app 必须使用 Xcode 中提供的技术来进行打包和提交;不允许使用第三方安装器。另外,这些 app 必须是单个的自包含 app 安装包,不能将代码或资源安装在共享位置。
(iii) 这些 app 不得自动启动或者在启动时包含其他自动运行的代码,不得在未经同意的情况下登录,也不得大量生成在用户退出 app 后仍在未经同意的情况下继续运行的进程。这些 app 不得将图标自动添加到程序坞中,或在用户桌面上留下快捷方式。
(iv) 这些 app 不得下载或安装独立的 app、kext、额外代码或资源,以向我们在审核过程中看到的 app 添加功能,或进行大幅更改。
(v) 这些 app 不得申请升级至 root 特权或使用 setuid 属性。
(vi) 这些 app 不得在启动时显示许可证屏幕、需要使用许可证密匙或实施自己的拷贝保护措施。
(vii) 这些 app 必须使用 Mac App Store 分发更新;不允许使用其他更新机制。
(viii) 这些 app 应在当前发布的 OS 上运行,不得使用已停用或选装的技术 (如 Java、Rosetta)。
(ix) 这些 app 必须在单个 app 套装内包含所有的语言和本地化支持。
2.5 软件要求
2.5.1 App 仅可使用公共 API,并且必须在当前发布的 OS 上运行。进一步了解 公共 APIs (英文)。及时更新您的 app,在未来的操作系统版本中不再支持的任何过时功能、框架或技术皆应被淘汰。App 使用的 API 和框架应该是为了实现预期用途,并在 app 描述中说明集成详情。例如,HomeKit 框架应提供家居自动化服务,HealthKit 则应该用于保持健康和健身目的,并集成在“健康”app 中。
2.5.2 App 应自包含在自己的套装中,不得在指定容器范围外读取或写入数据,也不得下载、安装或执行会引入或更改 app 特性或功能的代码,包括其他 app。仅在特殊情况下,用于教授、开发或允许学生测试可执行代码的教育类 app 可以下载所提供的代码,但这类代码不得用于其他用途。这类 app 必须开放 app 提供的源代码,让客户可以完全查看和编辑这些源代码。
2.5.3 如果 app 传输的病毒、文件、计算机代码或程序会对操作系统和/或硬件功能 (包括推送通知和 Game Center) 的正常运行造成负面影响或导致其中断,则该 app 会被拒*。屡教不改或恶劣的违规行为会导致开发者从 Apple Developer Program 中被除名。
2.5.4 多任务处理 app 只允许在实现预期用途时使用后台服务:VoIP、音频播放、地理位置、任务完成记录和本地通知等。如果应用使用定位后台模式,请提醒用户,这么做会大幅降低电池续航能力。
2.5.5 App 必须能够在仅支持 IPv6 的网络上完全正常地运作。
2.5.6 如果 app 会浏览网页,则必须使用相应的 WebKit 框架和 WebKit Javascript。
2.5.7 基于蜂窝移动网络且超过 10 分钟的视频流内容必须使用 HTTP 实时流化,并包含一个 192 kbps 为底线的 HTTP 实时流化。
2.5.8 如果 app 会创建替代的桌面/主屏幕环境,或者模拟多 app 插件体验,则该 app 会遭到拒*。
2.5.9 如果 app 会改变或停用标准开关 (如调高/调低音量和铃声/静音开关) 的功能,或者改变或停用其他的原生用户界面元素或行为,则该 app 会遭到拒*。例如,app 不应屏蔽转向其他 app 的链接,或用户希望以某种特定方式运行的功能。进一步了解如何正确处理链接。
2.5.10 不得提交包含空白广告横幅或测试广告的 app。
2.5.11 SiriKit 和快捷方式
(i) 集成 SiriKit 和快捷方式的 app 只能登记无需其他 app 支持便可处理的意图,而且这个意图应当与用户对所述功能的预期相符。例如,如果您的 app 属于膳食计划 app,则不应融入开始体能训练的意图,即使这个 app 共享了与健身 app 的集成也不可以。
(ii) 确保 plist 中的词汇和短语与您的 app 及它所登记意图的 Siri 功能相符。别名必须与您的 app 或公司名称直接相关,不得使用通用术语或者包含第三方 app 名称或服务。
(iii) 以*直接的方式解析 Siri 请求或快捷方式,不要在请求与实现之间插入任何广告或其他市场营销信息。只有在完成相关任务需要时 (例如让用户指定特定类型的体能训练时),才可以要求解疑。
2.5.12 利用 CallKit 或包含 SMS Fraud 扩展的 app 应该只拦截已确认用于发送垃圾信息的电话号码。具有通话、短信或彩信拦截功能或垃圾信息识别功能的 app 必须在营销文本中清楚标识这些功能,并且说明归入拦截列表和垃圾信息列表的标准。通过这些工具获得的数据不得用于与运行或改进您的 app 或扩展没有直接关联的任何其他目的 (例如,不得出于跟踪或创建用户资料等目的来使用、共享或销售这些数据)。。
2.5.13 若有可能,使用人脸识别进行帐户验证的 app 必须使用 LocalAuthentication (英文) (而非 ARKit 或其他人脸识别技术),且必须对未满 13 岁的用户使用备用身份验证方式。
2.5.14 在录像、记录日志或以其他方式记录用户活动时,app 必须征得用户的明确同意,而且要提供清晰的视觉和/或听觉指示。这亦包括任何对设备摄像头、麦克风、屏幕录像或其他用户输入方式的使用。
2.5.15 能够让用户查看和选择文件的 app 应包含“文件”app 中的项目和用户的 iCloud 文稿。
3. 商务
在 App Store 中,您可以通过多种方式让自己的 App 实现盈利。如果您的业务模式并不显而易见,请务必在其元数据和 App Review 备注中加以说明。如果我们无法理解 app 的工作方式,或者 App 内购买项目不是那么一目了然,则审核会有所延误,并可能会导致 app 被拒*。尽管价格由您决定,但是我们不会分发要价明显过高的 app 和 App 内购买项目。对于试图以不合常理的高昂价格欺骗用户的 app,我们将予以拒*。

如果我们发现您试图操纵评价,通过付费、提供*励、经过筛选或伪造的反馈来提高排名,或者要求第三方服务代您这样做,我们将采取相应措施以保持 App Store 的公正性,其中可能包括将您从 Apple Developer Program 中除名。

3.1 付款
3.1.1 App 内购买项目:
如果您想要在 app 内解锁特性或功能 (解锁方式有:订阅、游戏内货币、游戏关卡、优质内容的访问权限或解锁完整版等),则必须使用 App 内购买项目。App 不得使用自身机制来解锁内容或功能,如许可证密钥、增强现实标记、二维码等。App 及对应元数据不得包含指引客户使用非 App 内购买项目机制进行购买的按钮、外部链接或其他行动号召用语。
App 可以提供 App 内购买货币,供客户在 app 内“打赏”数字内容提供商。
通过 App 内购买项目购买的所有点数和游戏货币不得过期,并且您应确保为所有可恢复的 App 内购买项目设计一套恢复机制。
请务必指定正确的可购买类型,否则您的 app 将被拒*。
App 可以允许用户将符合 App 内购买项目条件的物品赠予他人。此类*品只能退款给原始购买者,而且不可交货。
通过 Mac App Store 分发的 app 可托管基于非 App Store 机制的插件或扩展。
提供“战利品箱”或其他随机虚拟物品购买机制的 app 必须在客户购买前,向客户披露每种类型物品的获取几率。
非订阅型 app 在提供完整解锁选项前可以提供按时间计算的免费试用期,方法是在“价格等级 0”中设置非消耗型 IAP 项目,并按照命名约定“XX 天试用”来命名。在开始试用之前,app 必须清楚指明试用期时长、试用期结束后不再能访问的内容或服务,以及用户为获得完整功能而需要支付的任何后续费用。进一步了解如何使用收据 (英文) 和设备检查 (英文) 来管理内容访问权限和试用期时长。
3.1.2 订阅:无论属于 App Store 上哪一类别,app 都可以提供自动续订的 App 内购买订阅。在 app 内集成可自动续订的订阅时,请务必遵循下述指导原则。
3.1.2(a) 允许的用途:如果您提供自动续订订阅,则必须为客户提供持续的价值,订阅期必须持续至少七天,并且能够在用户的所有设备上访问。适当的订阅示例包括但不限于:新游戏关卡;连载内容;多玩家支持;持续提供实质性更新的 app;对媒体内容的大型合集或持续更新的访问权限;软件即服务 (SAAS);以及云服务支持。此外:
订阅可与单点式服务一起提供。例如,您可以提供整个影片库的订阅,以及单部影片购买或租赁。
您可以在您的多个 app 和服务中提供跨 app 的订阅项目,但这些订阅不可扩展到第三方的 app 或服务。游戏订阅中提供的游戏必须由该开发者拥有或已受*许可 (例如:非属于游戏发布平台的一部分)。所有游戏都必须直接从 App Store 下载。游戏须避免订阅用户的重复支付,且不应损害非订阅用户的利益。
订阅必须适用于可使用该 app 的所有用户设备。进一步了解在您的多个 app 之间共享订阅项目 (英文)。
App 不得强制要求用户为 app 评级或点评、下载其他 app,或执行其他类似操作,然后才能访问该 app 的功能、内容或者使用该 app。
与所有 app 一样,此类服务订阅应当允许用户直接获得付费购买的项目而无需执行额外任务,如在社交媒体上发帖、上传通讯录,以及在 app 内签到特定次数等。
订阅可以包含消耗性的积分、宝石或游戏内货币等。您也可以提供包含消耗性商品打折权益的订阅 (例如能以优惠价购买宝石包的高级会员资格)。
如果要将现有 app 更改为基于订阅的业务模式,您不得减掉现有用户已付费购买的主要功能。例如,针对新客户引入订阅模式后,已购买“完整游戏解锁”的客户应能够继续访问完整版游戏。
支持自动续期订阅的 app 可以通过提供 App Store Connect 中规定的相关信息,来为客户提供免费试用期。
试图诓骗用户的 app 会从 App Store 中被移除。这包括试图通过虚假信息诱骗用户购买订阅或涉及“诱购”和欺诈行为的 app,这些 app 会被从 App Store 中移除,您也可能会从 Apple Developer Program 中除名。进一步了解订阅免费试用期。
3.1.2(b) 升级和降级:用户应能获得无缝的升级/降级体验,并且不会出现无意间订阅同一内容的多个不同版本。请查阅关于管理订阅升级和降级选项的*佳做法。
3.1.2(c) 订阅信息:在让客户订阅之前,您应当清晰描述付费后的具体权益。每月有几期?云存储容量有多大?具体能访问您的哪些服务?务必清晰地传达“协议、税务和银行业务”下“Apple Developer Program 许可协议”的“附件 2”中所述的要求。
3.1.3(a)“阅读器”App:App 可以允许用户访问先前购买的内容或内容订阅 (具体包括:杂志、报纸、图书、音频、音乐、视频、专业数据库访问权限、VoIP、云存储以及经批准的服务,如课堂管理 app),前提是您同意不会直接或间接引导 iOS 用户使用非 App 内购买项目机制进行购买,并且在您介绍其他购买方式的普通沟通中没有刻意阻止用户使用 App 内购买项目。
3.1.3(b) 多平台服务:跨平台运行的 app 可以允许用户访问他们在其他平台上的相应 app 中或您的网站上获取的内容、订阅或功能,包括多平台游戏中的消耗品,前提是这些项目也在 app 中以 App 内购买项目的形式提供。您不得直接或间接引导 iOS 用户使用非 App 内购买机制进行购买,在您关于其他购买方式的一般说明中亦不可刻意阻止用户使用 App 内购买项目。
3.1.4 硬件相关内容:在为数不多的情形中,例如当功能依赖于特定的硬件功能时,app 可在不使用 App 内购买项目的情况下解锁相应功能 (例如,天文 app 会在与望远镜同步后增加功能)。与经过批准的实际产品 (如玩具) 配合使用的可选 app 功能可在不使用 App 内购买项目的情况下解锁特定功能,前提是它同时也提供 App 内购买项目选项。您不得要求用户通过购买无关产品或参与广告或市场活动来解锁 app 功能。
3.1.5 (a) App 之外的商品和服务:如果 app 允许用户购买将在 app 之外使用的商品或服务,则必须使用 App 内购买项目以外的购买方式来收取相应款项,如 Apple Pay 或传统的信用卡入口。
3.1.5 (b) 加密货币:
(i) 钱包:App 可以协助虚拟货币储值,前提是它们由组织类别帐户的开发者提供。
(ii) 挖矿:App 不可参与虚拟货币挖矿,除非处理过程是在设备外进行的 (例如,云端挖矿)。
(iii) 兑换:App 可以通过经批准的交易所协助加密货币交易或传输,前提是它们是由交易所本身提供的。
(iv) 首次代币发行:App 如支持首次代币发行 (“ICO”)、数字加密货币期货交易以及其他数字加密证券或准证券交易,发布方须为已创立的银行、证券公司、期货经纪商 (“FCM”) 或其他经批准的金融机构,并遵守所有相关法律。
(v) 加密货币 app 不可通过完成任务来提供货币,如下载其他 app、鼓励其他用户下载,以及在社交网络发帖等。
3.1.6 Apple Pay:如果 app 使用 Apple Pay,则在销售任何商品或服务之前,必须先向用户提供所有的基本购买信息,并且必须正确使用 Apple Pay 品牌和用户界面元素,具体要求可参考“Apple Pay 识别标志指南”和“Human Interface Guidelines (英文)”。使用 Apple Pay 提供重复付款服务的 app 至少需要披露以下信息:
续订周期的时长;除非被取消,否则续订将会继续
每个周期中会提供哪些服务
将向客户收取的实际费用
如何取消
3.1.7 广告:App 内显示的广告必须与 app 的年龄分级相符。应允许用户查看用于引导至这个广告的所有信息 (不要求用户离开 app),并且不可涉及基于敏感用户数据的定向或行为定向广告。敏感的用户数据包括健康/医疗数据 (如来自 HealthKit API 的数据)、学校和课堂数据 (如来自 ClassKit 的数据),或儿童的数据 (如来自儿童类别的 app 的数据),等等。插播广告、会中断或阻止用户体验的广告必须清楚地表明它们属于广告,不得操纵或欺骗用户轻点它们,并且必须提供可以轻松访问和清晰可见的关闭/跳过按钮,按钮大小要足以让用户轻松解除广告。
3.2 其他业务模式问题
下方列表并非详尽清单,且我们的政策可能因您提交的 app 有所变更或更新,但这里有一些额外的应做及勿做事宜需要您的注意:

3.2.1 可以接受
(i) 在您的 app 中,出于购买或促销目的而展示您的其他 app,只要您的 app 不只是简单地罗列其他 app。
(ii) 显示或推荐专为经批准的特定需求而设计的第三方 app (如健康管理、航空以及辅助功能等)。您的 app 应能提供持续不断的编辑内容,这样 app 才不会看起来像是个摆设。
(iii) 在租借期限结束后,禁止访问经批准的特定租借内容 (例如电影、电视节目、音乐、图书);所有其他项目服务不得存在过期时间。
(iv) 钱包凭证可用于付款或接收付款、传输交易或是提供身份验证 (例如电影票、优惠券和 VIP 凭据)。如将钱包凭证用作其他用途,则可能会导致 app 被拒,钱包凭据也有可能被撤销。
(v) 保险类 app 必须免费提供,并且必须遵守 app 发布地区的相关法律,且不得使用 App 内购买项目。
(vi) 经批准的非营利组织可以在他们持有的 App 或第三方 app 内进行筹款活动,前提是这些筹款活动必须遵守所有的 App Review 准则并提供 Apple Pay 支持。这类 app 必须披露资金的计划用途,遵守所有必要的当地和联邦政府法律,并且确保向捐款人提供相应的报税收据。在被要求时,还应向 App Review 团队提供其他信息。向捐款人介绍其他非营利组织的非营利组织平台必须确保 app 中列出的每一家非营利组织都已通过非营利组织批准流程。进一步了解如何成为受批准的非营利组织 (英文)。
(vii) App 可允许个人用户使用非 App 内购买项目机制向另一位个人送赠货币式*物,前提为:a) 送赠方拥有决定是否进行送赠的完全自主权,b) 获赠方收取 100% 的*物金额。然而,*物若在任何时间点对应或包含接收任何数字内容或服务,则必须使用 App 内购买项目。
(viii) App 如用于金融交易,投资或资金管理,发布方应为执行此类服务的金融机构,或必须使用由相应机构根据自身条款与条件提供的公共 API。
3.2.2 不可接受
(i) 创建与 App Store 类似且用于显示第三方 app、扩展功能或插件的界面,或将其作为热门 app 的合集。
(ii) 通过由硬件或操作系统提供的内置功能 (诸如推送通知、照相机或陀螺仪) 或 Apple 服务 (如 Apple Music 访问或 iCloud 存储) 获利。
(iii) 人为地刷广告展示次数或者广告点进次数的 app,以及主要设计目的在于显示广告的 app。
(iv) 在 app 内为慈善机构和募款方筹集资金,除非您是经批准的非营利组织或依上文 3.2.1 (vi) 规定获得了许可。出于以上目的筹集资金的 App 必须在 App Store 上免费,并只能在 App 之外筹集,例如通过 Safari 浏览器或短信。
(v) 强行限制 App 的用户群,例如限制特定地区或运营商。
(vi) App 应当允许用户直接获得付费购买的项目而无需执行额外的任务,如在社交媒体上发帖、上传通讯录,以及在 app 内签到特定次数等。App 不得要求用户必须先为 app 评分或点评、观看视频、下载其他 app、点击广告或进行其他类似操作,然后才能访问 app 的功能、内容或使用 app,或者收到现金或其他补偿,包括但不限于*品卡和代码。
(vii) 人为操纵用户在其他服务中的可见性、状态或排名,除非相关服务的条款和条件允许这样做。
(viii) App Store 中不允许分发协助进行二元期权交易的 app。请考虑使用网页版 app。App 如支持差价合约或其他金融衍生工具 (如外汇) 交易,则必须在提供服务的所有司法管辖区获得相应的许可。
(ix) App 不得强制要求用户为 app 评级或点评、下载其他 app,或执行其他类似操作,然后才能访问 app 的功能、内容或者使用 app。
4. 设计
Apple 客户非常注重简洁、雅致、创新且易于使用的产品,这也正是我们希望在 App Store 上看到的。您可尽情提供各种优秀设计,但要想获准在 App Store 上发布 app,至少需要满足以下标准。另请记住,即使在 app 获得批准之后,您也应当对其进行更新,确保 app 功能正常并持续吸引新客户和现有客户。停止服务或体验下降的 app 随时可能会从 App Store 中被移除。

4.1 抄袭者
请拿出您自己的想法。我们知道您有自己的奇思妙想,那么请将它们付诸实际。请不要简单照搬 App Store 上的热门 app,或只是细微修改其他 app 的名称或 UI,就将其挪为己用。这么做不但有引发知识产权侵权索赔的风险,更会加剧在 App Store 中浏览的难度,并对您的开发者同仁来说也很不公平。

4.2 *低功能要求
App 应包含功能、内容和 UI,而不仅仅是一个经过重新包装的网站。如果 App 没有什么实用价值、毫无新意或者不太像是一个 App,那它就不适合出现在 App Store 中。如果 App 不能带来持久的娱乐价值,则可能无法获得批准。如果 app 只是一首歌曲或一部影片,则应提交到 iTunes Store。如果 App 只是一本图书或游戏指南,则应提交到 Apple Books Store。

4.2.1 使用 ARKit 的 app 应提供丰富而完整的增强现实体验,仅将模型放入增强现实视图或重播动画并不足够。
4.2.2 除了目录类 app 之外,app 不应只包含市场营销材料、广告、网络剪报、内容聚合或链接集合。
4.2.3
(i) App 应能独立工作,无需安装其他 app。
(ii) 确保 app 发布时在其二进制文件中包含有正常运行所需的充足内容。
(iii) 如果 app 需要下载其他资源,请披露下载大小并在下载之前提醒用户。
4.2.4 与表盘类似的 Apple Watch app 可能会令人感到困惑,因为用户会认为这些 app 能与各种设备功能 (如轻扫、通知和第三方复杂功能) 配合使用。将创意性的时间表现方式用作 app 界面是个好点子 (例如,供冲浪者使用的潮汐时钟),但是如果您的 app 与表盘过于相像,则可能会被我们拒*。
4.2.5 主要用作 iCloud 和 iCloud 云盘文件管理器的 app 需要包含更多的 app 功能,才能获得批准。
4.2.6 利用商业化模板或 app 生成服务创建的 app 将被拒*,除非这个 app 由相应内容的提供商直接提交。这些模板服务若要为不同的客户提供差异化的用户体验,可提供工具来帮助客户自行创建创新的 app,但不应代表客户提交 app。模板提供商也可以考虑创建单一的二进制文件,以汇总或“选取”的模型托管所有客户端内容 (例如:在搜索餐厅的 app 里为每个客户餐厅定制独立的条目或页面,或在聚会活动 app 里为每个客户的活动创建单独的条目)。
4.2.7 远程桌面客户端:如果您的远程桌面 app 用作特定软件或服务的镜像,而不是主机设备的普通镜像,则必须符合以下规定:
(a) App 必须仅连接到归用户所有的主机设备 (即归用户所有的个人电脑或专用游戏控制台);主机设备和客户端皆须通过本地局域网连接。
(b) 客户端中显示的任何软件或服务应完全在主机设备上执行,在主机设备屏幕上完整呈现,并且不可使用超出远程桌面传输所需的 API 或平台功能。
(c) 所有帐户的创建和管理均必须从主机设备发起。
(d) 客户端上显示的 UI 不与 iOS 或 App Store 视图相似,不提供商店类界面,也不能供用户浏览、选择或购买用户尚未拥有或授权的软件。为明确起见,在镜像的软件中发生的交易不需要使用 App 内购买,前提是这些交易是在主机设备上处理的。
(e) 云端 app 的瘦客户端不适合在 App Store 上发布。
4.3 重复 App
请不要为同一个 app 创建多个套装 ID。如果您的 app 针对特定位置、运动队、大学等存在不同版本,请考虑提交单个 app,并提供 App 内购买项目以提供不同的功能。同时,请避免继续在已有大量类似 app 的类别下进行开发;App Store 上已经有太多模拟放屁、打嗝声音的 app,以及手电筒、算命、约会和爱经等 app。除非这类 app 会提供独特、高质量的体验,否则我们将会予以拒*。上传大量相似版本 app 的开发者会遭到 Apple Developer Program 的除名。

4.4 扩展
托管或包含扩展的 app 必须遵循“App 扩展编程指南 (英文)”或“Safari 浏览器 App 扩展指南 (英文)”;如果可行,还应包含诸如帮助屏幕和设置界面在内的一系列功能。您应当在 app 的市场营销文本中清晰且准确地披露提供了哪些扩展,扩展中不可包含营销、广告或 App 内购买项目。

4.4.1 Keyboard 扩展还需要遵循一些额外的规则。
它们必须:

提供键盘输入功能 (如可输入字符);
如果键盘中含有图像或表情符号,请遵循贴纸准则;
提供切换到下一个键盘的方法;
在没有网络连接和不要求完全访问权限的情况下仍能使用;
收集用户活动数据只是为了改进其 Keyboard 扩展在 iOS 设备上的性能。
它们不得:

启动“设置”之外的其他 app;或者
将键盘按键用于其他行为,例如按住 return 键来启动相机等。
4.4.2 Safari 浏览器扩展必须在 macOS 上的*新版 Safari 浏览器上运行。它们不得干扰系统和 Safari 浏览器 UI 元素,并*不能包含恶意或误导性的内容或代码。违背此规则会遭到 Apple Developer Program 除名。除了正常工作所必需的网站,Safari 浏览器扩展不得要求访问更多网站。
4.4.3 表情贴纸
表情贴纸是让“信息”变得更动态、更有趣的*佳方式,让人们能够以更巧妙、有趣、有意义的方式表达自我。无论您的 app 是含有 Sticker 扩展,还是您要创建单独的表情贴纸包,其内容均不得冒犯用户、造成负面体验或违反相关法律。

(i) 通常,不适合在 App Store 上发布的内容也不适合放入表情贴纸内。
(ii) 考虑地区敏感性,不要在难以接受或者会违反当地法律的国家/地区提供您的表情贴纸包。
(iii) 如果您的表情贴纸含义不易理解,请在审核备注中附上清晰的说明,从而避免导致审核流程的延误。
(iv) 确保您的表情贴纸在您的朋友与家人之外具有相关性;它们不应特定于个人活动、群体或关系。
(v) 您必须对表情贴纸中的内容,持有所有必要的著作权、商标权和形象权及授权许可,不得提交任何未经授权的内容。请记住,您必须能够在要求时提供可核实的文件。若 app 内含有您无权使用的表情贴纸内容,这个 app 会被从 App Store 中移除,屡次侵权者会被从 Developer Program 中除名。如果您认为自己的内容遭到其他提供商侵权,请点击此处提交申诉。
4.5 Apple 站点和服务
4.5.1 App 可以使用获批的 Apple RSS Feed (如 iTunes Store RSS Feed),但不能抹除 Apple 站点 (如 apple.com、iTunes Store、App Store、App Store Connect 和开发者门户等) 的任何信息,也不能使用这类信息进行排名。
4.5.2 Apple Music
(i) MusicKit API 可以让客户在使用您的 app 时访问自己的订阅。它们旨在为 Apple Music 订阅用户提供轻松简便的音乐播放体验。用户必须能够发起 Apple Music 流媒体播放,并且能够使用“播放”、“暂停”和“跳过”等标准媒体控件来浏览音乐内容。此外,您的 app 不得要求用户通过付款或间接的货币化方式来获取 Apple Music 服务的访问权限 (如 App 内购买项目、广告、要求使用用户信息等)。请勿下载、上传或分享源自 MusicKit API 的音乐文件,除非 MusicKit (英文) 文稿中已明确允许。
(ii) 使用 MusicKit API 并不能取代为获得更深入或更复杂的音乐集成而可能需要的授权许可。例如,如果您希望您的 app 在特定时刻播放特定的歌曲,或者创建可以在社交媒体上分享的音频或视频文件,您需要直接联系版权持有人来获得许可 (如同步或改编权利) 和资源。封面插图和其他元数据仅可用于与音乐播放或播放列表相关的用途 (包括展示 app 功能的 App Store 屏幕快照),未经版权持有人明确授权,不得用于任何市场营销或广告目的。在 app 中集成 Apple Music 服务时,请务必遵循“Apple Music 识别标志指南 (英文)”。
(iii) 访问 Apple Music 用户数据 (如播放列表和个人收藏) 的 app 必须在用途字符串中清楚披露这类访问行为。收集的任何数据均不得与第三方分享,也不得用于除支持或改进 app 体验之外的任何其他用途。这类数据不得用于识别用户身份或设备,也不得用于广告定向宣传目的。
4.5.3 不得使用 Apple 服务 (包括 Game Center 或推送通知等) 发送垃圾邮件、进行网络钓鱼,或者向客户发送未经请求的信息。不得尝试进行查找、跟踪、关联、挖掘、获得或利用玩家 ID、别名以及通过 Game Center 获得的其他信息。否则将会遭到 Apple Developer Program 的除名。
4.5.4 App 不得将推送通知列为必需条件,并且不应将这项功能用来发送敏感的个人或机密信息。推送通知不得用于促销或直接营销目的,除非客户已通过 app UI 中显示的同意语句明确选择接收此类信息,并且您在 app 中提供了让用户可以选择不接收此类信息的方法。不当使用这些服务可能会导致撤销您的权限。
4.5.5 仅以 Game Center 团队批准的方式使用 Game Center 玩家 ID,并不得在 app 中显示或向任何第三方显示。
4.5.6 App 可以在自身和 app 元数据中使用会呈现为 Apple 表情符号的 Unicode 字符。Apple 表情符号不可在其他平台中使用,也不可直接嵌入到您的 app 二进制文件中。
4.6 备选 App 图标
App 可以使用自定图标以传达特定信息 (例如表达对某个运动团队的喜爱),前提是每次更改都由用户发起,并且 app 中应包含恢复至原始图标的设置。所有图标变体必须与 app 的内容相关,并且更改内容在所有系统资源之间应保持一致,以便“设置”和“通知”等位置中显示的图标与新的 Springboard 图标相吻合。这项功能不可用于动态、自动或连续性更改,例如用于反映*新天气信息和日历通知等。

4.7 HTML5 游戏与聊天机器人 (Bot) 等
App 可包含或运行未嵌入二进制文件的代码 (如基于 HTML5 的游戏和聊天机器人等),前提是 app 的主要目的并非代码分发,代码亦没有在商店界面或类似商店的界面中提供,而且相关软件 (1) 为免费软件或需通过 App 内购买项目进行购买;(2) 仅使用标准 WebKit 视图中提供的功能 (例如,它必须在 Safari 浏览器中原生打开和运行,且无需修改也无需其他软件);您的 app 必须使用 WebKit 和 JavaScript Core 来运行第三方软件,且不得试图扩展或披露原生平台 API 给第三方软件;(3) 由已加入 Apple Developer Program 且签署“Apple Developer Program 许可协议”的开发者提供;(4) 不提供对真实货币游戏、彩票或慈善捐助的访问;(5) 遵守各个 App Review 指南中的条款 (例如,不含令人反感的内容);并且 (6) 不提供数字商品或服务进行销售。在被要求时,您必须提供 app 中所含软件和元数据的索引信息。它必须包含软件提供商的 Apple Developer Program 团队 ID,以及可供 App Review 团队用于确认软件符合上述要求的 URL。

4.8 通过 Apple 登录
如果 app 使用第三方或社交登录服务 (例如,Facebook 登录、Google 登录、通过 Twitter 登录、通过 LinkedIn 登录、通过 Amazon 登录或微信登录) 来对其进行设置或验证这个 app 的用户主帐户,则该 app 必须同时提供“通过 Apple 登录”作为同等选项。用户的主帐户是指在 app 中建立的、用于标识身份、登录和访问功能和相关服务的帐户。

在以下情况下,不要求提供“通过 Apple 登录”选项:

您的 app 仅使用公司自有的帐户设置和登录系统。
您的 app 是一款教育、企业或商务 app,要求用户使用现有的教育或企业帐户登录。
您的 app 使用政府或行业支持的公民身份系统或电子身份证来鉴定用户身份。
您的 app 是特定第三方服务的客户端,用户需要使用他们的邮件、社交媒体或其他第三方帐户直接登录才能访问内容。

5. 法律
只要 app 向某个地区的用户提供,那么就必须遵守该地区的所有法律要求 (如果您不太确定,请与律师联系)。我们知道这些东西非常复杂,但除了下方所列准则以外,同时理解所有本地法律,并确保您的 app 能满足所有法律要求,是您必须承担的责任。当然,如果 app 存在唆使、宣传或鼓励犯罪的行为或明显不负责任的行为,则会被拒*。在发现涉及如方便人口贩卖和/或剥削儿童的 app 的*端情况下,我们将通知有关当局。

5.1 隐私
在 Apple 生态体系中,保护用户隐私总是*要务。您要在处理个人数据时小心谨慎,以确保遵守了隐私保护*佳做法 (英文)、适用的法律和“Apple Developer Program 许可协议 (英文)”中的条款,并满足客户的期望。尤其是:

5.1.1 数据收集和存储
(i) 隐私政策:所有 app 必须在 App Store Connect 元数据栏位和 app 内部包含可轻松访问的隐私政策链接。隐私政策必须明确而清楚地:
指明 app/服务所收集的数据 (若有)、收集数据的方式,以及这些数据的所有用途。
确认与 app 共享用户数据 (遵从这些准则) 的任何第三方 (例如,分析工具、广告网络和第三方 SDK,以及能够访问用户数据的任何母公司、子公司或其他相关实体) 会提供与 app 隐私政策所述及这些准则所要求相同或等同的用户数据保护措施。
解释数据保留/删除政策,并且说明用户可以如何撤销同意和/或请求删除用户数据。
(ii) 许可 如果 app 会收集用户数据或使用数据,即使此类数据在收集当时或收集后即刻被匿名处理,app 也必须征得用户的同意才能收集。付费功能不得依赖于或要求用户授予访问这些数据的权限。App 还必须为客户提供简单易懂且易于操作的方式来撤销同意。确保您在用途说明中清楚且完整地阐述您对数据的使用。如果 app 依据欧盟《一般数据保护条例》(“GDPR”) 或类似法规,出于合法权益而不经事先同意就收集数据,则必须遵循此类法律的所有条款。进一步了解请求许可 (英文)。
(iii) 数据*少化:App 仅可请求访问与 app 核心功能相关的数据,并且仅可收集和使用完成相关任务所需的数据。若有可能,请使用进程外选取器或共享列表,而不要请求“照片”或“通讯录”等受保护资源的完整访问权限。
(iv) 访问权限:App 必须尊重用户的权限设置,不得操纵、欺骗或强迫用户同意不必要的数据访问。例如,可发布照片到社交网络的 app 不得在允许用户上传照片前要求麦克风访问权限。若有可能,请为不同意的用户提供替代解决方案。例如,如果用户拒*共享位置,请提供手动输入地址的功能。
(v) 帐户登录:如果 app 不包含基于帐户的重要功能,请允许用户在不登录的情况下使用。App 不得要求用户提供个人信息才能正常使用,除非个人信息与 app 的核心功能直接相关,或是法律要求时。如果您的核心 app 功能与特定的社交网络 (如 Facebook、微信、微博或 Twitter 等) 不相关,您必须提供无需登录或其他类似机制的访问权限。调取基本档案信息、分享到社交网络或邀请朋友使用 app 等不视为核心 app 功能。App 还必须包含用于撤销社交网络凭证的机制,以及从 app 内停用 app 与社交网络之间数据访问的机制。App 不可在设备外存储社交网络的凭证或令牌,而且只能使用此类凭证或令牌来在 app 使用期间从 app 本身直接连接社交网络。
(vi) 如果开发者开发的 app 试图暗中收集用户密码或其他用户私人数据,那么开发者会被从 Apple Developer Program 中除名。
(iv) 必须使用 SafariViewController 在显著位置向用户显示信息;不得隐藏这个控制器,也不能被其他视图或图层遮挡。此外,未经用户的知情和同意,app 不得私下利用 Safari 浏览器 ViewController 来追踪用户。
(viii) 汇编个人信息的 app,如果其来源未经用户的明确同意,或并非直接源自用户 (即使是公共数据库),则不可在 App Store 中发布。
(ix) 在受到严格监管的领域 (如银行和金融服务、医疗保健和航空旅行) 提供服务或需要敏感用户信息的 app,应由提供相应服务的法律实体提交,而不能由个人开发者提交。
5.1.2 数据使用和共享
(i) 除非法律另有许可,否则您不得未经他人允许而使用、传输或共享他们的个人数据。您必须提供相应的信息,说明以何种方式在哪里使用这些数据。App 收集的数据只有在为了改进 app 或用于广告投放用途 (遵守 Apple Developer Program 许可协议 (英文)) 的前提下,才能与第三方共享。如果 app 在未经用户同意或未能符合数据隐私保护法律的情况下共享用户数据,则 app 可能会被下架,并且可能会导致您从 Apple Developer Program 中除名。
(ii) 除非法律另有明确许可,否则未经用户的额外同意,为一个用途而收集的数据不可用于其他用途。
(iii) App 不得试图暗中基于收集的数据构建用户资料,也不得尝试、协助或鼓励他人根据从 Apple 提供的 API 收集的数据,或您所谓以“匿名”、“汇总”或其他不可识别的方式收集的数据来识别匿名用户的身份或重建用户资料。
(iv) 请勿使用来自“通讯录”、“照片”或能访问用户数据的其他 API 的信息来构建联系人数据库,以供自己使用或出售/分发给第三方,也不要收集关于用户设备上安装有哪些 app 的信息,以用于分析或投放广告/市场营销。
(v) 请勿使用通过“通讯录”或“照片”收集的信息来联系用户,除非用户以个人方式明确主动发起联系;请勿包含“全部选择”选项,也不要默认选中所有联系人。在信息发送之前,您必须向用户清楚说明这个信息会如何呈现给收件人 (例如,信息中包含什么内容?发件人显示为谁?)。
(vi) 从 HomeKit API、HealthKit、消费者健康记录 API、MovementDisorder API、ClassKit 或深度图和/或面谱绘制工具 (例如 ARKit、相机 API 或照片 API) 收集的数据,不得用于市场营销、投放广告或基于使用情况进行其他数据挖掘,包括第三方在内。进一步了解实施 CallKit (英文)、HealthKit (英文)、ClassKit (英文) 和 ARKit 的*佳做法。
(vii) 使用 Apple Pay 的 app 只能与第三方共享通过 Apple Pay 获得的用户数据,以帮助或改进商品或服务的交付。
5.1.3 健康和健康研究
健康、健身和医疗数据特别敏感,涵盖这些领域的 app 必须满足额外的规则,并确保客户隐私受到保护:

(i) App 在健康、健身和医疗研究背景下收集的数据 (包括从临床健康记录 API、HealthKit API、“运动与健身”、MovementDisorderAPI 或健康领域人体研究中收集的数据),不得因广告投放、市场营销或其他基于使用情况进行的数据挖掘 (除非获得批准,并出于改进健康管理或健康研究的目的) 而使用或向第三方披露。不过,App 可以使用用户的健康或健身数据直接向该用户提供权益 (如保费减免),前提是 app 须由提供相应权益的实体提交,而且其数据不得与第三方共享。同时,app 必须清楚说明将从设备收集的具体健康数据。
(ii) App 不得将虚假或错误数据写入 HealthKit 或其他任何医疗研究/健康管理 App,不得在 iCloud 中存储个人健康信息。
(iii) 开展健康领域人体研究的 app 必须获得参与人员提供的知情同意书,如果涉及未成年人,则必须获得由其家长或监护人提供的知情同意书。上述知情同意书必须涵盖以下内容:(a) 研究的性质、目的和时长;(b) 具体规程,给参与人员带来的风险和益处;(c) 关于保密和数据处理 (包括与第三方共享信息的情况) 的信息;(d) 用于回答参与人员问题的联系人;以及 (e) 退出流程。
(iv) 用于开展健康领域人体研究的 app 必须获得一家独立伦理审查委员会的批准。一经要求,必须提供此类批准的证明。
5.1.4 儿童
出于诸多原因,您在处理儿童的个人数据时请务必小心谨慎。我们建议您仔细阅读所有要求,以遵循相关法律,如《儿童在线隐私保护法》(“COPPA”)、欧盟《一般数据保护条例》(“GDPR”) 以及任何其他适用的法律法规。

App 只能出于遵守适用儿童隐私法规的目的要求用户提供出生日期或家长联系信息,但必须提供一些适用于各年龄层用户的实用功能或娱乐价值。

主要面向儿童的 app 不应包含第三方数据分析或第三方广告。这些做法可为儿童提供更安全的体验。在少数情况下,可能允许包含第三方数据分析和第三方广告,前提是这些服务遵守上文“准则 1.3”中所述的条款。

此外,“儿童类别”中的 app,以及向未成年人收集个人信息 (例如姓名、地址、电子邮件、位置、照片、视频、图画、能否聊天、其他个人数据,或是将永久标识符与以上任何信息组合使用)、传输此类信息或能够共享此类信息的 app,则必须拥有隐私政策,且必须遵守适用的儿童隐私保护法规。为了清楚起见,“儿童类别”的家长监控要求,通常并不完全等同于在这些隐私法规下征得家长的同意后收集个人数据。

特此提醒,“准则 2.3.8”要求只有“儿童”类别的 app 才能在元数据中使用类似“适合幼儿”和“适合儿童”等词语。不属于“儿童”类别的 app 不得在 app 名称、副标题、图标、屏幕快照或描述中包含任何暗示 app 主要受众为儿童的词汇。

5.1.5 定位服务
只有在定位服务与 app 提供的功能和服务直接相关时,才能在 app 中使用定位服务。基于位置的 API 不得用于提供紧急服务,不得对汽车、飞机和其他设备 (轻量无人机和玩具等小型设备和汽车防盗系统的遥控等除外) 进行自主控制。在收集、传输或使用位置数据之前,务必进行通知并获得用户同意。如果 app 会使用定位服务,请务必在 app 中说明相应的原因;请参考“Human Interface Guidelines (英文)”,了解相应的*佳做法。

5.2 知识产权
请确保 app 只包含由您创建或拥有使用许可的内容。如果您已越线并在未经许可的情况下使用了内容,您的 app 可能会被移除。当然,这也意味着如果他人抄袭了您的作品,则他们的 app 也可能会被移除。如果您认为自己的知识产权在 App Store 上受到了其他开发者的侵犯,请通过此网页表格提交权利主张。各个国家/地区的法律互不相同,但请务必避免以下常见错误:

5.2.1 一般性:不得在未经授权的情况下,在 app 中使用受保护的第三方材料 (例如商标、版权作品、专利设计);也不得在 app 套装或开发者名称中包含虚假、抄袭或误导性的演示、名称或元数据。App 提交方应当是拥有或获授权使用知识产权及其他相关权利的个人或法律实体。
5.2.2 第三方站点/服务:如果您的 app 会使用、访问第三方服务、通过访问第三方服务盈利或是显示第三方服务的内容,请确保您获得在该服务的使用条款下进行此类操作的特别许可。如有相应要求,则必须提供相关授权。
5.2.3 音频/视频下载:app 不得促进非法文件共享,或在没有获得这些资源的明确授权的情况下,提供从第三方来源 (如 Apple Music、YouTube、SoundCloud、Vimeo) 保存、转换或下载媒体资源的能力。视频/音频内容流也有可能触犯使用条款,所以请务必在 app 访问这些服务前,进行检查。如有相应要求,则必须提供相关文稿。
5.2.4 受 Apple 认可:不得误导或暗示 Apple 是 app 的来源或提供商,或者 Apple 以任何形式表示认可其质量或功能。如果您的 app 被选为“编辑选荐”,Apple 将自动显示相应徽章。
5.2.5 Apple 产品:不得创建与现有 Apple 产品、界面 (如访达)、app (如 App Store、iTunes Store 或“信息”) 或广告主题外观相似或容易混淆的 app。App 和扩展功能 (包括第三方键盘和贴纸包) 不得含有 Apple 表情符号。iTunes 音乐预览内容不得用于其娱乐价值 (如用作照片拼贴画的背景音乐或游戏配音) 或其他未获授权的方式。如果 app 显示健身记录圆环,则不应以类似于“健身记录”控件的方式展示“活动”,“锻炼”或“站立”数据。请参考“Human Interface Guidelines (英文)”以了解关于如何使用健身记录圆环的更多信息。
5.3 游戏、赌博和彩票
游戏、赌博和彩票的管理难度大,是 App Store 上受到*多管制的应用类别之一。只有全面核实了即将发布您 App 的所有国家/地区的相关法律要求后,才能包含此功能,并且要做好准备此功能的审核流程需要更长的时间。您需要谨记以下事项:

5.3.1 抽*和比赛必须由 app 的开发者赞助。
5.3.2 抽*、比赛和抽彩的正式规则必须在 app 中注明,并且必须明确表示 Apple 不是赞助者,也没有以任何形式参与活动。
5.3.3 App 不得通过 App 内购买项目购买点数或货币,以用于任何种类的真实货币游戏;不得向用户出售彩票或抽彩券;不得在 app 内进行资金转账。
5.3.4 提供真实货币游戏(例如体育下注、扑克、赌场游戏、赛马)或彩票的 App 必须在使用该 App 的地区获得必要的许可和批准,且只能在这些地区发布,此类 App 在 App Store 中必须免费提供。不允许在 App Store 上发布非法的赌博辅助工具,包括记牌器。彩票 App 必须有报酬、几率及*品。
5.4 * App
提供 * 服务的 app 必须利用 NE*Manager API (英文),并且仅可由登记为企业的开发者提供。在用户进行任何操作来购买或以其他方式使用该服务之前,您必须在 app 屏幕上清楚地声明会收集哪些用户数据,以及将如何使用这些数据。无论出于任何目的,提供 * 服务的 App 不得出售、使用或向第三方披露任何数据;并且必须在隐私政策中做出这一承诺。* app 不得违反当地法律,如果您选择在需要 * 许可证的地区发布,则必须在 App Review 注释栏位中提供您的许可证信息。除此之外,经批准的提供商所提供的家长控制、内容拦截和安全 app 也可以使用 NE*Manager API。不遵循这项准则的 app 会被从 App Store 中移除,您也可能会被从 Apple Developer Program 中除名。

5.5 移动设备管理
提供移动设备管理 (MDM) 服务的 MDM App 必须向 Apple 请求此功能。此类 app 仅可由商业企业 (如商业组织、教育机构或政府机构) 提供;在少数情况下,也可由使用 MDM 提供家长控制服务或设备安全性的公司提供。在用户进行任何操作来购买或以其他方式使用该服务之前,您必须在 app 屏幕上清楚地声明会收集哪些用户数据,以及将如何使用这些数据。MDM app 不得违反任何适用法律。无论出于任何目的,提供 MDM 服务的 app 都不得出售、使用或向第三方披露任何数据;并且必须在隐私政策中做出这一承诺。在少数情况下,可能允许包含第三方数据分析,前提是相关服务仅收集或传输关于开发者的 MDM app 性能的数据,而不会收集关于用户、用户设备或该设备上其他 app 的任何数据。提供配置描述文件的 app 也必须遵守这些要求。不遵循这项准则的 app 会被从 App Store 中移除,您也可能会被从 Apple Developer Program 中除名。

5.6 开发者行为准则
请尊重每一个人,无论是在 App Store 中回复用户评论、回应客户支持请求时,还是与 Apple 沟通时 (包括您在解决方案中心的回复),都应做到这一点。请勿涉及任何形式的骚扰、歧视、恐吓或霸凌行为,也不要鼓励他人实施任何上述行为。

客户的信任是 App Store 获得成功的基石。App 不得存在以下行为:掠夺用户或试图勒索用户;诱导用户进行非自愿的购买;强迫用户共享不必要的数据;以欺骗的方式抬高价格;针对未交付的功能或内容收取费用;或者在 app 内部或外部实施任何其他操纵行为。

5.6.1 App Store 评论
App Store 客户评论是 app 体验中不可或缺的一部分;因此,在回复客户的评论时,您应当对他们保持尊重。另外,您的回复应直接回应客户评论的主题,请勿在回复中包含个人信息、垃圾信息或营销广告。

利用我们提供的 API 提示用户评价您的 app:通过这项便利功能,客户无需离开 app,就可直接在 App Store 中留下评分和评论;不允许使用自定义的评论提示。

提交之后
在 App Store Connect 中提交 app 和元数据之后,您随即就会进入审核流程。请谨记以下几点:

时间:App Review 团队会尽快检查您的 app。不过,如果 app 比较复杂或者存在新的问题,则可能需要更深入的审查和考量。也请记住,如果 app 因为违反同一准则而一再被拒*,或者您曾经试图操纵 App Review 流程,您的 app 将需要更长时间才能完成审核。进一步了解 App Review。
状态更新:App 的当前状态会反映在 App Store Connect 中,所以请多留意此处。
加急请求:如果您遇到了严重的时间问题,可以申请加急审核 (英文)。请仅在您真的需要加快审核时才提出申请,以便其他开发者的加急请求不受影响。如果我们发现您滥用此系统,从此以后我们可能都会拒*您的申请。
发布日期:如果您为 app 设定了在未来某个日期发布,即使该 app 提前通过了 App Review 团队的审核,在设定的发布日期前也不会显示在 App Store 上。请注意,您的 app 可能需要长达 24 小时才能显示在所有选定的商店中。
拒*:我们的目标是公平、持续地遵循这些准则,但是人无完人。如果您的 app 被拒*,但您存在疑问,或希望提供其他信息,请使用解决方案中心,以与 App Review 团队直接沟通。这样可以帮助您的 app 出现在商店中,也可帮助我们改进 App Review 流程,并在我们的政策中发现需要阐明的部分。如果您仍对结果不满意,请提交申诉 (英文)。

iOS开发应用上架必读*新苹果审核规则(史上*全版)

%title插图%num

1. 条款和条件

• 1.1 为App Store开发程序,开发者必须遵守 Program License Agreement (PLA)、人机交互指南(HIG)以及开发者和苹果签订的任何其他协议和合同。以下规则和例证旨在帮助开发者的程序能获得App Store的认可,而不是修改或删除任何其他协议中的条款。

2. 功能
• 2.1 崩溃的程序将会被拒*。
• 2.2 存在错误的程序将会被拒*。
• 2.3 跟开发者宣传不符的程序将会被拒*。
• 2.4 无应用文档或隐藏功能与描述不符的程序将会被拒*。
• 2.5 使用非公开API的程序将会被拒*。
• 2.6 在指定容器范围外读写数据的程序将会被拒*。
• 2.7 以任何方式或形式下载代码的程序将会被拒*。
• 2.8 安装或运行其他可执行代码的程序将会被拒*。
• 2.9 Demo版、trial版和test版的程序将会被拒*。 Beta版应用程序可通过TestFlight提交,并且必须遵守相关指南。(此前并未允许Beta版通过TestFlight提交)
• 2.10 iPhone程序必须不经修改就能以iPhone分辨率和2倍 iPhone 3GS的分辨率在iPad上运行。
• 2.11 与App Store已有程序重复的应用可能会被拒*,特别是数量很多的情况下,比如手电筒应用和爱经应用。
• 2.12 没有显著用途、不独特的应用程序或者与网站简单捆绑的应用有可能被拒;不提供任何持久娱乐价值的程序可能会被拒*。
• 2.13 内容主要是营销材料或广告的程序将会被拒*。
• 2.14 包含欺骗或虚假功能,却有没有标明的应用程序将会被拒*。
• 2.15 大于100MB无法通过蜂窝网络下载的应用(App Store会自动禁止)。
• 2.16 多任务程序使用后台服务仅限于几种目的:VoIP、音频播放、地理位置、完成任务以及本地提醒等。
• 2.17 应用程序只允许使用iOS WebKit框架和WebKit Javascript浏览web内容。
• 2.18 鼓励酗酒或使用违禁药物,或引诱青少年饮酒或吸烟的程序将会被拒*。
• 2.19 提供错误的系统诊断或不精确的设备数据的应用将会被拒*。
• 2.20 向App Store上传大量相似版本程序的开发者将会从iOS开发者计划中除名。
• 2.21 简单一首歌曲或者一部影片应用要提交到iTunes store,书籍类应用应该提交到iBookstore。
• 2.22 随意根据环境(如定位或者运营商)限制用户使用的应用会被拒。
• 2.23 应用必须遵守iOS数据储存指导方针(iOS Data Storage Guidelines ),否则应用将被拒。
• 2.24 存放在Newsstand的应用必须遵守开发者项目许可协议(Program License Agreement)的表1、表2以及表3,否则应用将会被拒。
• 2.25 类似App store,或者基于购买或者促销的目的而展示其他应用的应用将会被拒* (限制更加严格,此前经过特殊审核批准(比如健康管理、航空以及其他无障碍需求等),或者为特殊群体用户提供具有重大意义的附加值的应用是可以通过的)
• 2.26 只有当app是出于特殊审核需要(比如健康管理、航空以及无障碍需求等)或为特殊群体用户提供具有重大意义的附加值时,才可以展示和推荐自身以外的其他应用程序,否则应用程序将会被拒*。

3. 元数据(名称、描述、评级、排名等) 近来厂商踩雷屡见不鲜,此部分请详细阅读
• 3.1 应用或者元数据中提到其他任何移动平台将会被拒。
• 3.2 带有占位符文本的程序将会被拒*
• 3.3 应用程序的名称、描述、截图或者预览与应用的内容和功能不相关将会被拒*。 (此前仅对描述有所限制 )
• 3.4 为了不混淆用户,iTunes Connect中的应用名称应该和展示在设备上的应用名称一致。
• 3.5 不同尺寸的app icon要一致,否则会造成混淆。
• 3.6 图标、截图以及预览不符合4+年龄评级的程序将会被拒*。 (增加了对预览的限制)
• 3.7 目录与类型不适合于程序内容的程序将会被拒*。
• 3.8 开发者有责任为其程序指定适合的评级。不相称的评级可能会由苹果公司修改。
• 3.9 开发者有责任为其程序指定恰当的关键字。不恰当的关键词可能会被苹果公司修改/删除。
• 3.10试图通过伪造评论或者付费评论的方式在AppStore中操纵或者其欺骗用户评论(或者采用其他不正当方式)以提升排名的开发者将会被苹果从iOS开发者计划中除名。
• 3.11 在安装或打开应用之前,推荐用户重启iOS设备的应用将会被拒。
• 3.12 提交审核的应用程序应包含能正常运行的URL,比如支持服务URL和隐私政策URL。
• 3.13 应用程序的截图、预览或者营销文本没有清晰地指出附加内容或项目需要额外单独购买(比如使用IAP)将会被拒*。
• 3.14 App预览仅能使用从应用程序捕获的视频屏幕、旁白、文本以及design overlays,否则应用程序将会被拒*。
• 3.15 添加App预览的应用程序,未经许可展示真人个人信息将会被拒*。
• 3.16 App预览仅能使用在所有选定地区内经过授权许可、用于此目的的音乐。
• 3.17 App预览包含未经授权的通过app播放的内容(比如iTunes playlist和YouTube流媒体)的应用将会被拒*。

4. 位置
• 4.1 在收集、传输或使用位置数据之前未通知并获得用户同意的程序将会被拒*。
• 4.2 将基于位置的API用于车辆、飞机或其他设备的自动控制或自主控制的应用程序将会被拒*。
• 4.3 使用基于位置的API用于应急服务的应用程序将会被拒*。 (此处进行了描述修改,未着重指出调度和车队管理)
• 4.4 当与提供的功能或服务密切相关,或者为支持经过授权的广告时,应用程序才可以使用位置数据。

5. 推送通知
• 5.1 不使用苹果推送通知 (APN)应用接口提供推送通知的程序将会被拒*。
• 5.2 未从苹果获得Push Application ID便擅自使用APN服务的程序将会被拒*。
• 5.3 在首次推送消息或者要求运行推送通知之前未获得用户许可的应用将会被拒*。
• 5.4 使用推送通知发送敏感个人信息或机密信息的程序将会被拒*。
• 5.5 使用推送通知发送非请求消息,或用于钓鱼或群发垃圾信息用途的程序将会被拒*。
• 5.6 应用程序不可使用推送通知发送广告、促销或任何类型的直销信息。
• 5.7 应用程序不能向使用推送通知服务的用户收取费用。
• 5.8 使用推送通知会过多利用APN服务的网络流量或带宽或给设备带来过度负担的程序将会被拒*。
• 5.9 如果应用程序传送病毒、文件、计算机代码或程序,并且对APN服务的正常运行造成损害或中断,那么该程序将会被拒*。

6. 游戏中心
• 6.1 向终端用户或任意第三方显示玩家ID的程序将会被拒*。
• 6.2 将玩家ID用于任何未经游戏中心条款批准用途的程序将会被拒*。
• 6.3 试图进行反向搜索、跟踪、关联、挖掘、获得或利用玩家ID、别名或通过游戏中心获得其他信息的开发者将会iOS开发者计划除名。
• 6.4 游戏中心信息(例如排行榜分数),只能用于游戏中心批准的应用程序中。
• 6.5 利用游戏中心服务发送非请求信息,或用于钓鱼或群发垃圾邮件的程序将会被拒*。
• 6.6 过多使用游戏中心网络流量或带宽的应用程序将会被拒*。
• 6.7 如果程序能够传送病毒、文件、计算机代码或程序,并且对游戏中心服务的正常运行造成损害或中断,该程序将会被拒*。

7. 广告
• 7.1 人工刷广告浏览量或者广告点击率的应用程序将会被拒*。
• 7.2 包含空iAd广告的应用程序将会被拒*。
• 7.3 主要设计目的在于显示广告的应用程序将会被拒*。

8. 商标与商品外观
• 8.1 应用程序必须遵守”Guidelines for Using Apple Trademarks and Copyrights”和”Apple Trademark List”中说明的所有条款与条件。
• 8.2 任何误导和暗示苹果公司是该应用程序来源或提供商,或者苹果公司以任何形式表示认可其质量或功能的应用程序将会被拒*。
• 8.3 与目前已有苹果产品或者广告主题外观相似或混淆的应用程序将会被拒*。
• 8.4 在应用程序名称中将苹果产品名拼错的应用程序(例如,GPS for Iphone,iTunz)将会被拒*。
• 8.5 应用程序不得使用受保护的第三方材料(比如商标、版权以及专利),不能违反第三方使用条款。必须提供使用这些材料的授权许可。
• 8.6 若无明确授权许可,从第三方来源处(比如YouTube、SoundCloud以及Vimeo等)下载音乐或者视频内容的应用程序将会被拒*。

9. 媒体内容
• 9.1 不使用媒体播放器框架(MediaPlayer Framework)获取音乐库中媒体内容的应用程序将会被拒*。
• 9.2 用户界面模仿任何iPod或者iTunes界面的应用程序将会被拒*。
• 9.3 通过蜂窝网络传输的音频流内容每5分钟不得超过5MB。
• 9.4通过蜂窝网络传输超过10分钟的视频流内容必须使用HTTP Live Streaming协议,并且要包含一个基线为192kbps或者更低的HTTP实时流。

10. 用户界面
• 10.1 应用程序必须遵守苹果的《iOS Human Interface Guidelines》中所有的条款和条件。
• 10.2 外观与iPhone自带应用(比如App Store、iTunes Store和iBookstore)相似的应用程序将会被拒*。
• 10.3 未能按苹果《iOS Human Interface Guidelines》描述正确使用系统提供的项目(比如按钮、图标)的应用将会被拒*。
• 10.4 创建桌面/主屏幕环境或者模拟multi-App插件体验的应用程序将会被拒*。
• 10.5 修改音量大小和铃声/静音等标准开关功能的应用程序将会被拒*。
• 10.6 苹果和我们的客户高度推崇简单、精致、富有创造性以及经过精心设计的界面。虽然需要付出更多,但却非常值得。苹果设立了很高的门槛。如果你的用户界面太过复杂或者水准不高,可能会被拒*。

11. 购买与货币流通
• 11.1 使用App Store以外的渠道解锁或开启附加属性和功能的应用程序将会被拒*。
• 11.2 使用应用内支付系统(IAP)以外的系统购买内容、功能或服务的应用软件将会被拒*。
• 11.3 使用IAP购买实物商品或者用于该软件之外的商品和服务的应用软件将会被拒*。
• 11.4 使用IAP购买积分(信用点)或者其他货币必须在本应用中消费。
• 11.5 使用IAP购买已过期积分或其他货币的应用软件将会被拒*。
• 11.6 使用IAP订阅的内容至少要持续7天,而且允许在用户的其他iOS设备间共享。
• 11.7 使用IAP购买项目的应用程序必须指派正确的购买类型。
• 11.8 使用IAP购买iOS内置功能(如照相机,陀螺仪)的应用程序将会被拒*。
• 11.9 含有超过限定时间的内容或服务的应用程序将会被拒*,除经特定批准的内容(比如电影、电视节目音乐以及书籍)。
• 11.10 保险类应用程序必须免费,要遵守发布地区的法律,并且不能使用IAP。
• 11.11 一般而言,你的应用程序越贵,我们的评审会越深入。(对不起,我们国产大部分是免费网游)
• 11.12 提供订阅功能的应用必须使用IAP,苹果将会按照 Developer Program License Agreement 中的约定与开发者按30/70比例分成。
• 11.13 在应用内使用跳转至外部购买或订阅链接的应用将会被拒,比如”buy”按钮跳转至一个购买电子书的web页面。
• 11.14 只要应用内没有跳转至外部购买、订阅的按钮或链接,苹果允许这些应用读取或展示经批准的、在应用外购买或订阅内容(特别是杂志、报纸、书籍、音频、音乐、视频以及云存储内容)。苹果只能通过应用程序内的购买获得一部分收益。
• 11.15 应用程序可以只使用自动更新订阅期刊(报纸、杂志)、商业应用程序(企业类、效率类、专业创意类以及云存储类)和媒体类应用程序(视频、音频、声音),否则应用程序将被拒*。
• 11.16 当与特定的经过审核的实体产品(比如玩具)结合使用时,应用程序可以使用获得批准的附加特性和功能,只要附加功能完全依赖于该硬件产品(比如一款用于控制望远镜的应用程序)或者也可以在不使用实物产品的情况下使用应用程序,比如成就*励或者使用IAP。
• 11.17 如果应用功能遵照各州和联邦法律,那么应用可以用来促进被认可的虚拟货币的流通。

12. 抓取和聚合
• 12.1 从苹果网站(例如apple.com、iTunes Store、App Store、iTunes Connect以及Apple Developer Programs等)抓取任何信息或者使用苹果网站内容和服务进行排名的应用程序将会被拒*。
• 12.2 应用软件可以使用获得批准的苹果RSS feeds,例如iTunes Store RSS feeds。
• 12.3 只是简单的网页剪切、内容整合或者收集链接的应用程序可能会被拒*。

13. 损害设备
• 13.1 怂恿用户以可能造成损害的方式使用苹果设备的应用软件将会被拒*。
• 13.2 快速耗光设备电量或产生过多热量的应用软件将会被拒*。
• 13.3 能导致用户人身伤害的app将会被拒*。

14. 人身攻击
• 14.1 涉及诽谤、人身攻击性质以及内容狭隘卑鄙的应用软件或者打击特定个人或组织的应用软件将会被拒*。
• 14.2 职业政治讽刺家和幽默作家不受这一条款约束。(开门,查水表)
• 14.3 展示用户创作内容(UGC)的应用程序必须提供一个过滤不良资讯的方法,一个用户可以标记侵犯性内容的机制,以及可以阻止辱骂用户的能力。

15. 暴力 (此前传禁枪的消息并未在条款中明确指出)
• 15.1 应用程序中出现人或动物被杀、致残以及枪击、刺伤、拷打等受伤情形的真实画面将会被拒*。
• 15.2 出现描绘暴力或虐待儿童等内容的应用程序将会被拒*。
• 15.3 游戏中出现的”敌人”不可指向一个特定种族、文化、一个真实存在的政府、企业或者其他任何现实中的实体。
• 15.4 对武器进行真实描述以怂恿非法使用或滥用这些武器的应用程序将会被拒*。
• 15.5包含俄罗斯轮盘赌博内容的游戏将会被拒。

16.令人反感的内容
• 16.1 应用程序中出现过于令人反感或者低俗的内容将会被拒*。
• 16.2 在设计上激怒用户或令人感到厌恶的应用程序将会被拒*。

17.隐私
• 17.1 在未经用户事先许可,或未告知用户如何使用信息以及在何处使用信息的情况下,应用程序不能传输用户数据。
• 17.2 要求用户共享电子邮箱地址和出生日期等私人信息才可使用其功能的应用程序将会被拒*。
• 17.3 仅出于遵守适用的儿童隐私法规的目的,应用程序可以要求用户的出生日期(或者使用其他年龄评级机制),但是必须包括一些有用的功能或者娱乐价值,不管用户年龄大小。
• 17.4 收集、传输以及分享未成年用户个人信息(比如名字、地址、邮件、位置、照片、视频、绘画、聊天信息以及其他个人数据,或者与以上所述相关的永久性标示符)的应用程序必须遵守应用儿童隐私法规,并且必须包含隐私条款。
• 17.5 包含账号注册或者访问用户现有账号的应用程序必须包含隐私策略,否则将会被拒*。

18. 色情
• 18.1 含有色情素材,也就是《韦氏词典》中定义的”旨在激发情欲,对性器官或性行为的明确描述或展示,而无关美学或情绪感受”的程序将会被拒*。
• 18.2 包含用户频繁提供的色情内容的应用程序(比如以前的“Chat Roulette”程序)将会被拒*。

• 19.宗教,文化与种族
o 19.1 涉及宗教、文化或种族群体的引用或评论包含诽谤性、攻击性或狭隘内容,或会使特定群体遭受伤害或暴力的应用程序将会被拒*。
o 19.2 程序可以包含或引用宗教经文,程序所提供的引用或翻译必须准确且不会引起误导。评论应该有教育意义,可以令人开阔眼界,而不应有煽动性。

20. 竞赛、赌博、彩票以及抽*
• 20.1 彩票抽*和竞赛必须由应用程序的开发者或者app所属公司发起。
• 20.2 应用程序必须展示彩票抽*和竞赛的正式规则,并声明苹果不是发起者,也没有以任何方式参与活动。
• 20.3 开发者运营一款具有抽*性质的应用必须经过法律允许,并且抽*应用必须具备以下特征:报酬、运气以及*品。
• 20.4 允许用户在应用中直接购买彩票或彩券的应用将会被拒。
• 20.5 提供真钱游戏(比如体育博彩、扑克牌、赌场游戏、赛马以及彩票)的应用程序必须有应用程序适用地区当地必要的许可和允许,必须限制在这些区域,必须可以从App Store免费下载。
• 20.6 使用IAP购买信誉或者货币,且结合真钱游戏的应用将会被拒*。

21.慈善与援助
• 21.1 包含可以向已认证的慈善组织捐赠功能的应用程序必须是免费的。
• 21.2 捐赠款项的募集必须通过Safari浏览器访问web页面或是手机短消息完成。

22. 法律要件
• 22.1 应用程序必须遵守所有发布地区当地法律,开发者有义务了解并遵守所有当地法律。
• 22.2 包含虚假,欺诈或误导性陈述的程序将会被拒*。
• 22.3 任何用于招徕、促进或鼓励犯罪或明显鲁莽行为的应用程序将会被拒*。
• 22.4 支持非法文件共享的程序将会被拒*。
• 22.5 被设计用以非法赌博工具的应用程序(包括点算牌)将会被拒*。
• 22.6 具有匿名或恶作剧拨打电话或发送类似短信/彩信功能的程序将会被拒*。
• 22.7 任何开发暗中收集用户密码或用户私人数据程序的开发者将会从iOS开发者计划中除名。
• 22.8 包含非执法机构发布的DUI检查点信息,或者怂恿/协助酒后驾车的应用将会被拒*。
• 22.9 计算药剂用量的应用程序必须由药品制造商或者认可机构发布,比如医院、保险公司以及高校。
• 22.10.在未授权的情况下使用iTunes音乐预览的应用程序将会被拒*。

23. Passbook
• 23.1 Passbook Passes可被用来支付或者接收支付,传递商业信息或者提供验证(比如电影票、飞机票、优惠券以及其他),但把Passbook Passes用于其他用途的应用程序可能会遭到拒*,并且会被撤销Passbook证书。
• 23.2 Passes必须包含有效的pass发行人有效的联系资料,否则app将会被拒*,并且Passbook证书也会被取消。
• 23.3 Passes必须经过实体签名,并基于其名字、商标或者品牌进行分发,否则应用程序将会被拒*,而Passbook证书也可能会被撤销。

24.儿童类别
• 24.1 儿童类别中的应用程序必须包含隐私政策,必须遵守适用的儿童隐私法规。
• 24.2 儿童类别中的应用程序不允许包括行为广告(比如app内部基于用户行动的服务广告),任何在应用程序中展示的上下文广告必须适合儿童。
• 24.3 儿童类别中的应用程序必须得到家长许可或使用parental gate才能链接至应用程序外部或进行交易。
• 24.4 儿童类别中的应用程序必须标明”5岁以下,6-8岁或者9-11岁”。

25.扩展
• 25.1 包含扩展的应用程序必须遵照 App Extension Programming Guide要求。
• 25.2 包含扩展的应用程序必须提供某些功能(辅助屏幕,附加设置),否则将会被拒*。
• 25.3 如果扩展的视图中包含营销推广、广告或者IAP内容,那么包含该扩展的应用将会被拒*。
• 25.4 键盘扩展必须提供一个切换至下个键盘的方法。
• 25.5 键盘扩展必须具有离线访问功能,否则将会被拒*。
• 25.6 键盘扩展必须提供和 App Extension Programming Guide 描述一致的数字和十进键盘类型,否则将会被拒*。
• 25.7 提供键盘扩展的应用必须拥有基本的功能分类和隐私政策,否则将会被拒*。
• 25.8 提供键盘扩展的应用程序只允许收集用户活动以增强键盘扩展在iOS设备上的功能,否则将会被拒*。

26.HomeKit
• 26.1 使用HomeKit框架的应用程序必须有提供家庭自动化服务的主要目的。
• 26.2 使用HomeKit框架的应用程序必须在营销文本中说明用途,同时必须提供隐私政策,否则将会被拒*。
• 26.3 应用程序不允许将从HomeKit API收集的数据用于广告宣传或者其他基于使用的数据挖掘。
• 26.4 出于其他目的使用从HomeKit API收集的数据,而不是用于提高用户体验或者家庭自动化功能中硬件/软件性能,这类应用将会被拒*。

27.HealthKit
• 27.1 使用HealthKit或者ResearchKit框架(出于健康目的用于进行人体生物学研究的框架)的应用程序,必须遵守其所有适用区域的法律,以及iOS Developer Program License Agreement中的3.3.28和3.39条款。(增加了对于ResearchKit框架的支持)
• 27.2 将虚假或者错误的数据写入HealthKit的应用程序将会被拒*。
• 27.3 使用HealthKit框架的应用程序在iCloud中储存用户健康信息将会被拒*。
• 27.4 应用程序不允许将通过HealthKit API收集的用户数据用作广告宣传或者基于使用的数据挖掘目的,除了改善健康、医疗、健康管理以及医学研究目的。
• 27.5 未经用户许可与第三方分享通过HealthKit API获得的用户数据的应用程序将会被拒*。
• 27.6 使用HealthKit框架的应用程序必须在营销文本中说明集成了Health app,同时必须在app用户界面清楚阐释HealthKit的功能。
• 27.7 使用HealthKit框架的应用程序必须提供隐私政策,否则将会被拒*。
• 27.8 提供诊断、治疗建议,或者控制诊断疾病的硬件,或者治疗疾病的应用程序,若没有根据要求提供书面的监管审批,将会被拒*。
• 27.9 收集人体生物学研究相关数据的应用程序必须要获得参与者的许可,对于未成年人,应用程序要得到其父母或者监护人的许可。许可内容必须包括:(a)研究的性质、目的以及持续性;(b)参与流程、风险以及受益(福利);(c)信息的机密性和数据处理(包括与任何与第三方的共享);(d)参与者问题切入点;(e) 取消方法(新增)

28.TestFlight
• 28.1 应用程序仅能使用TestFlight对以公开发布为目的的应用进行beta版测试,且必须遵守完整的App Review Guidelines。
• 28.2 当版本中包含的内容或功能有重大变化时,使用TestFlight的应用程序必须提交审核。
• 28.3 使用TestFlight的应用程序不允许分发给测试者,以作为任何形式的补偿。

29. Apple Pay
• 29.1 使用Apple Pay的应用程序必须在出售任何商品或者服务之前为用户提供所有材料的购买信息,否则将会被拒*。使用Apple Pay进行定期付款的应用程序必须提供*低限度续费期限,付费将持续直至被取消,每个阶段所付款额,费用付款归属,以及如何取消等。(增加了对于定期付款的规定)
• 29.2 使用Apple Pay的应用程序必须正确使用 Apple Pay Human Interface Guidelines 中的Apple Pay标识和用户界面元素,否则将会被拒*。
• 29.3 使用Apple Pay作为购买机制的应用程序所提供的商品或服务不能触犯任何交付地范围内的法律,也不能用作任何非法目的。
• 29.4 使用Apple Pay的应用程序必须提供隐私政策,否则将会被拒*。
• 29.5 只有为了促进或提高商品和服务的交付,或者依照法律要件,使用Apple Pay的应用程序才能与第三方分享通过Apple Pay获得的数据。

如何做一款面向企业客户的商用级 SDK

从一个小故事开始讲起

在几年前我们刚开始做 ToB 的 SDK 的时候,曾经对接过一家做社交 App 的公司,对方的技术负责人很年轻也很务实。在商务大哥给力的努力下,客户成功完成了产品的接入,并进入线上灰度阶段。

然而,在开始灰度的那天晚上,线上用户出现了很多消息延迟大的投诉,用户的一条消息需要很长时间才能发出去。客户虽然对我们很失望,但依然很努力地在配合我们排查和修复问题。

在两天的时间里,我们给客户改进了多个版本,每次给版本的时候我们都说“已经找到问题了,这个版本肯定可以”,但每次效果都不理想。两天之后,客户的技术负责人很严肃地询问了我们一个问题:“从这两天的排障过程和修复过程来看,我想确认一下你们这是一款商用级的产品吗?”

在那个晚上,我们开始冷静地思考一个问题:一款优秀的商用级 SDK 应该怎么做?

一年的努力功亏一篑

*近教育行业被政策打压地非常厉害,但在两年前,这是个 PaaS 服务的兵家必争之地。我们有一家做在线英语教学的客户,一直在对接我们的 TRTC。这个客户对质量要求非常苛刻,他们很早便引入了赛马机制,将多家 PaaS 服务商拉入到自己的供应商集群,互为灾备,并进行质量评估,看谁的质量好就用谁的产品。

在*开始对接的时候,我们的产品质量还不是很优秀,几个关键指标跟竞品都有差距。这倒不是问题,优化总要有一个过程,于是我们一个迭代一个迭代地去跟进。因为客户的版本发布速度非常慢,所以我们需要在两个版本之间都做好问题分析和优化落地,稳抓稳打地慢慢降低工单率。就这样,经过了将近一年的时间,产品各项指标都已经很不错了,我们非常有信心在下一个版本超过友商获得质量上的*地位。

但就在我们信心满满地等待客户上线的灰度反馈时,客户突然抛出一个问题:“你们的 SDK 有一个对音频模块的自动重启逻辑,这个逻辑会在切换线路时影响到其他供应商的音频模块, 这是*对不能容忍的”。因为引入多家供应商赛马的意义就在于保证可以有灾备,如果一家供应商影响了其他供应商的稳定性,这个灾备便没有了意义,因此客户对我们异常失望,放量计划无限期搁置。

面对一年的努力功亏一篑,我们开始接受一个现实:每位同事都可能会因为手滑引入缺陷,但对团队而言代价却是难以承受的,怎么办?

回到正题,接下来我会介绍一下过去的这些日子里,我们怎么去应对这个问题。不过在此之前,我需要先介绍一下我们的产品:

我们是做什么的?

我们团队所开发的是一套面向企业级客户的 SDK,包括用于实时音视频通讯的 TRTC SDK;用于消息通信的 IM SDK;用于直播推流和播放的 LIVE SDK ;以及用于短视频录制和编辑的 UGC SDK

%title插图%num

产品面向的客户群很多:有做泛互联网行业的,比如在社交领域长期霸榜苹果应用商店的某知名 App;也有在线教育领域的很多知名机构,教学模式包括 1V1、小班课、大班课等等;也有金融和保险领域的巨无霸,他们会使用我们的产品将现有的业务尽快地跟互联网融合;还有各行各业的中小型企业,他们虽然可能并不出名,但确实支撑我们国家互联网经济持续繁荣的基石;对了,还有做毕业设计的学生,虽然他们不会付费,但保不齐人家会在毕业后给自己的老板推荐我们的产品呢。

面对这么多行业领域的客户,有喜有忧,喜的是这是一桩很好的生意,忧的是这里有着车载斗量的压力:因为 SDK 这种形态的技术产品,如果要面向企业客户去服务,那真是打从娘胎里一出来就注定了坎坷的一生

首先是客户群体

  • 客户所属行业分布广,教育、泛互、金融,不同的客户对产品的需求差异性大。
  • 客户接入周期长,大客户在接入过程中会不断追加新需求和新特性,与此同时,客户对交付周期要求又很苛刻。

然后是产品形态

  • SDK 对专业性要求是比较高的,别人家的客户都只需要理解 http 的 get 和 post 就行了,俺们家的客户就得知道多线程安全、内存泄漏、前后台切换,苹果隐私合规要求,还有 android 的 gradle 配置方法和 windows 的 stl 兼容问题…
  • 涉及平台众多,iOS、Android、Windows、Mac、Web,每个方向都需要很长时间的积累和沉淀。同时,在微信的强大的影响力面前,我们又增加了一个新的平台——微信小程序。

*后是交付成本

  • SDK 完成接入后,成不成要依赖客户的*终反馈,但往往客户的反馈周期很长,迭代周期也很长。
  • SDK 版本多,平台多,这也就意味着测试工作是海量的。就说一个细节,这么多平台和版本,全量编译都需要两个小时,转测和发版就更不用说了。

面对这个问题,我们的友商做法是:加人

%title插图%num

当然,我们不能这么简单粗暴,毕竟粗放型经济是走不远的,我们还是得从研发体系上用集约的思想去解决问题,这就是接下来要说的重点:从研发、产品、数据和排障等四个方向去认认真真做好一款面向企业服务的 SDK 产品。

%title插图%num

研发体系的优化

在研发体系方面,我们依然遵循腾讯倡导的需求评审=>技术评审=>开发=>测试的流程。但每个环节,我们都结合自身的特点进行了改进。

%title插图%num

1. 怎么做需求评审?

首先是需求评审,我们团队经过这几年的打拼,总结出来*关键的一个点,就是看需求一定要看客户背后的意图。有时候客户会跟你说:“我想要你给我增加一个设置视频分辨率和码率的接口”。这个时候你要不要加呢?如果我们只是看客户的需求,那是要加的。但如果我们再问问,“您为什么需要我们加这个接口呢?” 那客户可能就会跟你说:“我觉得你们的画质不行,不够清楚,我要自己调,我要调清楚一点。” 这个时候我们就明白了,我们的需求不是“去增加一个可以设置视频分辨率和码率的接口”,而是去“提升我们的画质以满足客户的需求”。

这两者是不对等的,因为前者客户可能认为只要分辨率调到 4K 就是清晰的,但客户可能误以为“清晰度”就等同于“分辨率”,所以往往会指定一个 4K 的分辨率,却配置了一个 40Kbps 的视频码率。懂音视频的朋友都知道,这样的画面是模糊地没法看得。所以我们在简单版的 API 接口中,都不开分辨率设置接口,而仅仅是提供一个画质等级的接口,以避免客户的错误配置。但我们在得知客户的意图之后,会去了解客户为什么觉得我们画质不行,是跟哪款产品比有差距。进而分析是提升颜色矩阵转换的精度,还是在前处理的*后增加一道锐化,还是视频分辨率不匹配显示分辨率导致的问题,还是 OpenGL 的线性变换和就近变化的差异问题。

2. 怎么做技术评审?

这个部分,我们一般会鼓励大家提供两个以上的方案,然后进入“左右互搏”的模式。因为很多可爱的同事本身也是可爱的急性子,只要能早点写代码,什么都是不重要的。毕竟咱们做研发的成就感,不就来自于把功能做出来看到自己的成果吗。

但我们也不断地告诫自己,我们究竟是做“一票子买卖”还是是“百年老店的生意”。如果是前者,那大可以想到哪里代码就写到哪里;但如果是后者,则需要我们综合考虑多个方案,选择更能可持续发展的方案。

要知道在 ToB 这个领域,我们一不注意就会把自己陷入到做定制需求的套路里。面对业务压力,一开始这样是很解渴的,但随后的维护成本就让自己彻底吃不消了,每天除了救火什么都干不了的团队,也就失去了创造新价值的能力。

3. 怎么做代码合入?

在代码合入方面,我们团队在很早的时候就引入了一套非常严格的代码评审流程,即三级评审:

  • CR 一级:模块的维护者来 review,这一级的目的是让模块的稳定性能够得到保障。毕竟在别人家的田间地头种自己的庄稼,你总不能背着这块地的主人搞小动作不是。
  • CR 二级:自己的 leader 来 review,这是我们整个 CR 的核心基石。很幸运团队有像 taopu 一样负责和认真的 leader,会非常细致的 review 大家的每一行代码,并积*提出意见和建议,在 CR 中提升大家的技术水平。
  • CR 三级:总监负责 review 和 代码合入,这一步更多是抽检,看看哪些同事是真正地爱这款产品,哪些同事则是不那么负责的架构破坏者。

%title插图%num

4. 怎么做功能测试?

*近半年在测试团队,尤其是 svein 和俊哥的大力支持下,我们的自动化测试进步*大。不管是 native sdk 还是 webrtc sdk,自动化测试都能覆盖掉很多刁钻和难以手工覆盖的部分。比如一次通话过程中几十次的“进进出出”,或者是频繁的切换某个状态,这些都是以往手工测试很容易把人逼疯的部分。益于测试团队的持续投入,目前我们的自动化测试系统已经小有成绩。要知道,构建一个面向音视频功能的自动化测试体系,那难度可是非常高的。仔细想想就知道这里面有多少破事儿要解决:

  • 怎么确认画面出来了?
  • 怎么确认声音是正常的?
  • 怎么构造复杂的测试流程和测试序列?
  • 怎么保证测试环境的稳定和不被干扰?
  • 还有*艰苦的:怎么找到足够多又耐操的手机,尤其是水果牌的。

通过需求评审、技术评审、代码审查和自动化测试的多重保护,我们*近已经很久没有再发生前面说的第二个故事里的事情了。即使有些同事一时手滑引入了一些问题,也大都能在 SDK 交付前得到暴露,只是目前我们并不能将这个概率降低到 0% 而已。

%title插图%num

产品体系的优化

作为一款自身不带界面的 SDK,要做到产品体系的优化,就只能去优化技术本身,但这是枯燥且不好度量的。俗话说得好,“文无*,武无第二”,说的就是评判标准的问题。这就好比你画一幅画,如果没有老师指点你怎么才算好,那就会很难度量自己这段时间是水平提高了还是退步了。不然人家丢勒一个德国人,干嘛两次跑到意大利的威尼斯去学画画;又不然怎么会出现很多画家都是在那啥之后才有人开始欣赏他们的作品的呢?

所以说,作为一款面向 ToB 客户的 SDK 产品,要提升产品质量,就得有一些手段和方法,我们是这么做的:

%title插图%num

方法一:通过场景落地来验证产品质量

我们做 TRTC SDK,我们的客户拿 TRTC SDK 的能力去做合唱,去做 K歌,去做语音聊天室,去做视频直播。那我们就只是做好自己的一亩三分地吗?

当然不行,所以我们自己也实打实地开发了一些面向行业场景的 App(也可说是 Demo),比如合唱、语聊、教育、直播等等。并在这些场景的开发过程中,不停地寻找产品的问题和不足,并持续打磨,以确保在产品交付客户之前,在产品体验上就已经达到了一个很好的水平。

比如我们在开发在线合唱的场景时,就经常有人找我问:“rex,我跟你确认一下哈,咱们团队里的同学,究竟都是写代码的程序员,还是想要通过《我是歌手》来改变人生的麦霸?”

%title插图%num

方法二:通过数据体系来评估产品质量

构建一套靠谱的数据体系很重要,这就是把“文无*”的事情变成“武无第二”。通过数据体系,让所有的指标都变成可以比较的数字,并且依托数据分析系统,不断地提升产品质量。

%title插图%num

虽然这个思路大家都很清楚,也都在各自的产品中有所落地,毕竟咱们腾讯的产品团队,谁家还没有一个负责数据运营的同事呢?当然有些比较大的业务,都是有自己的数据运营团队的。

但还是得说,这个事情在 toB 的方向上不好做,难在两点:

  • 不同的客户关注的点是不一样:比如教育客户关注的是稳定性,电商直播关注的是清晰度,秀场直播关注的则是音质。如果我们给一个在线教育客户去过度地优化画质,客户不仅可能不买账,还可能因为我们的优化影响了其他指标而弃用我们的产品。
  • 音视频的表现不是简单地靠 DAU、成功率来衡量的。比如“切课率”这个指标,影响因素非常多,比如网络波动呀,硬件发热呀,麦克风阻抗大呀,显卡驱动不匹配呀,还有可能是用户心情不好砸键盘呀。就说我们有个客户,发现上课的声音效果不好,结果客户很负责,亲自到了学生家去确认,*后发现是 iPad 的保护套把麦克风给遮住了,你说这找谁说理去?

数据体系建设

面对上述挑战,我们还是得从技术角度去解决问题,毕竟靠堆人是不行的,这生意得做出毛利率才能长久地坚持下去。

庆幸的是这方面我们还是做得不错的,尤其是我们团队一向比较在意数据,团队里还有一等一的聪明脑袋负责数据体系的建构。比如我们在自己的引擎内部的各个关键模块都做了数据“挂节点”。这些模块会每时每刻将近百个技术指标以一秒一次的频率反馈给统计模块,在统计模块进行汇总之后,再实时上传到服务器上。

%title插图%num

基于这些海量的数据信息,仅仅靠 group by 和 count 、where 等 SQL 语句做简单的统计分析是肯定没用的,因为这样的分析得不出任何有价值的信息。

比如一次糟糕的通话体验,可能出现过一次 2s 的卡顿,但是这些数值如果仅仅是用来做大盘平均分析,那这次 2s 的卡顿就“淹没”在了海量的通话数据里,你拿到的*终的平均值甚至不会有小数点上的一个波动。

针对这个问题,团队中的 xuanyi 和 yuting 两位同事,基于对以往 badcase 的经验综合分析,构建了一套“根因分析系统”,并用了将近半年的时间,不断地打磨其准确性。到目前为止,这套系统对于 badcase 的分析已经接近人工挨个 case 分析的准确性,为团队节省了不知道多少人力。

%title插图%num

排障体系

回到*初的小故事,客户之所以怀疑我们的产品不是一款商用级的产品,*大的问题就在排障体系上。因为客户也不是*终用户,客户在面对自己用户的反馈和投诉时,往往也是很难拿到*手信息的。如果我们将排障过程演化成了:我们 <=> 客户<=>客户的用户,之间的复杂关系,这个事情就很容易引发矛盾和冲突。

所以我们在接受了早期的失败教训之后,就励精图治建设了一套商业级的排障系统。经过这几年的努力,这套系统已经越来越强大了,也承载了越来越多的能力。目前已经能够做到分析过去两周内任何一个用户的任何一次体验问题,并能够定位到技术层面的缺陷或者环境方面的问题。

%title插图%num

于此同时,在线日志和离线日志系统的双重保障,也让排障的信息变得更加容易获取。以往比较困难的线上死锁问题和调用时序问题,也开始不再那么可怕和束手无措。

%title插图%num

当然,面对这么多的客户,靠一个团队的人力是不可能搞定数千个客户的技术支持和售后服务的,靠两个也不行。不过作为一款腾讯云上的老产品,我们的 TRTC 和 IM 很早就接入了腾讯云的安灯系统。借助安灯的问题跟踪和信息流转能力,中小客户的问题也得到及时的处理和沉淀。

%title插图%num

总结

从 2016 年加入腾讯云,团队到今天已经走过了五年,我们用了五年时间去学习如何做一款商用级的 SDK。虽然现在来说,我们做得还不够好,但至少可以回答几年前客户的质问,我们现在还是有信心并且有能力做好一款商用级的 SDK 产品的,而且不止一个。

APP上架需要准备的材料清单(上架规范和流程)

一、iOS

1.1、上架时需要在App Store提交的信息

因为涉及到多个部门,所以我制作了一个表格。注意:负责部门可以修改为负责人,因为我这边默认对应的就是这个部门的负责人。

说明 信息 说明 定稿/给出时间 负责部门 状态
  名称 已经在App Store创建 一面*** 技术部 完成
  副标题 不填   运营部 完成
  类别-主要 App Store 类别定义 社交 运营部 完成
  类别-次要 不填   运营部 完成
  价格   免费 运营部 完成
  销售范围   中国 运营部 完成
注意1 App 预览和屏幕快照 了解更多 1.30下班前 产品部  
  宣传文本 *多170字 1.30下班前 运营部  
  关键词 *多100字 1.30下班前 运营部  
  描述 *多4000字 1.26下班前 运营部  
  技术支持网址   http://yimian.me 运营部 完成
  营销网址 不填   运营部 完成
  1024*1024 icon   1.30下班前 产品部  
  版本   v1.0 运营部 完成
  版权   *** 运营部 完成
  登录信息   *** 技术部 完成
  联系信息   *** 技术部 完成

注意1:App 预览和屏幕快照的图片顶栏的状态栏需要是iOS的,不要做成Android的啦。并且图片不能包含Alpha通道。

1.2、上架时需要处理的APP问题

说明 信息 说明 定稿/给出时间 负责部门 状态
注意2 审核被拒的情况清单 见下面的注意2 1.29下班前 技术部  
  APP开屏页的修改 UI修改,版本信息修改 1.29下班前 产品部  
  线上BUG处理 满足上线要求 1.29下班前 产品部  
  用户迁移方案 输出一套完整的用户迁移方案 1.30下班前 运营部  
  去掉整个APP中的开发中 如果存在开发中会被拒 1.29下班前 技术部  
注意3 手机icon展示“一面” 一面 1.29下班前 技术部  

注意2:App Store申请审核被拒的情况清单(知己知彼,防止你审核不通过):

截图中出现了Android。 截图中出现了hack苹果的内容。 评论中出现了“屌丝”等不雅词汇。 App中包含谈论Android系统的内容。 只有第三方登录,没有自己的注册登陆功能。 您的应用包括色情内容(色情交易,色情展示)。 有微信分享功能,结果因为要强制用户安装微信,才能使用该功能。 QQ登陆功能,但是没下载QQ就不行。 有第三方支付(支付宝)果断被拒。 您的内容因为没有举报功能、含有色情内容不能通过。 有登陆注册功能,但没有提供测试账户。 存放文档的地方由于iCloud会自动备份而被拒*,只有用户自己使用和创建出来的才允许放在Document文件夹下。 游戏运行崩溃。 游戏截图中有“测试字样”。 游戏中使用其他版权图片(使用了flappybird原图)。 关键字不符合要求。 审核人员打开app无法加载内容,一般是因为国内服务器的问题。 iPad写成了IPad。 iOS写成了IOS。 因为iCloud云备份的问题被拒*,将备份功能关闭通过。 使用第三方SDK,有个提示信息遮挡了状态栏。 有竖中指的图片。 因为应用截图被拒。美术偷懒给了4张android的截图,虽然app内容是一样的,但是顶部的状态栏是Android的。 App中有积分墙。

注意3:手机icon展示“一面” 已经和评估客服确定过,App Store上显示名字和下载到手机上显示的名称可以不一致。

二、Android

2.1、上架时需要提交的信息

说明 信息 说明 定稿/给出时间 负责部门 状态
注意4 应用名称 oppo和应用宝需要名字和软著一致) 一面*** 技术部 完成
  应用类型   软件 技术部 完成
  类别子分类   社交 运营部 完成
  类别标签   *** 运营部 完成
  应用提供方   *** 技术部 完成
  应用简介 60-500字   运营部  
注意5 搜索关键词   1.30下班前 运营部  
  一句话简介 一句话简介(5-15个汉子) 1.30下班前 运营部  
  应用小图标 尺寸16×16,大小20K以内,PNG格式的图片 1.30下班前 产品部  
  应用图标 尺寸512*512,大小200K以内,JPG、PNG格式 1.26下班前 产品部  
  应用截图 请上传2-5张截图,单张图片不超过1M   产品部 完成
  介绍视频 不填   运营部 完成
  支持屏幕大小 960*720以上   技术部 完成
  支持语言   中文 运营部 完成
  资费类型   免费 技术部 完成
  设备信息   Phone 技术部 完成
注意6 版权证明   注意6 技术部 完成

注意5: 可以选在3个,可自定义一个关键词。设置搜索关键词会提高应用被搜索到的机率。 如提交的关键词不合理,审核时可能会被驳回或删除。 注意6: 公司开发者上传公司营业执照、软件著作权,大小2M以内,支持JPG/PNG格式的图片。

2.2、上架时需要处理的APP问题

说明 信息 说明 定稿/给出时间 负责部门 状态
  Android审核规则校验 目前了解的是无要求 1.29下班前 技术部  
  APP开屏页的修改 UI修改,版本信息修改 1.29下班前 产品部  
  线上BUG处理 满足上线要求 1.29下班前 产品部  
  用户迁移方案 输出一套完整的用户迁移方案 1.30下班前 运营部  
  去掉整个APP中的开发中 所有的开发中的内容 1.29下班前 技术部  
注意3 手机icon展示“一面” 一面 1.29下班前 技术部  

三、注意事项汇总

1、Android上架时需要《软件著作权》,这个需要提前去申请,并且名称需要和以后的APP名称一致。

%title插图%num%title插图%num

软件著作权

2、相关资料

%title插图%num%title插图%num

相关资料

3、App Store上显示名字和下载到手机上显示的名称可以不一致。

4、App 预览和屏幕快照的图片顶栏的状态栏需要是iOS的,不要做成Android的啦。

5、如果出现需要提供《互联网新闻信息服务许可证》的话,直接上传《ICP经营许可证》,是一样的东西

平均交付时长减少五天!腾讯TAPD助力企业高效交付!

刚刚,在由中国信息通信院主办的「OSCAR开源产业大会」腾讯TAPD联合中国信息通信院及腾讯研究院,共同发布《2021年企业敏捷协作数据报告》。

在市场环境快速变化的背景下,企业的敏捷协作呈现出怎样的特点?未来敏捷协作又将迎来什么样的发展趋势?让我们先睹为快!

8e3fba71197d9cbb140baeca0fd17dab.png

ca27c22357bfb0838a71ac18081de803.png

64f9a984414b4d7be7fce74e52ba14de.png

3d0720ec3531cf202e8b8aba383f5580.png

dcc6ccd7b3368612d3091adfa7cd840c.png

6760aa80753cc03820947d0dc32ebd69.png

3b598703ee3b68e88fa420344f9803f0.png

iOS 苹果企业账号申请流程

申请需要用到的一些资料:.一张可以付美元的信用卡(如VISA或万事达)、一个企业邮箱账号还有公司的营业执照复印件(申请邓白氏码的时候需要用到)。

1.打开网址https://developer.apple.com,如下图:

%title插图%num

2.点击上图中的Account,进入登录页面后输入账号密码,(这里需要注意的是:该账号不能是申请过苹果个人或公司账号的,如果没要账号则点击新建账),如下图:

%title插图%num

3.点击登录后进入主页面,如下图:

%title插图%num
4.点击上图中的红色框框,进入下图:

%title插图%num
5.在上图页面中拉到*低端,如下图:

%title插图%num
6.点击上图中的红色框框后进入下图:

%title插图%num

7.点击上图箭头所指的Enroll进入下图:

%title插图%num

8.点击上图的红色框框进入下图:

%title插图%num
9.确认消息后,在红色框框中选择“Company/Organization”, 选中后页面下半部分会多出一些信息,如下图:

%title插图%num
10.点击上图红色框框进入企业邓白氏码(一个独一无二的9位数字全球编码系统,相当于企业的身份识别码 (就像是个人的身份证),被广泛应用于企业识别、商业信息的组织及整理。可以帮助识别和迅速定位全球2.4亿家企业的信息。)的申请,如下图(资料均使用英文,可以使用翻译软件翻译):

%title插图%num

%title插图%num

11.待信息都填好提交后,大概几个工作日后苹果公司会来电话,核实一些信息,比如公司名称、地址等,还会去查一下公司是否已经注册,申请人联系方式等。核实完毕就已邮件的方法发送到邮箱,且*好是过14个工作日之后使用,如要提前使用,建议过5天后再尝试,且不要超过3次。这里需要注意:如果被问到申请企业账号用来干嘛时,就说是给企业内部使用APP,不要说是给其它公司使用。

12.等邓白氏编码申请好后,重新来到步骤9中的图:

%title插图%num

13.点击上图的红色框框进入下图填写申请资料:

%title插图%num

14.填好信息提交后进入消息确认页面,如图:

%title插图%num

15.提交后,进入一个你的申请正在处理页面:

%title插图%num

16.待苹果确认消息后,会发送后续的操作步骤到邮箱,然后根据提示完成后续的步骤,到*后付款成功后就完成账号的申请了。

PS:如果需要发票,那么在付款过程中,可以选择电子发票或普通发票,且填好相关联系信息,待付费后,发票会寄送过来。

2021年1—8月份全国规模以上工业企业利润同比增长49.5% 两年平均增长19.5%

  1—8月份,全国规模以上工业企业实现利润总额56051.4亿元,同比增长49.5%(按可比口径计算,详见附注二),比2019年1—8月份增长42.9%,两年平均增长19.5%。
 
  1—8月份,规模以上工业企业中,国有控股企业实现利润总额17748.5亿元,同比增长86.9%;股份制企业实现利润总额39792.4亿元,增长54.9%;外商及港澳台商投资企业实现利润总额15139.3亿元,增长37.5%;私营企业实现利润总额16429.6亿元,增长34.4%。
 
  1—8月份,采矿业实现利润总额5913.0亿元,同比增长1.51倍;制造业实现利润总额46839.5亿元,增长48.2%;电力、热力、燃气及水生产和供应业实现利润总额3298.9亿元,下降6.5%。
 
  1—8月份,在41个工业大类行业中,37个行业利润总额同比增长,1个行业扭亏为盈,1个行业持平,2个行业下降。主要行业利润情况如下:石油、煤炭及其他燃料加工业利润总额同比增长24.71倍,石油和天然气开采业增长2.65倍,有色金属冶炼和压延加工业增长1.78倍,黑色金属冶炼和压延加工业增长1.56倍,化学原料和化学制品制造业增长1.45倍,煤炭开采和洗选业增长1.45倍,计算机、通信和其他电子设备制造业增长34.8%,电气机械和器材制造业增长24.1%,通用设备制造业增长20.6%,非金属矿物制品业增长16.8%,专用设备制造业增长15.6%,汽车制造业增长5.5%,纺织业增长2.3%,农副食品加工业下降4.0%,电力、热力生产和供应业下降15.3%。
 
  1—8月份,规模以上工业企业实现营业收入80.00万亿元,同比增长23.9%;发生营业成本66.95万亿元,增长23.0%;营业收入利润率为7.01%,同比提高1.20个百分点。
 
  8月末,规模以上工业企业资产总计135.40万亿元,同比增长9.2%;负债合计76.38万亿元,增长8.4%;所有者权益合计59.02万亿元,增长10.2%;资产负债率为56.4%,同比降低0.4个百分点。
 
  8月末,规模以上工业企业应收账款18.12万亿元,同比增长12.1%;产成品存货5.20万亿元,增长14.2%。
 
  1—8月份,规模以上工业企业每百元营业收入中的成本为83.69元,同比减少0.65元;每百元营业收入中的费用为8.39元,同比减少0.57元。
 
  8月末,规模以上工业企业每百元资产实现的营业收入为91.5元,同比增加10.7元;人均营业收入为163.7万元,同比增加31.6万元;产成品存货周转天数为17.6天,同比减少1.8天;应收账款平均回收期为51.6天,同比减少4.4天。
 
  8月份,规模以上工业企业实现利润总额6802.8亿元,同比增长10.1%。
         
表1  2021年1—8月份规模以上工业企业主要财务指标
  分 组 营业收入 营业成本 利润总额 1-8月 同比增长 1-8月 同比增长 1-8月 同比增长 (亿元) (%) (亿元) (%) (亿元) (%) 总计 800010.0 23.9 669491.0 23.0 56051.4 49.5 其中:采矿业 33041.2 34.0 22137.0 20.7 5913.0 151.1    制造业 707175.0 24.2 593891.7 23.4 46839.5 48.2    电力、热力、燃气及水生产和供应业 59793.8 16.5 53462.3 19.2 3298.9 -6.5 其中:国有控股企业 209482.3 24.3 168948.4 22.1 17748.5 86.9 其中:股份制企业 594967.2 25.5 498406.4 24.4 39792.4 54.9    外商及港澳台商投资企业 182513.0 19.7 151906.7 19.1 15139.3 37.5 其中:私营企业 312982.9 24.0 270032.6 23.7 16429.6 34.4 注: 1.经济类型分组之间存在交叉,故各经济类型企业数据之和大于总计。 2.本表部分指标存在总计不等于分项之和情况,是数据四舍五入所致,未作机械调整。  
表2  2021年1—8月份规模以上工业企业经济效益指标
  分 组 营业收入利润率 每百元营业收入中的成本 每百元营业收入中的费用 每百元资产实现的营业收入 人均营业收入 资产负债率 产成品存货周转天数 应收账款平均回收期 1-8月 1-8月 1-8月 8月末 8月末 8月末 8月末 8月末 (%) (元) (元) (元) (万元/人) (%) (天) (天) 总计 7.01 83.69 8.39 91.5 163.7 56.4 17.6 51.6 其中:采矿业 17.90 67.00 10.73 46.2 118.1 59.8 12.3 39.6    制造业 6.62 83.98 8.47 107.7 161.4 55.4 19.3 52.5    电力、热力、燃气及水生产和供应业 5.52 89.41 6.14 40.9 267.3 59.3 0.9 48.2 其中:国有控股企业 8.47 80.65 7.19 63.6 253.1 57.1 12.7 41.1 其中:股份制企业 6.69 83.77 8.48 89.1 162.7 57.2 17.8 49.0    外商及港澳台商投资企业 8.29 83.23 8.45 101.3 167.6 53.4 18.0 62.9 其中:私营企业 5.25 86.28 8.35 127.8 134.2 58.4 18.7 48.4  
表3  2021年1—8月份规模以上工业企业主要财务指标(分行业)
  行 业 营业收入 营业成本 利润总额 1-8月 同比增长 1-8月 同比增长 1-8月 同比增长 (亿元) (%) (亿元) (%) (亿元) (%) 总计 800010.0 23.9 669491.0 23.0 56051.4 49.5  煤炭开采和洗选业 17857.5 39.3 11615.9 26.1 3290.3 145.3  石油和天然气开采业 5714.0 32.5 3436.0 8.7 1379.7 265.1  黑色金属矿采选业 3941.5 53.2 2829.5 39.6 656.8 167.8  有色金属矿采选业 1903.9 17.7 1307.5 11.4 334.7 70.4  非金属矿采选业 2456.8 13.2 1834.7 11.8 248.6 25.6  开采专业及辅助性活动 1159.4 -0.2 1106.8 -0.9 2.5 (注1)  其他采矿业 8.0 37.9 6.7 48.9 0.3 0.0  农副食品加工业 33911.4 16.0 31074.7 17.1 1081.3 -4.0  食品制造业 13227.1 10.8 10413.8 12.4 997.7 1.0  酒、饮料和精制茶制造业 10825.9 15.1 7108.1 13.0 1809.5 24.9  烟草制品业 8913.6 7.2 2621.6 3.0 1218.1 8.2  纺织业 15936.9 14.4 14140.5 15.1 639.5 2.3  纺织服装、服饰业 9055.9 9.6 7768.7 9.4 396.2 9.5  皮革、毛皮、羽毛及其制品和制鞋业 6884.9 9.9 5976.6 10.0 366.0 8.1  木材加工和木、竹、藤、棕、草制品业 5884.6 15.5 5308.7 15.6 206.9 12.1  家具制造业 4940.4 21.3 4128.9 21.3 258.3 27.0  造纸和纸制品业 9527.2 20.5 8148.4 20.0 577.7 45.4  印刷和记录媒介复制业 4546.2 14.8 3844.0 15.4 238.1 3.2  文教、工美、体育和娱乐用品制造业 8823.2 19.9 7671.9 20.1 397.6 19.5  石油、煤炭及其他燃料加工业 35221.1 32.9 28239.5 25.8 2288.4 2471.2  化学原料和化学制品制造业 51966.5 34.1 42393.9 29.7 5195.9 144.7  医药制造业 18760.6 26.2 9877.5 15.3 4083.5 89.1  化学纤维制造业 6566.7 35.7 5794.2 29.5 437.1 367.0  橡胶和塑料制品业 18218.5 19.3 15360.3 20.2 1069.5 8.6  非金属矿物制品业 40767.5 18.7 33848.9 18.9 3216.9 16.8  黑色金属冶炼和压延加工业 64046.5 43.3 58370.2 40.4 3334.6 155.6  有色金属冶炼和压延加工业 44152.3 37.3 40631.5 34.5 1954.0 177.5  金属制品业 29424.6 30.0 25951.4 30.1 1274.5 42.3  通用设备制造业 29654.4 22.5 24416.1 22.9 2026.9 20.6  专用设备制造业 22988.4 19.4 18282.5 20.4 1805.5 15.6  汽车制造业 55227.8 15.4 47233.3 16.5 3438.3 5.5  铁路、船舶、航空航天和其他运输设备制造业 7727.2 16.5 6614.2 17.2 359.6 7.4  电气机械和器材制造业 51611.1 30.8 44190.9 32.5 2728.2 24.1  计算机、通信和其他电子设备制造业 85404.2 17.4 73501.1 15.7 4610.3 34.8  仪器仪表制造业 5419.3 21.0 4076.7 21.2 542.3 16.1  其他制造业 1230.4 18.7 1036.5 19.0 65.9 16.2  废弃资源综合利用业 5459.4 64.8 5154.8 66.9 180.0 53.5  金属制品、机械和设备修理业 851.3 1.8 712.3 -0.5 41.1 9.3  电力、热力生产和供应业 50224.9 15.1 45513.2 18.2 2422.2 -15.3  燃气生产和供应业 7132.8 27.0 6185.6 27.7 585.0 38.0  水的生产和供应业 2436.1 16.8 1763.5 16.9 291.7 19.2 注: 1. 开采专业及辅助性活动上年同期亏损3.9亿元。 2. 本表部分指标存在总计不等于分项之和情况,是数据四舍五入所致,未作机械调整。  
  附注:
 
  一、指标解释及相关说明
 
  1、利润总额:指企业在生产经营过程中各种收入扣除各种耗费后的盈余,反映企业在报告期内实现的盈亏总额。
 
  2、营业收入:指企业从事销售商品、提供劳务和让渡资产使用权等生产经营活动形成的经济利益流入。包括主营业务收入和其他业务收入。
 
  3、营业成本:指企业从事销售商品、提供劳务和让渡资产使用权等生产经营活动发生的实际成本。包括主营业务成本和其他业务成本。营业成本应当与营业收入进行配比。
 
  4、资产总计:指企业过去的交易或者事项形成的、由企业拥有或者控制的、预期会给企业带来经济利益的资源。
 
  5、负债合计:指企业过去的交易或者事项形成的、预期会导致经济利益流出企业的现时义务。
 
  6、所有者权益合计:指企业资产扣除负债后由所有者享有的剩余权益。
 
  7、应收账款:指资产负债表日以摊余成本计量的,企业因销售商品、提供服务等经营活动应收取的款项。
 
  8、产成品存货:指企业报告期末已经加工生产并完成全部生产过程、可以对外销售的制成产品。
 
  9、营业收入利润率=利润总额÷营业收入×100%,单位:%。
 
  10、每百元营业收入中的成本=营业成本÷营业收入×100,单位:元。
 
  11、每百元营业收入中的费用=(销售费用+管理费用+研发费用+财务费用)÷营业收入×100,单位:元。
 
  12、每百元资产实现的营业收入=营业收入÷平均资产÷累计月数×12×100,单位:元。
 
  13、人均营业收入=营业收入÷平均用工人数÷累计月数×12,单位:万元/人。
 
  14、资产负债率=负债合计÷资产总计×100%,单位:%。
 
  15、产成品存货周转天数=360×平均产成品存货÷营业成本×累计月数÷12,单位:天。
 
  16、应收账款平均回收期=360×平均应收账款÷营业收入×累计月数÷12,单位:天。
 
  17、两年平均增速是指以2019年相应同期数为基数,采用几何平均的方法计算的增速。
 
  18、在各表的利润总额同比增长栏中,标“注”的表示上年同期利润总额为负数,即亏损;数值为正数的表明利润同比增长;数值在0至-100%之间(不含0)的表明利润同比下降;下降幅度超过100%的表明由上年同期盈利转为本期亏损;数值为0的表明利润同比持平。
 
  二、规模以上工业企业利润总额、营业收入等指标的增速均按可比口径计算。报告期数据与上年所公布的同指标数据之间有不可比因素,不能直接相比计算增速。其主要原因是:(一)根据统计制度,每年定期对规模以上工业企业调查范围进行调整。每年有部分企业达到规模标准纳入调查范围,也有部分企业因规模变小而退出调查范围,还有新建投产企业、破产、注(吊)销企业等变化。(二)加强统计执法,对统计执法检查中发现的不符合规模以上工业统计要求的企业进行了清理,对相关基数依规进行了修正。(三)加强数据质量管理,剔除跨地区、跨行业重复统计数据。
 
  三、统计范围
 
  规模以上工业企业,即年主营业务收入为2000万元及以上的工业法人单位。
 
  四、调查方法
 
  规模以上工业企业财务状况报表按月进行全面调查(1月份数据免报)。
 
  五、行业分类标准
 
  执行国民经济行业分类标准(GB/T4754-2017),具体请参见http://www.stats.gov.cn/tjsj/tjbz/hyflbz/。
 

Android Automate 如何常驻后台

Android Automate 如何常驻后台

 

kinboy · 3 天前 · 674 次点击

迫于需要自动转发短信到另一个手机号,*终找到了 Automate 这个 app,测试的时候感觉几乎完美实现了我的需求,但是实际使用过程中发现它并没有自动转发短信,进 App 后查看 flow 日志:Resumed after restart

也就是说我得每天都进一次 app,但问题是也不知道它在什么时候退出了,因为什么原因退出

请问有办法保活吗?或者有其他更好的替代方案吗?我用的 mate30,没法用 google 框架,所以 IFTTT 用不了

7 条回复    2021-09-26 14:26:18 +08:00

AoEiuV020
    1

AoEiuV020   3 天前

安卓就没有一定保活的办法吧,一直是魔高一尺道高一丈的,一般来说国产手机能允许的都允许了还杀就没办法了,
chengyiqun
    2

chengyiqun   3 天前

只有在通知栏常驻的 app 才能在后台存活. 否则基本会被杀后台的.
rosu
    3

rosu   3 天前 via Android

一方面需要开发者开发:启动多进程前台服务常驻通知栏。
另一方面需要你把该 APP 加入到白名单中。
Tink
    4

Tink   3 天前 via Android

状态栏
noahhhh
    5

noahhhh   3 天前

更新鸿蒙杀后台会好一点
mu2er
    6

mu2er   2 天前 via Android

在一些 app 里看到怎么后台保活的步骤,单独提到 MIUI 等国内 UI,我都会觉得 MIUI 是“异端邪教”。
我的安卓备用机刷的类原生系统,一直用 ifttt 或者 tasker 转发短信到 tg 或者其他 webhook,基本上有网络连接就没有失败过,还蛮稳定的。
FATEQiang
    7

FATEQiang   1 天前

用前台服务要好很多
友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速