ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

【SwiftUI娓娓道来】第7课:让你的App走向世界——发布与上架完整指南

【SwiftUI娓娓道来】第7课:让你的App走向世界——发布与上架完整指南 开篇代码写完了然后呢前六课我们已经走过了 SwiftUI 的完整学习路径。第1课认识了积木第2课学会了布局第3课让界面活了起来第4课让数据留了下来第5课让数据流动了起来第6课让代码立了起来。现在你有一个架构清晰、功能完整、能连网、能存数据的 App 了。但是它还躺在你的 Mac 上躺在 Xcode 的模拟器里。只有你一个人能看到它只有你一个人能用它。你可能会想“我写这个 App是想给别人用的。”你想让朋友下载想让用户使用想让世界看到你的作品。这就像你做好了菜但还没有端上桌。菜在厨房里只有厨师能看到端上桌客人才吃得到。发布就是把你的 App 从厨房端到餐桌上的过程。这个过程听起来简单打包、上传、等审核。但真正做过的人都知道这里面的坑很多。证书过期、描述文件不匹配、隐私清单缺失、SDK 版本不满足、截图不符合规范、年龄分级问卷没填、审核被拒……每一个坑都可能让你卡上几天甚至几周。尤其是 2026 年苹果对上传要求做了几项重要的收紧。SDK 版本、隐私清单、年龄分级问卷每一项都有明确的截止日期。如果你不了解这些变化很可能会在上传时被直接拒绝。这一课我们就来完整地走一遍从代码到上架的流程。每一步都会告诉你要做什么为什么要做容易在哪里出错。我们会讲开发者账号与费用2026年 SDK 最低版本要求证书与描述文件App Store Connect 配置隐私清单与隐私营养标签年龄分级新规截图与元数据准备打包与归档TestFlight 内测提交审核审核被拒怎么办分阶段发布与版本管理。这一课会很长但不会难。因为发布流程本质上就是按步骤操作。理解每一步的目的剩下的就是细心和耐心。好我们开始。一、发布前的准备你需要的账号和工具1.1 Apple Developer Program要在 App Store 上发布 App你必须加入 Apple Developer Program。这不是可选项是必须的。账号类型个人账号99 美元/年适合个人开发者上架后显示个人名称公司账号99 美元/年适合企业团队上架后显示公司名称需要提供 D-U-N-S 编号企业账号299 美元/年仅限内部使用不能公开上架 App Store。对于大多数个人开发者和小团队个人账号就够了。注册地址是 developer.apple.com/programs/。需要注意的是公司账号需要 D-U-N-S 编号验证这个过程可能需要几天甚至几周。所以如果你打算用公司账号发布尽早开始注册流程不要等到要发布了才去注册。免费 Apple ID 可以做什么可以签名构建到自己的设备上但描述文件只有 7 天有效期而且不支持 TestFlight 和 App Store 分发。也就是说免费账号只能自己玩不能发布。1.2 Xcode 与 SDK 版本要求2026年的硬性门槛Xcode 是开发、打包、上传的必备工具。你需要最新版本的 Xcode。特别重要自 2026 年 4 月起上传到 App Store Connect 的 App 必须满足以下最低 SDK 要求iOS 和 iPadOS App必须使用 iOS 26 SDK 或更高版本构建Apple tvOS App必须使用 Apple tvOS 26 SDK 或更高版本构建visionOS App必须使用 visionOS 26 SDK 或更高版本构建watchOS App必须使用 watchOS 26 SDK 或更高版本构建。这意味着你必须使用 Xcode 26 或更高版本来构建上传到 App Store 的 App。如果你用的是旧版本 Xcode你的 App 会被直接拒绝。好消息是SDK 版本要求不等于部署目标要求。你仍然可以将 App 的最低支持版本Deployment Target设得比 iOS 26 低只要用 Xcode 26 构建即可。苹果允许开发者将 IPHONEOS_DEPLOYMENT_TARGET 设到 iOS 15.0 甚至更低前提是用 Xcode 26 构建。所以保持 Xcode 更新不要偷懒。这是发布的第一道门槛。1.3 发布检查清单在开始打包之前先用这个清单检查一下你的项目版本号和构建号已更新版本号如 1.0.0是给用户看的构建号如 1是给系统用的每次上传都要递增App 图标完整需要浅色、深色、着色三种模式隐私清单已包含PrivacyInfo.xcprivacy文件年龄分级问卷已填写2026 年 9 月起为强制要求Release 配置已设置不要用 Debug 配置打包Archive 验证通过在 Xcode 里先验证一遍TestFlight 测试完成至少跑一遍完整的用户流程截图已更新和当前版本的功能一致App Store 元数据完整名称、描述、关键词、分类等。这个清单看起来简单但每一步都有人踩过坑。尤其是隐私清单、年龄分级问卷和截图是审核被拒的高频原因。二、证书与描述文件代码签名的那些事2.1 什么是代码签名iOS 是一个封闭的系统。苹果要求所有在 iOS 上运行的 App 都必须经过签名。签名的目的是验证开发者身份这个 App 是谁做的保证代码完整性App 没有被篡改控制权限这个 App 能用哪些系统能力。代码签名需要两个东西签名证书证明你是合法的苹果开发者描述文件说明你的 App 需要哪些服务和权限以及哪些设备可以安装。你可以把签名证书理解成你的“身份证”描述文件理解成你的“通行证”。身份证证明你是谁通行证说明你能去哪里。2.2 自动签名 vs 手动签名Xcode 提供了两种签名方式自动签名推荐Xcode 帮你管理证书和描述文件。你只需要在 Target 的 Signing Capabilities 里选择你的开发团队勾选“Automatically manage signing”Xcode 会自动创建、更新、续期证书和描述文件。自动签名适合大多数场景。它省心、省事不容易出错。对于个人开发者和中小团队强烈推荐用自动签名。手动签名你自己在 Apple Developer 网站上创建证书和描述文件然后下载到本地在 Xcode 里配置。手动签名适合以下场景团队有多个开发者需要集中管理证书使用 CI/CD 自动化构建需要精确控制签名自动签名出问题需要手动排查。2.3 证书过期的坑这是新手最常踩的坑之一证书过期了。苹果的签名证书有效期通常是一年。证书过期后你的 App 无法再签名需要重新生成。如果你用自动签名Xcode 会在证书快过期时提醒你通常不需要手动处理。但如果你用手动签名就要自己盯好时间。一个实用技巧当证书剩余有效期不足一半通常为 180 天时就可以发起手动证书轮换。提前换不要等到过期。2.4 描述文件不匹配另一个常见的坑是描述文件不匹配。描述文件里记录了你的 App ID、证书、设备列表和能力比如推送通知、App Groups。如果你在 App 里加了新的能力但描述文件没有更新上传时就会报错。自动签名会自动更新描述文件手动签名就要自己记得更新。描述文件不匹配是首次上传最常见的被拒原因之一。所以如果你用了手动签名每次加了新能力之后都去检查一下描述文件。三、App Store Connect你的 App 的管理中心3.1 创建 App 记录登录 App Store Connectappstoreconnect.apple.com进入“我的 App”点击“”创建新 App。你需要填写平台iOS、macOS、tvOS、visionOS、watchOS名称App 的名称最多 30 个字符主要语言App 的主要语言Bundle ID必须和 Xcode 项目里的 Bundle ID 一致SKU一个内部标识符不会对用户显示可以随便填但建议用有意义的字符串用户访问权限谁可以管理这个 App。Bundle ID 是最容易出错的地方。如果 Xcode 里的 Bundle ID 和 App Store Connect 里不一致上传时会报错。3.2 填写 App 信息创建 App 后你需要填写大量信息App 名称显示在 App Store 上的名称副标题简短描述最多 30 个字符描述详细介绍最多 4000 个字符关键词用于搜索最多 100 个字符用逗号分隔支持 URL你的支持页面营销 URL你的营销页面可选隐私政策 URL必须有分类选择最适合你的 App 的分类年龄分级根据内容选择。3.3 年龄分级问卷的新要求年龄分级系统已经更新提供了更精细的分级和类别。每个 App 的当前分级会自动更新以符合新系统。2026 年 7 月起App Store Connect 的年龄分级问卷新增了社交媒体功能相关问题。社交媒体功能被定义为“通过社交信息流或类似发现方式重新分发、放大或与用户生成内容互动的能力”。如果你的 App 或游戏包含社交媒体功能将会在 App Store 产品页面上显示新的“社交媒体”内容描述符。如果你表示 App 包含社交媒体功能但对 13 岁以下用户禁用了这些功能则不会将其纳入 13 岁以下用户的“社交媒体”时间配额类别。自 2026 年 9 月起在提交新 App、App 更新或提交公证时回答这些问题将成为强制性要求。无论你在 App Store Connect 中选择何种应用类别只要包含社交媒体功能最低年龄分级将被定为 13。这是一个重要的变化。如果你的 App 有任何形式的社交功能评论、分享、用户动态等务必在提交前确认年龄分级问卷已正确填写。3.4 上传截图和预览截图是审核被拒的高频原因之一。规则很明确截图必须展示 App 的实际使用界面不能只是标题图、登录页或启动页可以包含文字和图片叠加但不能用 AI 生成的图替代真实截图每个语言需要对应的截图不能用英文截图占位可以上传 1 到 10 张.jpeg、.jpg或.png格式的截图。尺寸要求2026年6.9 英寸显示器的截图是主要接受的尺寸具体像素为 1260 x 2736 像素竖屏或 2736 x 1260 像素横屏。只有当没有提供 6.9 英寸截图时才需要提供 6.5 英寸的截图作为备用。如果你支持 iPad还需要提供 iPad 尺寸的截图。13 英寸 iPad 的截图尺寸为 2064 x 2752 像素。一个实用技巧截图不要只截一个界面要展示 App 的核心功能。比如一个新闻 App 可以截首页列表、文章详情、搜索界面。每张截图配上一句简短的文字说明效果会更好。3.5 隐私营养标签这是 iOS 14 以来最重要的合规要求之一。你必须在 App Store Connect 中填写 App 的隐私做法这些信息会以“隐私营养标签”的形式显示在产品页面上。你需要说明App 收集哪些类型的数据这些数据是否与用户身份关联这些数据是否用于追踪用户如果集成了第三方 SDK也要说明它们的数据收集行为。“收集”的定义很关键指从设备发送数据并且开发者或第三方可以在超出实时处理请求所需的时间后访问该数据。也就是说即使是临时发到服务器处理的数据如果服务器保留了就算“收集”。如果填错了隐私营养标签审核会被拒。而且如果第三方 SDK 有隐私问题你的 App 也会被拒。所以填之前要仔细核对每一个第三方 SDK 的隐私政策。四、隐私清单2026年的硬性要求4.1 什么是隐私清单隐私清单是一个名为PrivacyInfo.xcprivacy的文件它详细说明了你的 App 如何使用用户数据。这不是可选的。自 2024 年 5 月 1 日起所有提交到 App Store 的新 App 和更新都必须包含隐私清单文件。没有适当隐私清单的 App 将在审核期间被拒绝。自 2024 年 11 月 12 日起提交审核的 App 必须包含有效的隐私清单文件否则会收到包含无效文件名称和路径的拒绝邮件。4.2 隐私清单要写什么隐私清单是一个属性列表文件包含四个核心键NSPrivacyTracking布尔值表示 App 是否进行追踪NSPrivacyTrackingDomains字符串数组列出用于追踪的域名NSPrivacyCollectedDataTypes声明收集的数据类型NSPrivacyAccessedAPITypes声明使用的必要理由 API 及原因。苹果要求某些 API 必须说明使用原因包括以下五类文件时间戳 API访问文件的时间戳系统启动时间 API获取系统启动时间磁盘空间 API查询磁盘空间活动键盘 API访问活动键盘信息用户默认值 API访问 UserDefaults。外部域名也必须列出以确保潜在追踪的透明度。追踪域名的值必须包含顶级域名或子域名不包含路径和查询组件不包含尾部斜杠。在 Xcode 中你可以通过“App Privacy”模板来创建隐私清单文件。记得保持第三方 SDK 更新确保它们自带有效的签名清单并且清单内容与你在 App Store Connect 中填写的隐私标签一致。4.3 隐私影响 SDK 是什么如果你的 App 集成了“隐私影响第三方 SDK”列表中的 SDK那个 SDK 必须自带隐私清单。常见的隐私影响 SDK 包括广告 SDK如 Google AdMob分析 SDK如 Firebase Analytics登录 SDK如 Facebook Login支付 SDK。如果你的 App 集成了这些 SDK你需要确认 SDK 版本包含隐私清单确认 SDK 的隐私清单正确描述了它的数据收集行为如果你的 App 自己也有隐私清单不要混在一起。大多数隐私清单相关的拒绝来自第三方 SDK而不是你自己的代码。所以检查每一个第三方 SDK 的隐私清单是发布前必不可少的一步。4.4 一个常见错误如果你收到了ITMS-91056: Invalid privacy manifest的错误邮件说明你的隐私清单文件格式有问题。无效的隐私清单包括包含无效键或值的属性列表文件格式不正确的属性列表文件。例如NSPrivacyTracking的值必须是布尔类型如果写成其他类型就会报错NSPrivacyTrackingDomains的值必须是字符串数组。解决办法是对照 Apple 文档逐一检查每个键的类型和值是否符合要求。五、打包与归档5.1 Archive打包的第一步在 Xcode 中选择“Any iOS Device (arm64)”作为目标设备然后选择 Product Archive。Archive 会把你的 App 编译成 Release 版本并打包成一个.xcarchive文件。这个文件包含了你的 App 的所有内容二进制、资源、符号表、dSYM 文件等。Archive 完成后Xcode 会自动打开 Organizer 窗口显示你刚刚创建的 Archive。5.2 验证 Archive在 Organizer 中点击“Validate App”Xcode 会检查你的 App 是否符合 App Store 的要求。验证会检查Bundle ID 是否正确版本号和构建号是否有效签名证书是否有效描述文件是否匹配是否包含隐私清单是否使用了正确的 SDK 版本是否有其他明显问题。验证通过不代表审核一定通过但验证不通过一定不能上传。所以每次上传前都先验证一遍。5.3 上传到 App Store Connect验证通过后点击“Distribute App”选择“App Store Connect”然后选择“Upload”。Xcode 会把你的 App 上传到 App Store Connect。上传过程可能需要几分钟到几十分钟取决于你的 App 大小和网络速度。上传完成后你可以在 App Store Connect 的 TestFlight 标签页看到你的构建。构建会先进入“处理中”状态处理完成后才能使用。5.4 常见的上传错误ITMS-91056: Invalid privacy manifest隐私清单格式无效参考上一节ITMS-91061: Missing privacy manifest缺少隐私清单Invalid Bundle IDBundle ID 不匹配Missing provisioning profile描述文件缺失或不匹配Invalid Code Signing签名证书无效或过期Unsupported SDK使用了不支持的 SDK 版本检查是否使用了 iOS 26 SDK 或更高版本。遇到错误不要慌。仔细读错误信息通常它会告诉你具体哪里出了问题。六、TestFlight在发布前先测试6.1 什么是 TestFlightTestFlight 是苹果的 Beta 版测试服务。你可以在 App Store 上架之前把 App 分发给测试员收集反馈修复 bug。TestFlight 有两种测试模式内部测试最多 100 人必须是 App Store Connect 用户无需审核构建处理完成后立即可用外部测试最多 10,000 人需要通过 Beta App Review每个版本的第一个构建需要审核后续构建通常很快通过。6.2 添加内部测试员内部测试是最快的测试方式在 App Store Connect 中进入你的 App点击“TestFlight”标签在“内部测试”下创建或选择一个测试组点击“邀请测试员”选择你团队中的用户测试员会收到邮件邀请安装 TestFlight App 后即可开始测试。内部测试员不需要 App Store Connect 账号以外的额外操作。你可以设置自动分发这样每次上传新构建测试员都会自动收到。6.3 添加外部测试员外部测试需要经过 Beta App Review在“外部测试”下创建一个测试组添加构建到测试组点击“提交审核”第一个构建需要后续构建通常不需要审核通过后通过邮件邀请测试员或者创建公开链接。外部测试员不需要 App Store Connect 账号只需要安装 TestFlight App 即可。每个版本最多可以在 24 小时内提交 6 个构建进行 Beta App Review。第一个构建通过审核后同一版本的后续构建通常几分钟就能处理完成。6.4 TestFlight 的重要注意事项构建会在 90 天后过期。过期后测试员会完全失去 App包括登录状态、本地数据和测试进度。所以如果要长期测试记得定期上传新构建邀请邮件经常收不到。这是苹果多年的已知问题没有永久修复。如果测试员收不到邀请可以用公开链接绕过这个问题构建过期后需要上传新构建才能继续测试。6.5 用 TestFlight 测试什么TestFlight 是发布前最后一道防线。在这个阶段你应该测试核心功能流程用户能不能完成主要操作不同设备iPhone SE、iPhone 15 Pro Max、iPad 都试试不同 iOS 版本至少覆盖你支持的最低版本和最新版本网络异常断网、弱网、切换网络边界情况空数据、超长文本、特殊字符性能启动速度、滚动流畅度、内存占用。不要跳过 TestFlight 直接提交审核。审核团队发现的问题你的测试员本来可以帮你提前发现。七、提交审核7.1 提交前的最后检查在提交审核之前再次确认所有元数据名称、描述、关键词、截图都已填写隐私营养标签已填写隐私清单已包含且格式有效年龄分级问卷已填写2026 年 9 月起为强制要求构建已上传并通过处理TestFlight 测试通过后端服务在审核期间全天候可用。最后一点很重要审核团队可能会在任何时间测试你的 App。如果你的后端服务在审核期间宕机了审核团队无法正常使用你的 App就会拒绝。7.2 提交审核在 App Store Connect 中选择你要提交的版本点击“提交审核”。你需要回答几个问题出口合规你的 App 是否使用加密技术内容版权你的 App 是否包含第三方内容广告标识符你的 App 是否使用 IDFA。然后你可以选择“手动发布”或“自动发布”。手动发布意味着审核通过后你需要手动点击发布。自动发布意味着审核通过后立即发布。7.3 审核时间苹果表示审核团队能在 48 小时内处理 90% 的提交申请。但实际时间可能因 App 复杂度和审核队列长度而不同。如果审核超过 48 小时还没结果你可以在 App Store Connect 中提交加速审核申请但需要有合理的理由比如紧急 bug 修复。八、审核被拒怎么办8.1 常见的被拒原因审核被拒是正常的。很多 App 都经历过被拒、修改、重新提交的过程。关键是理解被拒的原因然后针对性地修改。元数据问题截图与实际功能不符描述包含误导性信息关键词堆砌。确保截图中的每个按钮、界面都与实际功能一致避免误导。隐私问题隐私营养标签填写不准确缺少隐私清单第三方 SDK 没有隐私清单。设计规范违反App 的功能集与其他已上架 App 相同只是内容或语言不同被视为垃圾应用。苹果正在严厉打击低质应用。典型的 4.3 被拒包括发布相似应用仅在内容上有差异在自己的开发者账号下发布白标应用仿冒或蹭名牌照搬热门 App 的 UI或名称、图标与知名 App 高度相似。支付问题接入第三方支付如微信、支付宝、Stripe、PayPal没有使用 StoreKit。修复方法是移除所有第三方支付 SDK 和入口接入 StoreKit在 App Store Connect 配置 IAP 商品。缺少恢复购买功能或隐藏付费内容也是常见问题。AI 服务问题如果 App 将用户数据发送给第三方 AI 服务需要修改隐私政策说明不共享或出售数据给第三方 AI 提供商并列出 AI 数据处理者。技术稳定性问题审核期间崩溃、后端服务不可用、功能不完整。提交前用 TestFlight 覆盖不同 iOS 版本和设备型号进行全面测试。8.2 被拒后的标准动作收到被拒通知后不要急着重新提交。先做这几件事仔细读清楚“Specifically”后面的描述。苹果会明确指出是元数据误导、App 名称/图标误导还是包含恶作剧功能对照审核指南找到对应的条款。每个被拒理由都会引用具体的审核指南条款修改问题而不是绕过问题。苹果审核团队经验丰富试图绕过规则只会让情况更糟在回复中礼貌地说明你做了哪些修改。如果你认为被拒是误判可以礼貌地解释并提供证据重新提交。很多 App 经过一轮或多轮审核后被批准。8.3 一个真实的案例有一个 App 被拒的原因是 4.3 Design: Spam——“我们注意到你的 App 提供了与其他已提交 App 相同的功能集只是内容或语言不同这被视为垃圾应用的一种形式。”审核团队建议开发者考虑将 App 发布为 Developer ID macOS 应用程序如果是 iOS App 可以使用 Catalyst。这个案例说明如果你的 App 是“又一个”同类应用没有独特价值就可能被拒。解决办法是找到你的差异化突出你与众不同的功能。九、分阶段发布与版本管理9.1 分阶段发布审核通过后你可以选择分阶段发布。分阶段发布会在 7 天内逐步将新版本推送给用户天数用户百分比11%22%35%410%520%650%7100%在分阶段发布期间所有用户仍然可以随时从 App Store 手动下载 App 和更新。分阶段发布的好处是如果新版本有严重 bug你可以在它影响到所有用户之前暂停发布。你最多可以暂停发布 30 天且次数不限。要启用分阶段发布在 App Store Connect 中进入你的 App 版本页面在“分阶段发布自动更新”部分选择“于 7 天内分阶段发布更新”。9.2 版本号与构建号版本号如 1.0.0是给用户看的每次发布新版本时递增。构建号如 1、2、3是给系统用的每次上传到 App Store Connect 都要递增即使版本号没变。建议的版本号规则主版本号重大更新或不兼容的变更1.0.0 → 2.0.0次版本号新功能1.0.0 → 1.1.0修订号bug 修复1.0.0 → 1.0.1。9.3 紧急修复如果你的 App 有严重 bug 需要紧急修复修复 bug递增构建号打包、上传在提交审核时申请加速审核说明紧急原因审核通过后可以跳过 TestFlight 直接发布。紧急修复的情况包括App 崩溃、数据丢失、安全漏洞、支付问题。其他小 bug 不建议走紧急通道因为加速审核的名额有限。十、欧盟 DMA 合规如果你的 App 面向欧洲用户10.1 DMA 是什么欧盟的《数字市场法》Digital Markets ActDMA要求苹果开放 App Store允许第三方应用商店和网络分发应用同时允许开发者向用户提供 App Store 之外的购买渠道。2025 年 4 月欧盟委员会认定苹果违反 DMA 的“反引导”义务对苹果处以 5 亿欧元罚款。10.2 2026 年 10 月 1 日起的变化自 2026 年 10 月 1 日起欧盟地区的 App Store 将实施新的商业条款应用内购标准佣金从 30% 下调至 26%如果使用替代支付处理方式佣金进一步降低苹果以 5% 的核心技术佣金取代了安装费。10.3 对开发者的影响如果你的 App 面向欧盟用户你需要注意如果你的 App 面向未成年人或有大量 18 岁以下欧盟用户必须验证家长控制机制和外部链接限制。使用替代计费方式的应用必须要求 18 岁以下用户获得家长许可并完全禁止 13 岁以下用户访问外部链接。你可以向欧盟用户提供 App Store 之外的购买渠道但必须遵守苹果的新规则如果你选择使用替代支付模式必须承诺至少 12 个月采用该模式。这些变化只影响欧盟地区。如果你的 App 不面向欧洲用户可以暂时忽略。十一、常见坑与调试建议11.1 SDK 版本不满足要求自 2026 年 4 月起必须使用 iOS 26 SDK 或更高版本构建。检查你的 Xcode 版本是否满足要求。如果用旧版本 Xcode 构建上传会被直接拒绝。11.2 证书过期自动签名会自动续期。手动签名要自己盯好时间建议提前 180 天轮换。11.3 描述文件不匹配这是首次上传最常见的被拒原因。加了新能力推送、App Groups 等后检查描述文件是否更新。11.4 隐私清单缺失或格式无效如果你的 App 集成了隐私影响的 SDK确保 SDK 版本包含隐私清单。如果收到ITMS-91056或ITMS-91061错误检查隐私清单文件的键类型和值是否符合要求。11.5 年龄分级问卷未填写自 2026 年 9 月起提交新 App 或更新时必须回答年龄分级问卷中的社交媒体功能问题。如果你的 App 包含社交媒体功能最低年龄分级将被定为 13。11.6 截图被拒截图必须展示 App 的实际使用界面不能只是标题图或启动页。6.9 英寸截图1260 x 2736 像素是主要接受的尺寸。不能用 AI 生成的图替代真实截图。11.7 元数据被拒确保 App 描述、截图、关键词都准确反映 App 的实际功能。不要包含价格、条款或其他不属于该元数据类型的描述。11.8 低质应用被下架苹果正在严厉打击低质应用。如果你的 App 属于饱和品类手电筒、计时器、壁纸等且长期不更新可能被下架。提供独特价值是唯一的出路。11.9 审核期间后端不可用审核团队可能在任何时间测试你的 App。确保审核期间后端服务全天候可用。如果审核团队发现 App 无法正常使用会被拒。11.10 Bundle ID 不一致Xcode 项目里的 Bundle ID 必须和 App Store Connect 里的一致。上传前双重检查。11.11 忘记递增构建号每次上传到 App Store Connect 都要递增构建号。如果构建号重复上传会失败。11.12 不要在 Preview 里测试发布Preview 和真实设备的行为可能不同。发布前一定要在真实设备上测试。11.13 TestFlight 构建过期TestFlight 构建 90 天后过期。过期后测试员完全失去 App包括登录状态和本地数据。如果要长期测试记得定期上传新构建。11.14 出口合规问题如果你的 App 使用了加密技术需要在提交时声明。大多数 App 使用系统提供的加密如 HTTPS可以选择“标准加密”豁免。十二、第7课总结这一课我们学习了 SwiftUI App 的发布与上架流程。我们学到了Apple Developer Program 是发布的前提个人账号 99 美元/年2026 年 4 月起上传必须使用 iOS 26 SDK 或更高版本构建即 Xcode 26代码签名需要证书和描述文件自动签名适合大多数场景App Store Connect 是管理 App 的中心隐私清单是硬性要求缺少或格式无效会被拒绝大多数拒绝来自第三方 SDK2026 年 9 月起年龄分级问卷中的社交媒体功能问题为强制填写包含社交功能的 App 最低分级为 13截图必须展示真实界面6.9 英寸1260 x 2736 像素是主要接受的尺寸打包流程Archive → 验证 → 上传TestFlight 分内部测试100 人和外部测试10,000 人构建 90 天过期审核被拒要仔细读原因针对性修改后重新提交分阶段发布可以在 7 天内逐步推送有问题可暂停欧盟 DMA 合规对面向欧洲用户的 App 有额外要求。发布让 App 走出去。学会它你的作品就不只是躺在你的 Mac 上而是能被全世界的人下载和使用。如果把整个 App 的开发比作一场旅行布局是规划路线交互和动画是沿途的风景持久化是行李网络是交通工具架构是地图发布就是到达目的地。你走了很远终于到了。下一课我们会学习 App 的运营与迭代数据分析、用户反馈、A/B 测试、版本更新策略、变现方式。到那时你的 App 就不只是“能走出去”还能“走得远”。十三、练习练习一注册开发者账号如果你还没有 Apple Developer Program 账号去 developer.apple.com/programs/ 注册一个。练习二创建 App 记录在 App Store Connect 中创建一个 App 记录填写基本信息。练习三准备截图为你的 App 准备 6.9 英寸1260 x 2736 像素的截图展示核心功能界面。练习四填写隐私营养标签分析你的 App 收集了哪些数据在 App Store Connect 中填写隐私营养标签。练习五添加隐私清单在 Xcode 中为你的项目添加PrivacyInfo.xcprivacy文件说明数据收集行为和使用的必要理由 API。练习六填写年龄分级问卷在 App Store Connect 中回答年龄分级问卷特别是新增的社交媒体功能问题。练习七打包与验证Archive 你的 App验证是否通过。确认使用了 iOS 26 SDK 或更高版本构建。练习八TestFlight 测试上传构建到 TestFlight邀请一个朋友测试。练习九提交审核提交你的 App 进行审核等待结果。练习十处理被拒如果被拒仔细阅读原因修改后重新提交。练习十一分阶段发布审核通过后启用分阶段发布观察用户反馈。练习十二隐私清单实战检查你使用的所有第三方 SDK确认它们是否包含有效的隐私清单。如果没有联系 SDK 提供者获取更新版本。下一课预告第8课我们会学习App 数据分析用户反馈收集与处理A/B 测试版本更新策略变现方式内购、订阅、广告推送通知与用户留存App Store 优化ASO。发布让 App 走出去运营让 App 走得远。我们下一课见。记住一句话好的 App 不是发布完就结束了而是发布完才刚刚开始。
返回列表