V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mornlight
V2EX  ›  Apple

总结了一下新版 App Store 审核指南的几个重要变化

  •  
  •   mornlight · 2017-06-10 16:00:26 +08:00 · 5429 次点击
    这是一个创建于 2727 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 禁止 App 自己引导用户打开 App Store 给 App 评分,因为现在有系统 API 支持这一行为了,在 App 内就能直接完成 review。

      Use the provided API to prompt users to review your app; this functionality allows customers to provide an App Store rating and review without the inconvenience of leaving your app, and we will disallow custom review prompts.

    • App 的名字长度限制从原来的 50 个字符缩短到 30 个字符,且名字不应该包含价格。App 的副标题更适合用来介绍 App,但副标题不应该有指向其他 App 的内容。

      这个可能是出于打击关键词排名刷榜的考虑。

    • App 只能使用当前最新系统版本的 Public API,保持 App 的更新确保废弃的 API 被移除。

      更严格了,以前没有对代码里 deprecated api 的使用作规定。

      2.5.1 Apps may only use public APIs and must run on the currently shipping OS. Learn more about public APIs. Keep your apps up-to-date and make sure you phase out any deprecated features, frameworks or technologies that will no longer be supported in future versions of an OS.

    • 敲黑板,划重点了:

      In-App Purchase 的规则里新加入了一句话,App 应该使用 IAP 购买的货币让用户给数字内容的提供者给小费。

      这一句话结束了关于微信公众号打赏问题的争论。

      群众:审核规则只说解锁功能,打赏不属于解锁功能,强制走 IAP 不合理。

      Apple:嗯,有道理,那我现在加上了。

      If you want to unlock features or functionality within your app, (by way of example: subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), you must use in-app purchase. Apps may use in-app purchase currencies to enable customers to “ tip ” digital content providers in the app. Apps may not include buttons, external links, or other calls to action that direct customers to purchasing mechanisms other than IAP.

    • 如果是使用商业模板创建的 App 或者是由自动生成服务生成的 App,会被拒绝。

      4.2.6 Apps created from a commercialized template or app generation service will be rejected.

    • 又要划重点了:

      新加入了一条关于 App 内运行第三方程序的规则,看起来是官宣微信小程序的合规性。

      有几个地方需要注意的:App 必须使用 WebKit 和 JavaScript Core 来运行第三方程序,那么就意味着只可能是 Web 程序,同时容器 App 不能把系统的原生接口暴露给第三方程序;第三方程序的开发者也必须是 Apple Developer。

      4.7 Third-Party Software Apps may contain or run code provided by third party developers (e.g. HTML5-based games), as long as the code is not offered in a store or store-like interface, and provided that the software (1) is free or purchased using in-app purchase; (2) only uses capabilities available in a standard WebKit view; your app must use WebKit and JavaScript Core to run third party software and should not attempt to extend or expose native platform APIs to third party software; (3) is offered by developers that have joined the Apple Developer Program and signed the Apple Developer Program License Agreement; and (4) adheres to the terms of these App Review Guidelines (e.g. does not include objectionable content; uses IAP to unlock features and functionality). You must provide an index of third party software and metadata available in your app upon request.

    • App 必须向用户说清楚申请了哪些权限(位置、联系人、日历等),以及用户不给予权限的情况下什么功能无法工作。

      这条规定有可能解决大家经常骂的某些 App 不给权限就直接闪退的问题。

      Your app description should let people know what types of access (e.g. location, contacts, calendar, etc.) are requested by your app, and what aspects of the app won ’ t work if the user doesn ’ t grant permission.

    • App 和 Extension (包括第三方键盘),不应该包含 Apple emoji.

      没理解错的话,第三方键盘里不能直接输入系统的 emoji 表情了。我觉得这条略不合理,难道我想发表情时还必须得专门切换到系统的 emoji 键盘?

      Apps and extensions, including third party keyboards and Sticker packs, may not include Apple emoji.

    27 条回复    2017-06-13 12:36:56 +08:00
    honeycomb
        1
    honeycomb  
       2017-06-10 16:09:15 +08:00 via Android
    很好很好又补上一些漏洞
    cocochan
        2
    cocochan  
       2017-06-10 16:11:26 +08:00 via iPhone
    最后一条是因为版权问题吧
    squid157
        3
    squid157  
       2017-06-10 17:40:05 +08:00 via iPhone
    Apps may use in-app purchase currencies to enable customers to “ tip ” digital content providers in the app.
    这里有歧义吧,是可以提供打赏功能(但必须走 IAP ),还是可以使用 IAP 打赏。
    Apps may not include buttons, external links, or other calls to action that direct customers to purchasing mechanisms other than IAP.
    好像还是没有变,所以并没有说明前面的问题。
    mornlight
        4
    mornlight  
    OP
       2017-06-10 17:49:17 +08:00
    @squid157 #3 最后那一句要结合语境理解,我理解的是在 IAP 要求范围内的业务不能用其它支付方式,而不是说任何 App 任何地方都不能使用 IAP 以外的方式。

    专门增加的这句话看起来更像是让大家闭嘴。「你看,我审核规则里说过了。」
    zhongdong
        5
    zhongdong  
       2017-06-10 18:02:07 +08:00
    2.5.1 是说废弃 API 不能使用?不用去兼容低版本的意思?
    mornlight
        6
    mornlight  
    OP
       2017-06-10 18:10:29 +08:00
    @zhongdong #5 完全不用应该不行吧,某些废弃 API 被新的 API 替代了但是老系统没有,调用就崩了啊。这一段更像是一个建议而非硬性要求。
    mittya
        7
    mittya  
       2017-06-10 18:11:15 +08:00
    第三方程序开发者是 Apple Developer 的话也得缴 99 每年了吧
    mornlight
        8
    mornlight  
    OP
       2017-06-10 18:11:58 +08:00
    @mittya #7 是的,99 美刀每年。
    squid157
        9
    squid157  
       2017-06-10 20:01:20 +08:00 via iPhone
    @mornlight 我知道他意思不是不允许别的支付方式,但我还是觉得这个没说清楚打赏这类功能是不是强制走 IAP。
    Benisme
        10
    Benisme  
       2017-06-10 20:05:14 +08:00
    腾讯惨遭针对
    SingeeKing
        11
    SingeeKing  
       2017-06-10 21:56:50 +08:00
    我可以理解为微信小程序开发者必须也交 $99/y 苹果税吗
    mornlight
        12
    mornlight  
    OP
       2017-06-10 22:34:04 +08:00
    @SingeeKing #11 看起来是这样。
    rosu
        13
    rosu  
       2017-06-10 22:41:48 +08:00 via Android
    @cocochan 请问怎么联系你。有点事。
    RqPS6rhmP3Nyn3Tm
        14
    RqPS6rhmP3Nyn3Tm  
       2017-06-11 00:21:49 +08:00 via iPhone
    必须使用最新的 API,那么旧版本系统就不存在了吗……
    YvesX
        15
    YvesX  
       2017-06-11 00:39:05 +08:00
    Emoji 那条,如果是作版权考虑的话,还蛮奇怪的。
    用任何输入法输入 Emoji 也好,收到 Android 发来的 Emoji 也好,不都是 Unicode 字符吗?
    mornlight
        16
    mornlight  
    OP
       2017-06-11 00:50:34 +08:00
    @YvesX #15 是这样啊,本质上是 Unicode 字符,显示成什么样由手机系统决定,那 may not include Apple emoji 是啥意思我也不太懂了。
    clavichord93
        17
    clavichord93  
       2017-06-11 00:54:05 +08:00 via iPhone
    @mornlight 应该是画风和样式吧…
    YvesX
        18
    YvesX  
       2017-06-11 01:18:25 +08:00
    @clavichord93 #17
    但输入法根本不会考虑画风和样式啊,这都是系统呈现的,对于输入法来说,它和别的字符没有区别。
    clavichord93
        19
    clavichord93  
       2017-06-11 02:06:02 +08:00 via iPhone
    @YvesX 不太懂在 Apple 在搞什么飞机…但我觉得 Apple 好像没有什么一定要把用户按在 emoji 键盘上的必要,所以应该是一些法律或着别的方面的原因。
    gaodeng
        20
    gaodeng  
       2017-06-11 03:13:26 +08:00 via iPhone
    微信小程序暴露了一些系统原生接口啊,这样的话,岂不是不合规了。
    mxalbert1996
        21
    mxalbert1996  
       2017-06-11 12:27:03 +08:00 via Android
    然而 4.4.1 (Keyboard extensions have some additional rules.) 里还加了一条:
    Follow Sticker guidelines if the keyboard includes images or emojis
    bleaker
        22
    bleaker  
       2017-06-11 20:10:42 +08:00
    Apple Color Emoji 是一种字体,就像你不能在应用里无授权地使用汉仪旗黑一样,你也不能在应用里无授权地使用 Apple Color Emoji 的 glyph。

    但是 emoji 在 Unicode 里的码位是开放的,苹果不会也不能限制你的 App 里不应该出现 U+1F644,但可以要求你不包含 🙄️ 这个图形。

    但考虑到所有 iOS 设备中都有这个字体,唯一的限制场景可能就是在老版本系统中显示新的 emoji。

    也就是说,像微信 for Android 那样在应用里内嵌一堆表情的做法是不允许在 AppStore 中上架的(然并卵啊)
    so898
        23
    so898  
       2017-06-11 22:08:53 +08:00   ❤️ 1
    感觉 Emoji 那一条是针对 Monkey 的……
    msn1983aa
        24
    msn1983aa  
       2017-06-12 10:33:50 +08:00
    @BXIA 强制升级最新版系统
    mornlight
        25
    mornlight  
    OP
       2017-06-12 12:29:44 +08:00
    @msn1983aa #24 应该不至于,很多老设备升不了新系统,停留在 iOS 8/9。没有必要要求 App 不兼容老系统。
    studyro
        26
    studyro  
       2017-06-12 17:46:03 +08:00
    Apple ’ s App Store Guidelines Now Allow Executable Code in Educational Apps and Developer Tools

    https://www.macstories.net/linked/apples-app-store-guidelines-now-allow-executable-code-in-educational-apps-and-developer-tools/
    LeoDev
        27
    LeoDev  
       2017-06-13 12:36:56 +08:00
    @so898 #23 666
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3469 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:04 · PVG 19:04 · LAX 03:04 · JFK 06:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.