Xcodeのアップデート
Xcodeをアップデートを行うと今まで使ってたプラグインが使えなくなってしまいます。
そんな時のための方法です!
ただし、プラグインの方が新しいXcodeのバージョンに対応しておらず、
正常に動作しない可能性もあるので、注意してください。
手順
1. DVTPlugInCompatibilityUUIDを取得
現在のXcodeのDVTPlugInCompatibilityUUIDという値を取得します。
XcodeではDVTPlugInCompatibilityUUIDの値をみて、
そのプラグインが対応しているプラグインなのかをチェックしているようです。
ターミナルを開いて以下のコマンドで取得できます。
$ defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID
2. プラグインが入っているディレクトリを調べる
人によってプラグインが入っているディレクトリが違うことがあるようです。
[プラグイン名].xcplugin という名前でプラグインがあると思います。
領域 | パス |
---|---|
ユーザー | ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins |
グローバル | /Library/Application\ Support/Developer/Shared/Xcode/Plug-ins |
3. DVTPlugInCompatibilityUUIDを各プラグインのInfo.plistの追記する
[プラグイン名].xcplugin/Contentes/Info.plist を開き、
DVTPlugInCompatibilityUUIDs というキーでArrayがあると思うので、
そこに手順1で調べた DVTPlugInCompatibilityUUID を追記します。
*1つ1つ追記するのがめんどくさいという方へ
プラグインの数が多いので、1つずつ開いて追記するのがめんどくさいという方が多いかと思います。
そこでターミナルを使い、一括で追記する方法を紹介します。
DVTPlugInCompatibilityUUIDは手順1で調べたものへ、
パスは手順2で調べたものへ、適宜置き換えてください。
$ find [パス] -name Info.plist | xargs -IFILE defaults write FILE DVTPlugInCompatibilityUUIDs -array-add [DVTPlugInCompatibilityUUID]
4. Xcodeを再起動する
Xcodeを再起動すると以下の様なポップアップが表示されると思います。
プラグインの数によって多少メッセージは違いますが、内容は
Appleに認証されていないプラグインですが、読み込みますか?
という感じです。
Skip Bundle
を選んでしまうと、せっかく追加したプラグインが無効化され、
以後ポップアップが表示されることもないので、必ず Load Bundles
を選びましょう。
適当に Enter を押すとSkip Bundleが選ばれてしまうので注意が必要です!
*Skip Bundle
を選んでしまった場合
以下のコマンドを実行することで、起動時に再度上記のポップアップを表示させることができます。
最後のXcodeのバージョンは適宜置き換えてください。(6.3.2
、6.4
等)
defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-[Xcodeのバージョン]
DVTPlugInCompatibilityUUID一覧
過去のXcodeのDVTPlugInCompatibilityUUIDです。
バージョン | DVTPlugInCompatibilityUUID |
---|---|
5.1(5B130a) | A2E4D43F-41F4-4FB9-BB94-7177011C9AED |
5.1.1(5B1008) | A2E4D43F-41F4-4FB9-BB94-7177011C9AED |
6.1(6A1052d) | C4A681B0-4A26-480E-93EC-1218098B9AA0 |
6.1.1(6A2008a) | C4A681B0-4A26-480E-93EC-1218098B9AA0 |
6.2(6C131e) | A16FF353-8441-459E-A50C-B071F53F51B7 |
6.3(6D570) | 9F75337B-21B4-4ADC-B558-F9CADF7073A7 |
6.3.1(6D1002) | 9F75337B-21B4-4ADC-B558-F9CADF7073A7 |
6.3.2(6D2105) | E969541F-E6F9-4D25-8158-72DC3545A6C6 |
6.4(6E35b) | 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90 |
7.0(7A220) | 0420B86A-AA43-4792-9ED0-6FE0F2B16A13 |
7.0(7B91b) | 7265231C-39B4-402C-89E1-16167C4CC990 |
β版
バージョン | DVTPlugInCompatibilityUUID |
---|---|
6.3β3(6D543q) | 992275C1-432A-4CF7-B659-D84ED6D42D3F |
6.3β4(6D554n) | 992275C1-432A-4CF7-B659-D84ED6D42D3F |
6.4β(6E7) | 992275C1-432A-4CF7-B659-D84ED6D42D3F |
6.4β2(6E14) | 992275C1-432A-4CF7-B659-D84ED6D42D3F |
6.4β3(6E23) | 8DC44374-2B35-4C57-A6FE-2AD66A36AAD9 |
6.4β4(6E31c) | 5EDAC44F-8E0B-42C9-9BEF-E9C12EEC4949 |
7.0β(7A120f) | AABB7188-E14E-4433-AD3B-5CD791EAD9A3 |
7.0β2(7A121l) | AABB7188-E14E-4433-AD3B-5CD791EAD9A3 |