UKey's Labo

XVim2をXcode10で使用する

動作環境

環境 バージョン
macOS Mojave 10.14
Xcode 10.0

経緯

Xcodeを9.4.1から10.0にアップデート後、既存プロジェクトが動かなくなったので、9.4.1に戻したりしてたら、再度10.0にアップデートした際に、XVim2が全く読み込まれなくなったので、格闘してみました。

デベロッパディレクトリの確認

僕の場合は、これを実行することで何故XVim2が読み込まれなくなったのか判明しました。

# 実行
xcode-select -p
/Applications/Xcode.app/Contents/Developer

/Applications

と、xcodeが2つインストールされていることが原因で、デベロッパディレクトリは、当初9.4.1のほうを見ていたようです。

デベロッパディレクトリを変更

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/

変更したいXcode.app/Contents/Developerを指定します。

ちなみにsudoで実行しないと、

xcode-select: error: --switch must be run as root (e.g. `sudo xcode-select --switch <xcode_folder_path>`).

root権限でやれと言われます。

変更後は、もう一度デベロッパディレクトリを確認

xcode-select -p

XVim2のcloneとビルド

デベロッパディレクトリを変更したので、念の為もう一度XVim2を再インストールします。 大した手間でもないので。

既にXVim2をインストールしている場合は、一旦削除する

# インストールディレクトリに移動
cd ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/

# XVim2があるか確認
ls -l

# あれば削除する
rm -rf ./Xvim2.xcplugin

コンソールを起動し、任意のディレクトリにてXVim2をクローンする

git clone git://github.com/XVimProject/XVim2 XVim2

cloneしたXVim2のディレクトリに移動し、make実行

cd XVim2
make

インストールの確認

ls -l ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/

XVim2.xcpluginがない場合

※特殊ケースかもしれません 僕の場合、何故か~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/配下に XVim2.xcpluginがありませんでした。

gitからcloneしてきたディレクトリ配下にありました。

XVim2/build/Release

なので、上記に生成されたXVim2.xcpluginファイルを所定の位置へコピーしました。

cp XVim2/build/Release/XVim2.xcplugin ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/

上記、XVim2/build/Releaseはご自分の環境に置き換えてご確認ください。

コピー後、所定の場所にXVim2.xcpluginがあるか、再度確認

ls -l ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/

コード署名

SIGNING_Xcode こちらを参照し、コード署名を作成する方法もありますが、update_xcode_pluginsという便利なものがあるので、そちらを利用します。update_xcode_pluginsのインストール方法は本家githubを参照されてください。

update_xcode_pluginsをインストールしたら、実行する。

update_xcode_plugins

こちらも実行しておく

update_xcode_plugins --unsign

Xcodeを起動する

起動前に、Load Bundlesが確実に実行されるように、以下を実行しておきます。

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

10.0部分はご自身が使用されているXcodeのバージョンとしてください。

Xcode起動時に、以下が出力されるので、Load Bundlesを選択

ここで間違えてSkip Bundlesを選択してしまった場合は、一度Xcodeを終了し、 再度以下を実行して、Xcodeを起動します。

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

メニュー > EditXVimが表示されていれば成功です。