上传被打回来很多次,原因都是 Info.plist 里的小问题:CFBundleVersion 里带了字母、权限说明还写着 TODO 、打包后的 Info.plist 里留着没展开的 $(VARIABLE)、Mac App 忘了填 LSApplicationCategoryType……这些问题 App Store Connect 都要等上传之后才告诉你。
我把苹果文档和 ITMS 报错里的规则整理出来,写成了一个检查器:
- 支持 XML 和二进制 plist ,iOS 和 Mac 都能查
- 能分清工程里的 Info.plist 和打包后 .app 里的那份(打包后还留着
$(...)才算错) - 每条提示都附上对应的苹果官方文档链接
- 零依赖,Node 18 以上:
npx github:peterzhang0216/info-plist-checker 路径/Info.plist - 有会被拒的问题时退出码为 1 ,加
--json可以接进 CI ;加--lang zh输出中文
GitHub: https://github.com/peterzhang0216/info-plist-checker 网页版(文件不上传,在浏览器本地检查): https://obelisk.club/tools/info-plist-checker?lang=zh
它只看这一个文件,查不了签名、entitlements 和图标,所以检查通过只能算过了一关。规则以 2026-10-31 的苹果文档为准,如果有过时或写错的,欢迎提 issue 或 PR 。
