2021/9/23 追記
Xcode13から、Vim ModeがXcode自体に組み込まれました。XVim2も一応の役割を終えたかもしれません。
♪♪♪
大体はUUIDを追加するだけで動くようになります。もちろんUUIDだけの問題ではないケースもあるので、まずは「UUIDを追加すればいけたよ」という情報を得てから行った方がいいです。
普段からGitHubのリポジトリをwatchしておくと吉。
まぁ、XVimの場合、すぐに修正されるので、Xcodeのバージョンアップを急がないで少し待っていればいいのですが、最新のiOSのテストができないということもあります。そんなときのために、今回はUUIDの追加方法について書いておくことにします。
1. まず、普通にXcodeをバージョンアップします。
時間かかるね。 |
2. XVimをインストールしたときと同じように、Xcodeを自作の証明書で署名します。
※詳細は「Vimのようなもの」の1.〜3.を参照してください。
3. 新しいXcodeのUUIDを調べます。
$ defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
B395D63E-9166-4CD6-9287-6889D507AD6A
$
4. プラグインは~/Library/Application Support/Developer/Shared/Xcode/Plug-insにあります。
$ cd Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/
$ ls -l
total 8
drwx------ 3 hoge staff 102 3 29 2016 UncrustifyPlugin.xcplugin
lrwxr-xr-x 1 hoge staff 74 2 26 2016 Unity4XC.xcplugin -> /Applications/Unity/PlaybackEngines/iOSSupport/Tools/OSX/Unity4XC.xcplugin
drwxr-xr-x 3 hoge staff 102 11 8 13:27 XVim2.xcplugin ←これがXVim2
$
XVim2.xcpluginが、XVim(正確にはXVim2)です。5. XVim2.xcpluginの中の、Contentsの下にInfo.plistがあるので、適当なエディタで開きます。
$ cd XVim2.xcplugin/Contents/
$ ls -l
total 8
-rw-r--r-- 1 hoge staff 1815 12 24 01:03 Info.plist ←これを編集する
drwxr-xr-x 3 hoge staff 102 11 8 13:27 MacOS
drwxr-xr-x 3 hoge staff 102 11 8 13:27 Resources
drwxr-xr-x 3 hoge staff 102 11 8 13:27 _CodeSignature
$
$ vi Info.plist
XVimを使うような人は、そのままvimで開けばいいですね。6. DVTPlugInCompatibilityUUIDsを探して、3.で調べたUUIDを追加して保存します。
<dict>
<key>AllowedLoaders</key>
<array>
<string>com.apple.dt.Xcode</string>
</array>
<key>BuildMachineOSBuild</key>
<string>17B48</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
---- 中略 ----
<key>DTXcodeBuild</key>
<string>9B55</string>
<key>DVTPlugInCompatibilityUUIDs</key>
<array>
<string>CA351AD8-3176-41CB-875C-42A05C7CDEC7</string>
<string>E0A62D1F-3C18-4D74-BFE5-A4167D643966</string>
<string>DF11C142-1584-4A99-87AC-1925D5F5652A</string>
<string>C3998872-68CC-42C2-847C-B44D96AB2691</string>
<string>B395D63E-9166-4CD6-9287-6889D507AD6A</string> ←これを追加する
</array>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2017 Shuichiro Suzuki. All rights reserved.</string>
---- 中略 ----
<key>XCPluginHasUI</key>
<false/>
</dict>
</plist>
7. あとは、Xcodeを開き直すときに[Load Bundle]を選べばOKです。
いつものやつ。 |
簡単ですね。これでうっかりアップデートを、ポチっとしちゃったときでも安心です。