如何排查Xcode不再为我的MacOS应用提供公证选项的问题?
排查Xcode归档后无法识别为macOS App且无法启动公证的问题
以下是针对Xcode 13.4.1的具体排查步骤:
确认项目目标类型
选中项目导航器里的项目,点击对应目标,查看General标签页的Deployment Info区域:确保平台是macOS,且目标类型为App(而非命令行工具、框架等其他类型)。如果误改成了其他类型,改回macOS App即可。检查归档阶段配置
打开Product > Scheme > Edit Scheme,选择Archive阶段:- 确认
Build Configuration设为Release(Debug配置无法触发公证流程) - 确认
Archive Format是macOS App Archive,格式错误会导致归档被归入Other Items
- 确认
校验签名与证书配置
- 进入目标的
Signing & Capabilities标签页,勾选Automatically manage signing,并选择正确的开发者团队 - 确认签名证书为有效的
Developer ID Application证书(Mac Development证书无法用于公证) - 检查Build Settings里的
CODE_SIGN_IDENTITY、DEVELOPMENT_TEAM字段,确保和你的开发者账号匹配,没有被手动修改为错误值
- 进入目标的
检查Info.plist关键字段
应用的Info.plist必须包含以下合法字段,否则Xcode无法识别为正规macOS App:CFBundleIdentifier:格式为com.你的公司名.你的应用名,必须是开发者账号下的唯一标识符CFBundleExecutable:值必须和应用包内的可执行文件名称一致CFBundlePackageType:必须设置为APPL(标识这是应用包类型)
清理Xcode缓存与Derived Data
- 关闭Xcode,删除Derived Data:通过
Xcode > Preferences > Locations找到路径,手动删除该文件夹,或执行命令:rm -rf ~/Library/Developer/Xcode/DerivedData - 用
Shift + Command + K清理项目,再用Option + Shift + Command + K清理构建文件夹 - 重启Xcode后重新归档测试
- 关闭Xcode,删除Derived Data:通过
排查项目文件损坏问题
如果以上步骤无效,可能是项目文件损坏:- 从版本控制(如Git)恢复到之前能正常归档的版本,对比配置差异
- 新建空白macOS App项目,逐步迁移原项目的代码、资源和配置,测试归档是否正常
手动公证临时方案
若暂时无法修复Xcode识别问题,可手动完成公证:- 通过Organizer的
Distribute Content > Export as > macOS App导出应用包 - 用命令行提交公证:
xcrun altool --notarize-app --primary-bundle-id "com.你的公司名.你的应用名" --file "你的应用压缩包.zip" --username "你的Apple ID" --password "应用专用密码" - 用以下命令查询公证状态,完成后给应用加盖戳记:
xcrun altool --notarization-info <请求UUID> --username "你的Apple ID" --password "应用专用密码" xcrun stapler staple "你的应用.app"
- 通过Organizer的
内容的提问来源于stack exchange,提问作者latkin
相关产品推荐
相关产品推荐

