iOS
Swift
ARKit
Xcode9beta

XCode9 beta5でARKitのサンプルを動かす

とりあえずサンプルを動かすまでの記録。
Xcode9 beta5環境でのエラー対処法です。

XCode9 beta5でARKitを試す

Xcode9のbetaをインストールして立ち上げると、新規プロジェクトを作る際に
「Augmented Reality App」が選択できるようになっている。
デフォルトのままBuildすると、飛行機が空間上に浮かぶARアプリを見る事ができる。

しかし、実機で動かそうとするとThread 1: signal SIGABRTのエラーと
下記のエラーメッセージが表示される。

dyld: Symbol not found: _OBJC_CLASS_$_ARWorldTrackingConfiguration
  Referenced from: /var/containers/Bundle/Application/AE0CBEAE-0D10-4AED-8885-AE0B274749AA/TestAR.app/TestAR
  Expected in: /System/Library/Frameworks/ARKit.framework/ARKit
 in /var/containers/Bundle/Application/AE0CBEAE-0D10-4AED-8885-AE0B274749AA/TestAR.app/TestAR
(lldb) 

フレームワークの追加

「Linked Frameworks and Libraries」にてARKit.frameworkを追加する。
その際、Requiredのままだと何故かエラーとなるため、Optionalに変更する。
ビルドすると、まだエラーが出る。

Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)

解決策

ViewController.swift
        // Create a session configuration
        //let configuration = ARWorldTrackingConfiguration()
        let configuration = ARWorldTrackingSessionConfiguration()

ViewController.swiftの上記1行を変更してやればOK
ARWorldTrackingSessionConfigurationはiOS11でdeprecated予定との事ですが
ひとまずこの対処で動きます。