46

今日、Xcode 6.3.2 に更新しましたが、Clang コードのフォーマットを実行できません。インストールすらされていないようです。Xcode を更新するたびに、新しいバージョンの Xcode で動作させるために、Alcatraz とほとんどのパッケージを再インストールする必要があります (なぜですか?)。

今回はすべてのパッケージ (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

新しい UUID をプラグインの DVTPlugInCompatibilityUUIDs キーに追加します (xcplugin ファイル --> パッケージの内容を表示 --> Contents/Info.plist

4

9 に答える 9

45

多くの場合、次のことが役立ちます: Alcatrazを再インストールし、Xcode を再起動し、プラグインをアンインストールして再インストールします。Xcode を再起動すると役立つ場合があります。これは私にとってはうまくいきました。

それでもプラグインが表示されない場合、問題はおそらく、新しい Xcode の互換性キーがまだプラグインの互換性キーのリストに含まれていないことです。

可能な解決策:

  • Xcode の新しい UUID を含むプラグインの更新を待ちます
  • 待ちたくない場合 (たとえば、Xcode のベータ版をインストールしていて、プラグインの更新に時間がかかりすぎる場合)、Xcode の新しい UUID をプラグインに手動で追加できます (方法の詳細については、これは以下を参照してください)。もちろん、プラグインが動作するという保証はありません。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で UUID を更新します。find

[上記のコマンドを使用する代わりに、プラグイン パッケージのキーにfind新しい UUID を手動で追加することもできます (ファイル --> パッケージの内容を表示 --> )]DVTPlugInCompatibilityUUIDsxcpluginContents/Info.plist

出典: GitHubおよび「ianmasters」による投稿

于 2015-05-21T07:57:23.777 に答える
19

このスクリプトを使用して、更新後に 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

于 2015-07-01T09:36:27.480 に答える
17

結局のところ、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;
    };
};}

悪いニュースは、Alcatraz を再インストールしても、バンドルをロードするプロンプトが再度表示されないことです。ただし、修正は簡単です。次を実行してホワイトリスト/ブラックリストを削除するだけです。

defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-6.3.2

Xcode を再度開いて、再度プロンプトが表示されるようにします (今度は必ず [バンドルの読み込み] をクリックしてください)。

元の投稿はこちら: Xcode 6.3.2 以降で Alcatraz を再度有効にする

于 2015-06-09T23:22:24.587 に答える
3

これは、Xcode 6.3.2 以降で機能しています。

http://pablin.org/2015/05/27/re-enable-alcatraz-on-xcode-6-dot-3-2-or-newer/

于 2015-06-12T10:55:51.137 に答える
2

プラグイン互換性キーが 6.3.2 / 6.4.b2 で機能しませんでした

このスレッドを見てみましょう: https://github.com/omz/Dash-Plugin-for-Xcode/issues/37 - 問題と解決策があります。

一般的な要約: XCode はプラグインをロードする方法を変更しました (カスタム プラグインが最初にロードされます)。そのため、いくつかのコードを変更する必要があります。

于 2015-05-21T12:20:11.907 に答える
0

このスクリプトは、プラグインの 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
于 2016-09-19T07:35:09.407 に答える
0

curl コマンドを使用してインストールするのではなく、ソースからビルドしてみてください。何らかの理由で、UUIDの変更を含め、curlコマンドで何もしませんでした。そこで、プラグイン フォルダからすべてを削除し、マスターをダウンロードしてビルドを行いました。xCode を再起動し、ダイアログを受け入れます。多分これはあなたを助けるでしょう。

于 2015-06-01T16:37:09.960 に答える