ios-AppStore上架

ios-AppStore上架


前篇


前置条件

  • 关闭真金元素, 接入 苹果支付 (iap), 并且可以支付成功.

  • 苹果后台提供可以用于登录的 账号密码.

    这个账号要严格一点, 比如 ui 显示是要手机号, 如果提供的是 邮件格式 账号, 也会被打回来.


隐私

  • 填入隐私地址, 数据类型选择 locationidentifies

    如果 app 打包是使用了 NSUserTrackingUsageDescription 但又没有在这里勾选 userd for tracking purposes, 就用踩到这个坑[NSUserTrackingUsageDescription 错误](#NSUserTrackingUsageDescription 错误)


提交审核

  1. 打包 ipa, 使用 Transporter 上传 ipa 到商店.

  2. AppStore 后台选择 构建版本

    然后 出口合规证明信息 选择 (填是了 审核难度会增加)

  3. 填写改填写的信息

  4. 提交审核

  5. 审核完, 如果开了定时发布, 需要手动去发布


屏幕截图分辨率

每个尺寸 2~10 张

  • 6.5寸 - 2688 x 1242

  • 5.5寸 - 2208 x 1242

  • 12.9寸 - 2732 x 2048

要求: 尽量贴近游戏运行时的截图, 否则会遇到

1
2
3
4
5
Guideline 2.3.3 - Performance - Accurate Metadata

We noticed that your screenshots do not sufficiently show your app in use. Specifically, your 6.5-inch iPhone and 5.5-inch iPhone screenshots show an iPad device frame and 12.9-inch iPad Pro screenshots show an iPhone device frame.

To help users understand your app’s functionality and value, your screenshots should highlight your app's core concept. For example, a gaming app should feature screenshots that capture actual gameplay within the app.

审核被拒

  1. sd

  2. 被拒条款 2.1. (他说没有指定地区, 明明指定了地区啊, 重新在提交一次就没问题了)


确认上架

上架后 Apple 会发邮件来, 一般十几分钟后就可以看到

如果是 定时发布, 需要手动点一下 发布 才能发布到 AppStore

可以使用一下几种方式确认

  1. 直接打开 商店地址: https://apps.apple.com/in/app/id[apple id] (需要对应地区的 vpn 才能打开)

  2. 使用 七麦数据 查看 - https://www.qimai.cn/app/rank/appid/[appid]/country/[地区]

    如: https://www.qimai.cn/app/rank/appid/414478124/country/cn

    或者 web 页面上选择 对应的地区 + appid

  3. 使用 Safari 跳转跳转过去 - itms-apps://itunes.apple.com/app/id[appid]

    如: itms-apps://itunes.apple.com/app/id414478124

    前提是登录了对应地区的账号 (可以是测试账号, 但测试账号不能安装, 只能搜索或跳转)


踩坑

NSUserTrackingUsageDescription 错误

报错: Your app contains NSUserTrackingUsageDescription, indicating that you will request permission to track users. To update this information on your app's product page, you must indicate which data types are tracking users. If this is incorrect, update your app binary and upload a new build to App Store Connect.

意思就是 打包的 ipa 的 Info.plist 中包含了 NSUserTrackingUsageDescription, 但是隐私策略中未勾选 用于追踪用户

解决办法: 在隐私策略中勾选一下 用于追踪用户


审核被拒, 找不到 ATT 权限请求

被拒原因: Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request

原因是在 AppStore 隐私设置中设置了 collect data in order to track the user

所以需要弹出 att 权限请求框, 给审核人员看到

  • 相关代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    +(void)checkPermission:(CodeMsgFn)cb API_AVAILABLE(ios(14)){
    ATTrackingManagerAuthorizationStatus status01 = [ATTrackingManager trackingAuthorizationStatus];
    bool isDeny = status01 == ATTrackingManagerAuthorizationStatusRestricted || status01 == ATTrackingManagerAuthorizationStatusDenied;
    if (isDeny) {
    [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status02) {
    cb(ECodePermissionDenyError, [NSString stringWithFormat:@"--- no tracking permission, status02: %lu", status02]);
    }];
    } else {
    cb(ECodeOk, @"--- tracking ok");
    }
    }
  • 而且 att 权限提示要有明确的指示, 不然会打回

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage

    We noticed that your app requests the user’s consent to access the AppTrackingTransparency framework, but doesn’t sufficiently explain the use of the AppTrackingTransparency framework in the purpose string.

    The purpose string on the App Tracking Transparency permission request should explain to users why you are tracking them across apps and websites owned by other companies and include a specific example of how you will use the data you collect for tracking purposes.

    Next Steps

    Please revise the purpose string in your app’s Info.plist file for the AppTrackingTransparency framework to explain why your app needs access.

    You can modify your app's Info.plist file using the property list editor in Xcode.

    Resources

    - See examples of helpful, informative purpose strings.
    - Review a list of relevant property list keys.

    正确的提示, 比如

    ```json
    NSUserTrackingUsageDescription
    Your data will be used to provide you a better and personalized ad experience.