美文网首页I love iOS
解决更新Xcode导致插件失效的问题

解决更新Xcode导致插件失效的问题

作者: Medivh | 来源:发表于2016-01-18 21:31 被阅读67次

       每次更新Xcode都会让原来插件无效,这样对开发来说非常的不方便。首先导致插件失效的原因就是UUID,Xcode本身就有一个UUID,每次更新都会改变这个UUID,每个插件都有自己的info.plist文件在里面有一个DVTPlugInCompatibilityUUID,在里面包含了Xcode的UUID,就好像证书一样,因为更新替换了原来Xcode的UUID,然后证书失效,导致没法使用。

       通过查询网上各种方法,自己整理了一个完整的方法


       解决方法:

    1.在终端输入:

    defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID



    终端图片
    如图所示,F41BXXXXX那个就是Xcode的当前的UUID


    2.在终端上输入如下代码:

    find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add 你终端获得的当前UUID

    替换那段中文"你终端获得的当前的UUID"为你上面获得的当前的UUID,然后敲击回车,执行这段代码即可。


    3.退出Xcode重启Xcode,重启 Xcode 之后会提示"Load bundle"、"Skip Bundle",这里必须选择"Load bundle",不然插件无法使用!这里必须选择"Load bundle",不然插件无法使用!这里必须选择"Load bundle",不然插件无法使用!


    原理:

      在打开fidder情况下,快捷键shift+g,然后输入~/Library/Application Support/Developer/Shared/Xcode/Plug-ins,可以快速进入插件锁在目录,里面都是你安装的各种插件,可以随便选择一个,然后右键选择显示包内容,找到info.plist文件,打开它;在DVTPlugInCompatibilityUUID这个分支里面都是你的插件的UUID,每次更新Xcode的时候,uuid改变了,这边却没有自动添加上去。你也可以手动添加一个item,写上当前xcode的uuid,如下图:



    而上面步骤3给出的代码的意思就是是查找到~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins目录下所有info.plist的文件并且在那文件的 DVTPlugInCompatibilityUUIDs下添加UUID。


    相关文章

      网友评论

        本文标题:解决更新Xcode导致插件失效的问题

        本文链接:https://www.haomeiwen.com/subject/zxyfkttx.html