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

簡述:

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

分析:

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

解決:

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

查看當前Xcode的UUID:

方法1: 選擇Xcode 右鍵 -> 選項 -> finder中顯示 -> 右鍵顯示包內容 -> contents -> info.plist -> DVTPlugInCompatibilityUUID 對應的就是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)輸入路徑進去, 找到插件, 右鍵顯示寶內容, info.plist文件中有一個

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

在DVTPlugInCompatibilityUUIDs里邊點擊加號, 對應右邊添加進去保存
即可
方法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也可以, 最好是復制, 這里需要等待......
執(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

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

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容