Xcode8使用插件功能记录
2016-12-10 本文已影响0人
哆啦A梦频道
苹果为了避免类似 Xcode Ghost :ghost: 事件的再次发生,Xcode8 禁用了插件机制,而开放了另一种形式: Source Editor extensions ,但是这种形式局限性太大Xcode8增加了安全相关的检查,更细点说它从根源上屏蔽了插件的工作,xcode插件在xcode8上统统不能执行。但是我们可以通过unsign的方式来运行Xcode.
工具:MakeXcodeGr8Again
MakeXcodeGr8Again 只是去除了它的签名,这样使得 Xcode8 也可以继续使用插件了。由于签名被移除,所以它的安全性又重回 Xcode7 时代,也就是还有可能受到类似 Xcode Ghost 的攻击。所以不推荐用 XcodeGr8 来提交应用到 Appstore。
MakeXcodeGr8Again的使用方法很简单,它是mac端app,打开后直接将Xcode8 拖进去,默认情况下MakeXcodeGr8Again会复制一份Xcode来unsign,这样提交到AppStore的时候又可以回到安全模式了,当然也可以选择覆盖原Xcode。等待十多分钟后,应用程序里会出现一个Xcodegr8的app,也就是复制后的unsign过的Xcode。打开就可以愉快的安装插件了。
打开Xcodegr8后第一个安装的就是Alcatraz,一款非常实用的插件管理工具。安装后重启,发现插件并不能用,后来查资料发现,安装Alcatraz后Xcode8的UUID并没有加到Alcatraz中,需要手动加入。
Xcode存放插件的目录有两个:
/Users/Lcm/Library/Application Support/Developer/Shared/Xcode/Plug-ins
/Users/Lcm/Library/Developer/Xcode/Plug-ins
因此要更新两次,执行下面的命令:
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID`
find ~/Library/Developer/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID`
执行后再重启就可以正常使用插件了。