升級Xcode之后以及Xcode8.1之后插件問題

簡述:

Xcode 每次更新插件都會失效,要重裝. Xcode升級后打開Xcode會提示loadbundle或Skipbundle,一般我們選擇loadbudle,Xcode插件依然有效,選擇Skipbundle,Xcode插件會失效。

分析:

升級或重裝后原本的插件沒有被刪掉了,其實還在目錄
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins下面, 之所以插件失效,是因為每個插件只供特定UUID的Xcode使用,更新Xcode后UUID改變,于是導(dǎo)致不能正常使用。

解決:

查看當(dāng)前Xcode的UUID, 添加到插件特定的UUID, 重新打開Xcode選擇loadbundle即可

查看當(dāng)前Xcode的UUID:

方法1: 選擇Xcode 右鍵 -> 選項 -> finder中顯示 -> 右鍵顯示包內(nèi)容 -> contents -> info.plist -> DVTPlugInCompatibilityUUID 對應(yīng)的就是UUID


屏幕快照 2016-12-11 下午2.24.50.png

方法2: 在終端執(zhí)行defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID,會得到UUID 碼
PS:如果你的Xcode不是你自己安裝的, 別人那里拷貝的, 那么執(zhí)行命令不會得到UUID, 還是用第一種方案吧

添加到插件中:

方法1:找到目錄~/Library/Application Support/Developer/Shared/Xcode/Plug-ins(cmd+shift+g)輸入路徑進(jìn)去, 找到插件, 右鍵顯示寶內(nèi)容, info.plist文件中有一個

屏幕快照 2016-12-11 下午2.30.22.png

在DVTPlugInCompatibilityUUIDs里邊點擊加號, 對應(yīng)右邊添加進(jìn)去保存
即可
方法2:終端執(zhí)行 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 DVTPlugInCompatibilityUUID 即可, 但是不適用上面通過終端獲取UUID不成功的
重啟Xcode即可

Xcode8.1之后即使這樣做了也不能使用插件, 本人是這樣, 大家的如何我就不清楚了, 解決方案如下:

1.打開鑰匙串訪問, 創(chuàng)建證書


屏幕快照 2016-12-11 下午2.40.30.png

名稱寫:XcodeSigner, 身份類型:自簽名根證書, 證書類型: 代碼簽名
2.打開終端執(zhí)行

sudo codesign -f -s XcodeSigner /Applications/Xcode.app

這是shell命令, -fs也可以, 最好是復(fù)制, 這里需要等待......
執(zhí)行完之后, 即可下載插件使用了
這里特推薦插件之母, Alcatraz
安裝 1.github地址:https://github.com/alcatraz/Alcatraz
在命令行中輸入如下指令:

curl -fsSL https://raw.github.com/alcatraz/Alcatraz/master/Scripts/install.sh | sh

卸載

命令行輸入:rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin

特別提醒安裝時關(guān)掉Xcode
后部分參考文章:
http://blog.csdn.net/sharpyl/article/details/50682139

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容