Xcode扩展需先运行宿主App才可用?是否为正常机制?
Xcode扩展需重复运行宿主App才显示的问题解答
这不是预期的工作机制,正常情况下将宿主App放入/Applications文件夹后,Xcode扩展应该能被系统持续识别,无需每次重启Xcode前都运行宿主App。以下是可能的原因和解决方向:
签名与权限问题:
未公证的团队分发版本可能存在签名有效性问题,导致系统未信任扩展。可通过codesign -dv --verbose=4 /Applications/你的宿主App.app命令检查签名详情,确保签名为有效的团队开发者签名且无报错。同时前往「系统偏好设置-隐私与安全性」,确认是否有该App的权限提示并手动允许。扩展未完成系统注册:
Xcode扩展需要通过系统的PlugInKit完成注册。运行pluginkit -vvv -p com.apple.dt.Xcode.extension命令查看已注册的Xcode扩展列表,若你的扩展不在其中,可尝试:- 重新安装宿主App;
- 执行
pluginkit -a /Applications/你的宿主App.app/Contents/PlugIns/你的扩展.appex手动注册扩展。
宿主App代码逻辑问题:
检查宿主App的代码,确认是否在applicationDidFinishLaunching等启动方法中添加了仅启动时触发扩展注册的逻辑。正常情况下扩展注册是一次性完成的,无需依赖宿主App持续运行。系统插件缓存异常:
尝试重置系统插件缓存:执行killall -9 pluginkit和killall -9 Xcode后,重启Mac再打开Xcode,看扩展是否正常显示。
内容的提问来源于stack exchange,提问作者Duck
相关产品推荐
相关产品推荐

