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

2021-07-02 17:59:20 字數 1365 閱讀 2795

注:** 

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

3

| xargs -i{} defaults write {} dvtplugincompatibilityuuids -array-add `defaults

read

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

3| xargs -i{} defaults write {} dvtplugincompatibilityuuids -array-add `defaults

read

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 之後把一...

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

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