Xcode升級導致插件失效的解決辦法

作為iOS界的攻城師,每一次水果發(fā)布新的Xcode開發(fā)版本時,我們都會跟進,然而那些好用的Xcode插件都會莫名的失靈。。。對此我各種百度,在這里,我將跟大家分享我是如何解決這些問題的。當然,我的方案是建立在前人的基礎上完善的

方案一


  1. 首先查看 Xcode 的 UUID,在終端輸入
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

如圖:


DVTPlugInCompatibilityUUID
  1. 找到 Xcode 插件所在的目錄
    回到Mac桌面,快捷鍵 cmd + shift + g 將下面的粘貼進去,跳到插件目錄
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
  1. 選擇插件, 例如Alcatraz, 右鍵顯示包內(nèi)容, 打開info.plist
    如圖:
    Alcatraz插件

    在plist文件中找到DVTPlugInCompatibilityUUIDs, 點擊加號, 添加一個item, 對應的value值為輸入剛才終端中獲得的UUID,cmd + s保存
    如圖:
    添加UUID
  2. 重啟Xcode,彈出的對話框中選擇Load Bundle
    如圖:
    選擇`Load Bundle`

    OK,完成上面的操作后,插件就可以正常使用了

如果手賤誤點Skip Bundle,找到該插件安裝路徑下,繼續(xù)打開在 info.plist 刪除與命令端里面同樣的UUID號,一般都是會在最后一行,自己添加的那一行也要刪除掉
保存之后重啟Xcode
再次重復上面的步奏。在重啟就再次出現(xiàn)了插件提示,注意這次自己的手喔~

高效快捷方法:
全在終端執(zhí)行,依次輸入如下命令

//獲取DVTPlugInCompatibilityUUID字段
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID

//將XXXX替換成剛剛獲取的DVTPlugInCompatibilityUUID
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add XXX

備注: XXX 替換為自己獲得的 UUID 比如:F41BD31E-2683-44B8-AE7F-5F09E919790E
如圖:

高效快捷不揍

最后記得重啟 xcode, 然后選擇 Load Bundle 加載就 OK 了.

方案二


  1. 關閉Xcode.
  2. 打開終端,輸入:tail -f /var/log/system.log
  3. 別關閉終端,此時重新打開Xcode,就會看到終端不斷的打印出log內(nèi)容
    [MT] PluginLoading: Required plug-in compatibility UUID9F75337B-21B4-4ADC-B558-F9CADF7073A7 for plug-in at path‘~/Library/ApplicationSupport/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin’ notpresent in DVTPlugInCompatibilityUUIDs
    從中就可以發(fā)現(xiàn),你運行的Xcode的UUID是多少 *************
  4. 接下來的步奏同方案一從步驟2開始往下進行即可

以上均經(jīng)過驗證,按照步驟走你的插件就可以用了喔

如有不明白的地方歡迎留言哈,盡窩所能提供幫助!

感謝您抽出時間閱讀這篇文章!

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容