Xcode公升級後外掛程式失效的原理與修復辦法

2022-09-02 12:42:12 字數 1160 閱讀 4399

xcode 的外掛程式大大豐富了 xcode 的功能,而且有了 alcatraz ,外掛程式的管理也非常容易,像我這種 vim 黨完全離不開 xvim。但是有個非常惱人的問題:一旦公升級 xcode ,外掛程式就失效!

之前 xcode 公升級到6.2的時候遇到過外掛程式失效的問題,google 之後把一段很長命令複製到 terminal 後執行一下即可,當時一看解決了,頓時覺得滿足感爆棚,自己可以拯救地球了~就沒有再深入,結果公升級到6.3時又遇到了。「同樣的招式對聖鬥士是不能使用 第二次的!」,同樣的坑對有節操的程式設計師是不能掉進去第二次的!因此這一次一定要搞清楚為什麼會這樣,以後再次遇到了如何解決。

解決辦法非常簡單:將當前版本的 uuid 加到 dvtplugincompatibilityuuids 中即可。但是外掛程式比較多(1個及以上)的情況下,乙個個的開啟修改非常無聊跟低效,作為「懶惰」的程式設計師,這時候就要用上命令列,讓重複勞動自動化。思路 為將命令分為兩部分:

通過find命令在外掛程式目錄下找到所有外掛程式的 info.plist 檔案。

通過xargs命令對上一步的搜尋結果進行「for 迴圈」(就這樣理解吧),針對每乙個 info.plist 檔案,利用defaults write命令將當前版本的 uuid 加到 dvtplugincompatibilityuuids 中。

此時問題來了,挖掘機技術。。。不對,是如何獲取當前版本 xcode 的 uuid 呢?首先關掉 xcode,開啟 terminal,輸入tail -f /var/log/system.log,再次開啟 xcode,就能看到如下 log 資訊:

可以看到,log 資訊表明 xcode 載入外掛程式失敗的原因,並且能夠看到當前版本(6.3)xcode 的 uuid 為9f75337b-21b4-4adc-b558-f9cadf7073a7。經過 @kyrrr 的提醒,有一種更好的方式來獲取當前版本 xcode 的 uuid:通過defaults read命令從 xcode 的 info.plist 讀取 dvtplugincompatibilityuuid。

最終的命令為:

1在 terminal 中執行上述命令就解決了外掛程式失效的問題,在外掛程式 info.plist 的 dvtplugincompatibilityuuids 中也能看到新增的 uuid 了。

Xcode 公升級後外掛程式失效問題

簡單有效的就是在終端輸入以下 參考文章 name info.plist maxdepth 3 xargs i defaults write dvtplugincompatibilityuuids array add 不過有時候會出現如下的狀況,xcode無法開啟了。囧,重灌了也不行。對於這樣的情況,...

XCode公升級後外掛程式失效的原理與修復辦法

注 xcode的外掛程式大大豐富了xcode的功能,而且有了alcatraz,外掛程式的管理也非常容易,像我這種vim黨完全離不開xvim。但是有個非常惱人的問題 一旦公升級xcode,外掛程式就失效!之前xcode公升級到6.2的時候遇到過外掛程式失效的問題,google之後把一段很長命令複製到t...

Xcode公升級後外掛程式失效的原理與修復辦法

xcode 的外掛程式大大豐富了 xcode 的功能,而且有了 alcatraz 外掛程式的管理也非常容易,像我這種 vim 黨完全離不開 xvim。但是有個非常惱人的問題 一旦公升級 xcode 外掛程式就失效!之前 xcode 公升級到6.2的時候遇到過外掛程式失效的問題,google 之後把一...