Adobe Illustrator CC 2017 SDKに同梱されているサンプルプラグインをビルドして読み込ませてみた


## 概要
唐突に「Adobe Illustrator CC 2017 SDKでプラグインの勉強をしてみよう！」と思い立った。
そこで、SDKに同梱されているサンプルプラグインを使って、どういうことができて、どういう風に実装すればよいのか、調査することにした。
この記事では、手始めとしてサンプルプラグインをビルドして読み込ませるところまでを紹介する。

## 私の開発環境
* macOS 10.13.4
* Xcode 9.3

## Adobe Illustrator CC 2017 SDKが推奨する環境
`getting-started-guide.pdf`より、一部抜粋。

* Mac OS 10.10 or higher
* Xcode 7.3

## Adobe Illustrator CC 2017 SDKを入手する
### SDKをダウンロードする
1. 公式サイトにアクセスする
公式サイト：[Adobe Illustrator SDKs | Adobe Developer Connection](https://www.adobe.com/devnet/illustrator/sdk.html)

2. サイト内の「Adobe Illustrator CC 2017 SDK」をクリックすると、ダウンロードページに遷移するので、そこからダウンロードする

注意点として、FirefoxでRegionが日本語のままダウンロードページにアクセスすると、日本語版のTOPページにリダイレクトされるという罠がある。
対策としては、サイト下部の「Change region」をクリックして、regionを「United States」に変更してから、ダウンロードページにアクセスすると良い。
もしくは、Chromeでアクセスしても良い。
おそらく、言語設定が日本語だと日本語ページにリダイレクトする仕様で、リダイレクト先のページが存在しないため、TOPページにリダイレクトされてしまうということなのだろう。
さすがAdodeである。

### SDKをHDDにコピーする
1. ダウンロードしたdmgをダブルクリックする
2. ウィンドウが開くので、ウィンドウ内のディレクトリ「Adobe Illustrator CC 2017 SDK」をコピーする
3. HDD内の任意のディレクトリにペーストする

## Xcodeを入手する
Xcodeの入手方法はいくつかある。

### App Storeから最新バージョンのXcodeをダウンロードする
一番簡単なのはApp Storeから最新のXcodeをダウンロードする方法。
App Storeアプリケーションを起動して、「Xcode」で検索すれば最新バージョンのXcodeが表示されるはずなので、そのページからダウンロードする。
ただし、最新バージョンのXcodeはmacOSが10.13.2以上でないと起動（インストールができないかも）ができない。
古いOSを使用している場合は、AppleのDeveloperサイトから過去バージョンのXcodeをダウンロードする必要がある。

### AppleのDeveloperサイトから過去バージョンXcodeをダウンロードする
下記に過去バージョンをダウンロードする手順を記載する。

1. [Apple Developer](https://developer.apple.com/download/)にアクセス
2. Apple IDを入力してログインする
3. サイト下部の「See more downloads」をクリック
4. 推奨環境に合致するバージョンのXcodeをダウンロードする

### Xcodeのインストール
#### App Storeから入手
ダウンロードが完了するとApplicationsディレクトリにXcodeが格納されているので、Xcodeを起動する。
その際、Command Line Toolsのインストールの許可を求められると思うので、許可してインストールする。

#### AppleのDeveloperサイトから入手
ダウンロードした`Xcode(バージョン表記).xip`をダブルクリック。
解凍が完了すると`Xcode.app`がディレクトリ内にできているので、Applicationsディレクトリに移動させる。
Xcodeを起動すると、Command Line Toolsのインストールの許可を求められると思うので、許可してインストールする。

## サンプルプラグインをビルドする
1. Xcodeで`(コピーしたSDKを内包するディレクトリ)/Adobe Illustrator CC 2017 SDK/samplecode/MasterProjects/BuildAll.xcodeproj`を開く。
2. Xcodeのメニューから`Product＞Build`を選択（ショートカットはcmd+B）してビルドを実行
3. ビルドが完了すると`(コピーしたSDKを内包するディレクトリ)/Adobe Illustrator CC 2017 SDK/samplecode/`に`output`ディレクトリが生成されている
4. `(コピーしたSDKを内包するディレクトリ)/AdobeExtension/Adobe Illustrator CC 2017 SDK/samplecode/output/mac/release`ディレクトリに、コンパイルされたプラグインが生成されている（拡張子が.aipのファイルがプラグイン）

## ビルドしたプラグインをIllustratorに読み込む
1. Illustrratorを起動する
2. 環境設定画面を開き、サイドパネルから「プラグイン・仮想記憶ディスク」を選択する
3. 「追加プラグインフォルダー」のチェックボックスにチェックを入れて、「選択...」ボタンをクリックする
4. 選択画面が表示されるので、`(コピーしたSDKを内包するディレクトリ)/AdobeExtension/Adobe Illustrator CC 2017 SDK/samplecode/output/mac/release`ディレクトリを選択する
5. プラグインを読み込むために再起動を促されるので、Illustratorを再起動する
6. Illustratorのメニューの「ウィンドウ」に「SDK」が表示されていれば、プラグインの読み込みに成功している

## プラグインのUIをIllustratorに読み込む
### Adobe Extension SDK（CEP Extension）を使えるようにする
サンプルプラグインの中にはUIをExtensionで作成しているものがいくつかある。
これらのUIを読み込ませるためには、playerDebugModeの設定を行う必要がある。
参考：[CEP 6 HTML Extension Cookbook for CC 2015](https://github.com/Adobe-CEP/CEP-Resources/wiki/CEP-6-HTML-Extension-Cookbook-for-CC-2015#debugging-unsigned-extensions)

```bash:コマンド
defaults write com.adobe.CSXS.7 PlayerDebugMode 1
```
### CEP Extensionsを読み込む
1. `(コピーしたSDKを内包するディレクトリ)/Adobe Illustrator CC 2017 SDK/samplecode/`ディレクトリを開く
2. `〜UI`という名称のディレクトリを、`/Applications/Adobe Illustrator CC 2017/CEP/extensions`ディレクトリにコピーする
3. Illustratorを再起動する
4. Illustratorのメニューから`ウィンドウ＞SDK＞Marked Objects＞Marked Objects`を選択する
5. パネルが表示されたらプラグイン用のUIの読み込みに成功している

## まとめ
SDKの推奨する環境が昔のものだったので最新環境でビルドできるのか不安だったが、なんの問題もなくビルドでき、Illustratorで使用できることがわかった。
実装についてはまだ勉強を始めたところなので、別の機会に。