Kudan AR + Unity + iOS サンプルアプリをiPhoneで動かしてみた

「[Kudan AR SDK + Unity + iOS でサンプル動作まで](https://qiita.com/_ag/items/82a6e67e8f30de842a31)」を参考にKudan ARのサンプルアプリを動かしました。
ただ開発ライセンスキーを使おうとするとビルドでエラーになってしまったので、自分で発行したライセンスキーを使用しました。
ここでは上記記事との差分のみメモ。

# 環境
## 開発環境
* macOS High Sierra
* Unity　2017.3.1f1
* Xcode 9.3.1
* Kudan SDK for Unity Version 1.5.1

## 実機環境
* iPhone SE (iOS 11.3.1)

# 記事との差分
## [開発ライセンスキーの設定](https://qiita.com/_ag/items/82a6e67e8f30de842a31#%E9%96%8B%E7%99%BA%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%82%AD%E3%83%BC%E3%81%AE%E8%A8%AD%E5%AE%9A)
開発ライセンスキーをそのまま使うと、Xcodeでのビルド時に「Signing」で以下のようなエラーになりました。

<details><summary>Failed to create provisioning profile.</summary>
The app ID "eu.kudan.ar" cannot be registered to your development team. Change your bundle identifier to a unique string to try again.</details>

<details><summary>No profiles for 'eu.kudan.ar' were found</summary>Xcode couldn't find any iOS App Development provisioning profiles matching 'eu.kudan.ar'.</details>

Bundle ID に設定した `eu.kudan.ar` が自分のApple IDと紐付いてないから？
（よくわかっていません。誰か教えてください！）

そこで、開発ライセンスキーではなく、自分のBundle IDで発行したライセンスキーでビルドするべく、以下のことを行いました。

### 1. Signingが通るBundle IDを確認   
過去にXcodeで作ったサンプルアプリを引っ張り出してきて、実機で動いてたBundle IDを確認。
（もっとスマートな確認方法ありそうですよね）
`com.${ユーザー名}.${アプリ名}` みたいな感じだったので、
`${アプリ名}`だけ今回動かすアプリの名前（好きなアプリ名）に変更したものを、
今回のBundle IDとしました。

### 2. 1のBundle IDでAPI Keyを発行
[API License Keys | Kudan](https://www.kudan.eu/keys/) にアクセス。
テキストボックスに1のBundle IDを入力し、その下の「送信」ボタンを押下。
「Your new API Key」の下に発行されたライセンスキー（API Key）が表示されます。

![スクリーンショット 2018-05-27 16.13.05.png](https://qiita-image-store.s3.amazonaws.com/0/204051/1dca3463-90b3-8ee6-3c63-5ed1f5c49b4c.png)

発行したライセンスキーはページの下の方にも表示されています。

### 3. Bundle IDと発行したライセンスキーの設定
開発ライセンスキーの設定箇所に、開発ライセンスキーの代わりに1のBundle IDと発行したライセンスキーを設定します。

**自分のBundle ID**
File >> Build Settings >> Player Setting >> Inspector >> Other Settings >> Identification >> Bundle Identifier

**発行したライセンスキー**
Hierarchy >> AngelScene >> Angel Bundle >> Kudan Camera >> Inspector >> Kudan Tracker (Script) >> Editor API Key

## [Xcode プロジェクトの出力](https://qiita.com/_ag/items/82a6e67e8f30de842a31#xcode-%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E5%87%BA%E5%8A%9B)
ここに書いてある「非公式な手順」は行わなくても動かすことが出来ました。

## iPhone に転送できない
iPhoneがロック状態だと言われたり、
<details><summary>Development cannot be enabled while your device is locked</summary>Please unlock your device and reattach.</details>

iPhoneがbusy状態だと言われたり。
<details><summary>xxx's iPhone is busy: Preparing debugger support for xxx’s iPhone</summary>Xcode will continue when xxx’s iPhone is finished.</details>

以下を試しているうちになんとか転送が出来ました。

1. iPhoneを再起動
2. Xcodeを再起動
3. iPhoneを外して 設定　>> 一般 >> リセット >> 位置情報とプライバシーをリセット 再度iPhoneを接続して信頼
4. Window >> Devices and Simulators >>　対象のiPhone名で右クリック >> Unpair Devise
5. ちょっと待ってみる

## デベロッパー を信頼
サンプルアプリのデベロッパー（自分）が転送先iPhoneで信頼されていなくて実行出来なかったので以下の手順で信頼。

**手順**
設定 >> 一般 >> プロファイルとデバイス管理 >> デベロッパAPP >> 自分のID >> "自分のID"を信頼

# 実行結果
以上で iPhone でサンプルアプリを動かすことが出来ました。
めでたし！

**マーカーありの画面**
<img width="320" alt="IMG_8082.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/204051/5e055ed7-6c55-32c8-bdbf-97809e1ebc98.png">

**マーカーなしの画面**
<img width="320" alt="IMG_8083.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/204051/44739c3b-e82d-bc85-d0f7-248e47ebf413.png">