今日、Xcode 6.3.2にアップデートしましたが、Clangコードのフォーマットを実行できません。インストールされていないようです。 Xcodeを更新するたびに、Alcatrazとほとんどのパッケージを再インストールして(なぜですか?)Xcodeの新しいバージョンで動作するようにしなければなりません。
今回は、すべてのパッケージ(VVDocumenter、カラーピッカーなど)を再インストールしましたが、ClangFormatは機能しません。「編集」メニューにも表示されません。理由は何ですか?
ところで。私はXcodeとMac自体を再起動しようとしました:)
編集(ソリューション):
Xcode 6.3.xのソリューション(これが機能しない場合は、以下の一般的なソリューションを使用してください。)
ターミナルで、次を入力します。
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add 9F75337B-21B4-4ADC-B558-F9CADF7073A7
一般的な解決策
ターミナルを介して新しいUUIDを取得します。
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
プラグインのDVTPlugInCompatibilityUUIDsキーに新しいUUIDを追加します(xcpluginファイル->パッケージの内容を表示-> Contents/Info.plist
多くの場合、以下が役立ちます。 Alcatrazを再インストール 、Xcodeを再起動し、プラグインを削除して再インストールします。 Xcodeを再起動すると役立つ場合があります。これは私のために働いた。
それでもプラグインが表示されない場合、問題はおそらく、新しいXcodeの互換性キーがプラグインの互換性キーのリストにまだ含まれていないことです。
可能な解決策:
新しいUUIDをプラグインに追加するには:
Xcode 6.3.2を使用する場合、ターミナルで次を入力します。
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add E969541F-E6F9-4D25-8158-72DC3545A6C6
Xcodeの他のバージョンについては、ターミナルを介してXcodeのUUIDを取得します:defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
そして、それを使用して上記のfind
コマンドのUUIDを更新します。
[上記のfind
コマンドを使用する代わりに、プラグインパッケージ(DVTPlugInCompatibilityUUIDs
ファイル->パッケージの内容を表示]のxcplugin
キーに新しいUUIDを手動で追加することもできます。 -> Contents/Info.plist
)]
ソース: GitHub および「 ianmasters 」による投稿
Xcode 6.4をインストールした後、「Skip Bundles」を選択しましたが、Alcatrazが見つかりません。
最初にUUIDの追加を試みますが、アルカトラズも機能しません。
それからこれを試してください:
defaults read com.Apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.4
以下のiTermショーで:
allowed = {
};
skipped = {
"com.mneorr.Alcatraz" = {
version = 1;
};
};
ただし、このファイルは編集できないため、削除します。
defaults delete com.Apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.4
次に、Alcatrazを再インストールし、Xcodeが「Load Bundles」を再び表示します。今回は間違っていないので、「Load Bundles」を選択します。
このスクリプトを使用して、更新後にXcodeのプラグインを更新できます(Xcode 7.3で正常に動作します)。
#!/bin/bash
xcodeUUID=`defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID`
echo $xcodeUUID
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add $xcodeUUID
または私の要点からコピー https://Gist.github.com/MaciejGad/86302b6b8bdb1ee25115
Xcodeには、有効にしたバンドルのホワイトリスト/ブラックリストがあります。以下を実行することで、ターミナルから確認できます。
$ defaults read com.Apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.3.2
{
allowed = {
};
skipped = {
"com.mneorr.Alcatraz" = {
version = 1;
};
"com.onevcat.VVDocumenter-Xcode" = {
version = 1;
};
"com.travisjeffery.ClangFormat" = {
version = 1;
};
};}
悪いニュースは、アルカトラズを再インストールしても、バンドルをロードするプロンプトが再び表示されないことです。修正は簡単ですが、次を実行してホワイトリスト/ブラックリストを削除するだけです:
defaults delete com.Apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.3.2
xcodeを再度開き、プロンプトが再度表示されるようにします(今回は、必ず[Load Bundles]をクリックしてください)。
ターミナルでXcodeの「すべてのバージョン」の一般的なコードを使用し、Xcodeを再起動すると、すべてが正しくなります。
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.plist DVTPlugInCompatibilityUUID
コードが他の回答のコードと組み合わされていることに注意してください。
Xcodeのバージョンが6.3.2の場合、上記のコードは
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add E969541F-E6F9-4D25-8158-72DC3545A6C6
Xcodeが6.3または6.3.1の場合、次と等しい:
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add 9F75337B-21B4-4ADC-B558-F9CADF7073A7
違いは最後のコードであり、Xcodeのuuidであることがわかります。Xcodeの新しいuuidを取得するには、これを使用します。
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
そのコードの最後で変更します。
それでも動作しない場合は、 Alcatraz のアラートで「ロードバンドル」を選択していない可能性があります。
「スキップバンドル」を選択した場合、これを行うことができます
EDIT:私は試しましたが、もう一度ターミナルで一般的なコードを使用するだけで、アラートが再び表示され、それを選択して、大丈夫です。
Xcode 6.3.2以降、これはうまくいきました。
http://pablin.org/2015/05/27/re-enable-alcatraz-on-xcode-6-dot-3-2-or-newer/
プラグイン互換性キーが6.3.2/6.4.b2で機能しませんでした
このスレッドを見てみましょう: https://github.com/omz/Dash-Plugin-for-Xcode/issues/37 -問題と解決策があります。
一般的な概要:XCodeはプラグインのロード方法を変更しました(カスタムプラグインが最初にロードされます)ので、コードを変更する必要があります。
Curlコマンドを使用してインストールするのではなく、ソースからビルドしてみてください!何らかの理由で、UUIDの変更を含め、curlコマンドで何もしませんでした。そのため、プラグインフォルダーからすべてを削除し、マスターをダウンロードしてビルドを行いました。 xCodeを再起動し、ダイアログを受け入れます。たぶんこれはあなたを助けるでしょう。
このスクリプトは、プラグインのUDIDを更新し、バンドルをロードするようプロンプトが表示されるようにします。
#!/bin/bash
xcodeUUID=`defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID`
echo $xcodeUUID
xcodeVersion=`defaults read /Applications/Xcode.app/Contents/Info.plist CFBundleShortVersionString`
echo $xcodeVersion
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add $xcodeUUID
defaults delete com.Apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-$xcodeVersion