00 / 00

Apple 与 iOS 配置

理解 01MVP 移动端从 Apple 账号、Bundle ID、签名到 App Store Connect 的配置顺序

这一节讲移动端怎么接 Apple。你不需要一开始把 Apple 后台所有名词都背下来,先理解一条线:代码里的 App 身份,要和 Apple Developer、EAS 签名、App Store Connect 里的身份对上。

如果你只做 Android,可以先跳到 Android 与 Google Play。如果你要做 iOS 真机分发、TestFlight 或 App Store 上架,就按本节往下走。

iOS 发布链路

从 app.json 到 App Store 的 5 层身份
代码
app.json
写入 name、scheme、bundleIdentifier。
账号
Apple Developer
决定谁拥有这个 App 身份。
能力
Capabilities
开启登录、推送、App Group 等能力。
签名
EAS Build
准备证书和 profile,生成可安装包。
分发
App Store Connect
TestFlight、审核、正式发布。

只记一个判断标准:app.json 里的 expo.ios.bundleIdentifier、Apple Developer 里的 App ID、App Store Connect 里的 Bundle ID,必须是同一个值。

应该按什么顺序读

代码里先看哪里

products/01mvp/apps/mobile/
  app.json      # name、scheme、ios.bundleIdentifier、android.package
  eas.json      # development / preview / production 构建 profile
  .env.example  # EXPO_PUBLIC_APP_SCHEME、EXPO_PUBLIC_SERVER_URL 等公开配置

最小 App 身份示例:

{
  "expo": {
    "name": "Your App",
    "slug": "your-app-mobile",
    "scheme": "yourapp",
    "ios": {
      "bundleIdentifier": "com.yourcompany.yourapp"
    },
    "android": {
      "package": "com.yourcompany.yourapp"
    }
  }
}

scheme 要和 EXPO_PUBLIC_APP_SCHEME 一致。服务端还要配置 NATIVE_APP_SCHEME,让 Better Auth 知道移动端回跳地址是可信的。

常见移动端 Apple 能力

能力什么时候接
Sign in with AppleApp 内要支持 Apple 原生登录
Push Notifications服务端要给 App 发远程推送
Associated Domains要做 Universal Links,从网页自然打开 App
App Groups主 App 和 Widget / extension 要共享数据
In-App PurchaseApp Store 内购和订阅

只开当前真正需要的 capabilities。能力越多,签名、审核、隐私说明和测试成本越高。

最小检查清单

  • Apple Developer Program 已开通,协议和付款状态正常。
  • app.jsonexpo.ios.bundleIdentifier 和 Apple Developer App ID 完全一致。
  • EXPO_PUBLIC_APP_SCHEMEapp.jsonexpo.scheme 一致。
  • 服务端部署了对应的 NATIVE_APP_SCHEME
  • 只开启当前需要的 capabilities。
  • EAS project、Apple team、证书和 profile 都属于你的账号。
  • 上架前准备好截图、隐私政策、测试账号、审核备注和付费说明。

官方参考

这篇文档有问题?