如何分发Xcode Extension?求导出可直接安装文件的方法
如何导出可直接安装的Xcode Extension安装包
嘿,这个需求我刚好折腾过!要把Xcode Extension做成团队成员双击就能装的包,其实核心是完成签名+导出+打包这几步,下面给你一步步拆解:
第一步:搞定签名证书(关键!)
Xcode Extension属于macOS App Extension,必须用开发者证书签名才能在其他Mac上运行,不能用本地调试的签名:
- 如果你是团队开发者,确保你有苹果开发者账号,并且在Xcode里配置好
Developer ID Application和Developer ID Extension证书(主App和Extension都需要对应签名) - 检查项目的「Signing & Capabilities」:主App和Extension目标的签名都要选你的团队,别用默认的「Sign to Run Locally」
第二步:归档项目
- 在Xcode里选中包含Extension的主App目标(不是Extension本身,因为Extension不能单独运行)
- 顶部菜单点「Product > Archive」,等Xcode完成归档
- 归档结束后,Xcode的Organizer会自动弹出来,找到刚生成的归档记录
第三步:导出可分发的App包
- 在Organizer里选中你的归档,点右侧的「Distribute App」按钮
- 选择「Developer ID」选项(因为是分发给团队,不是上App Store),点「Next」
- 选「Export as a macOS App」,继续点「Next」
- 签名方式选「Automatically manage signing」,Xcode会自动用你的Developer ID证书给主App和Extension都签好名
- 选个保存路径,点「Export」就行
第四步:打包成双击安装的.pkg(可选但更友好)
导出后你会得到一个.app文件(主App里包含了Extension),但直接发这个的话,成员得手动拖去Applications文件夹,还得打开一次主App让Xcode识别扩展。如果想更省心,把它做成.pkg安装包:
- 打开终端,用
productbuild命令打包,示例:
替换成你的App路径和证书名称,生成的productbuild --component "/Users/xxx/Downloads/YourApp.app" /Applications --sign "Developer ID Installer: Your Team Name" "XcodeExtensionInstaller.pkg".pkg双击就会自动把App装到Applications文件夹,成员安装后打开一次主App,Extension就会出现在Xcode的扩展列表里了。
几个要提醒的点
- 团队成员的Mac要允许安装「已识别开发者」的应用:系统设置→隐私与安全性→允许从以下位置下载的App→选「已识别开发者」
- 第一次打开主App时可能会弹出安全提示,去隐私与安全性里点「允许」就能打开
- 确保Extension的
Info.plist里的NSExtensionActivationRule配置正确,不然Xcode可能找不到你的扩展
这样操作下来,你的小伙伴们不用自己拉代码构建,双击安装包就能用你的Xcode Extension啦!
内容的提问来源于stack exchange,提问作者Lifeplus
相关产品推荐
相关产品推荐

