跳到正文

← 全部工具

面向 iOS 和 Mac 开发者的免费工具

Info.plist 上架检查器

粘贴或拖入应用的 Info.plist,就能看到 App Store Connect 会拒绝什么、哪里格式有误、哪些值得知道,每条都附上对应的 Apple 页面。项目里的文件和构建好的应用里的文件都能读,XML 或二进制都行。所有内容都不会上传。

规则取自 Apple 的 Information Property List 文档和 App Store Connect 上传提示,核对于 2026-10-31。每条提示旁都链接到对应的 Apple 页面。

应用平台

把 Info.plist 拖到这里,或从构建好的应用里打开(iOS 是 App.app/Info.plist,Mac 是 App.app/Contents/Info.plist)。二进制 plist 也可以。文件只在本页读取,不会上传。

工作原理

  • •文件在你的浏览器里解析。它能分辨项目里的 Info.plist(含 $(PRODUCT_BUNDLE_IDENTIFIER) 这类变量,构建时由 Xcode 填入)和构建好的 Info.plist(含 Xcode 加上的 DT… 键),并尽量从文件里读出平台和 SDK。
  • •每项检查都来自 Apple 的页面:Information Property List 参考里各个键的页面、关于 iOS 27 SDK 要求启动屏的 TN3208、关于 UIRequiresFullScreen 的 TN3192、canOpenURL 里 LSApplicationQueriesSchemes 的数量上限,以及 Apple 的出口合规指南。
  • •用途说明(NS…UsageDescription)会检查是否空白、是否是占位文字、键名大小写是否写错、是否超过 Apple 的 4,000 字节上限,键名列表与我们的用途说明写作工具相同。
  • •我们用 Mac App Store 应用和已在 App Store 上架的 iOS 应用的 Info.plist 跑过这个检查器,没有报错;发现今年仍有只支持竖屏的 iPad 应用通过审核后,旧的 iPad 方向规则改成了提示。

它不做什么

  • •它只看这一个文件,无法判断应用包里的图标、storyboard、权限文件是否与之对应,也无法知道 Bundle ID 是否已在你的账号里注册。
  • •App Store Connect 的检查比单个文件能看出的多,例如签名、图标和 SDK 最低版本。这里没有问题只是其中一步,不是保证。
  • •这里只检查用途说明是否空白或是占位文字。措辞是否清楚得体,请用下方链接的用途说明写作工具。

常见问题

ITMS-90870 “Missing launch screen” 是什么意思?
从 iOS 27 SDK 起,App Store Connect 要求应用有启动屏:构建好的 Info.plist 里必须有 UILaunchScreen、UILaunchScreens、UILaunchStoryboardName 或 UILaunchStoryboards 之一。SwiftUI 项目打开 Launch Screen (Generation) 构建设置,会加一个空的 UILaunchScreen,这就够了。
为什么我的 Info.plist 里是 $(PRODUCT_BUNDLE_IDENTIFIER)?
那是项目里的文件。Xcode 构建时会把每个 $(…) 变量换成构建设置的值,所以 .app 里的 Info.plist 是真实的 Bundle ID。如果构建好的应用里还是 $(…),说明这个 target 或构建配置下缺少该构建设置。
CFBundleShortVersionString 和 CFBundleVersion 应该是什么格式?
只能有数字和英文句点。App Store 显示的版本号 CFBundleShortVersionString 是 主版本.次版本.修订号,例如 1.4.2。构建号 CFBundleVersion 是一到三段数字,例如 42 或 1.4.2,多出的段系统会忽略。
需要 ITSAppUsesNonExemptEncryption 吗?
不是必需的,但没有它,每次上传构建 App Store Connect 都会问出口合规问题。应用不用加密,或只通过 URLSession 用 HTTPS 这类豁免加密,就设为 NO;用了非豁免加密就设为 YES,并把 Apple 给你的代码填进 ITSEncryptionExportComplianceCode。
Mac 应用上传报 “must contain a LSApplicationCategoryType key” 怎么办?
Mac App Store 的构建需要类别。在 target 的 General 标签里选择 App Category,或添加 LSApplicationCategoryType,值如 public.app-category.productivity。
去哪里找构建好的应用的 Info.plist?
Mac 上右键点应用,选“显示包内容”,打开 Contents/Info.plist。.ipa 文件改名为 .zip 解压,打开 Payload/你的应用.app/Info.plist。这两处常是二进制 plist,本页可以直接读取。

相关工具