【Unity】ARFoundation4.1.1でビルドエラー

エラーメッセージ

Use of undeclared identifier 'kCLErrorDomain'; did you mean 'SCNErrorDomain'?

エラー発生環境

  • OS:Mac
  • Xcodeバージョン:11.7
  • Unityバージョン:2020.1.13f1, 2020.1.17f1
  • ARFoundationバージョン: 4.1.1, 4.1.3
  • ARKitXRPluginバージョン:4.1.1, 4.1.3

発生状況

Xcodeでビルドする際に発生しました。

下記環境のプラグインバージョンでは発生していないことが確認できています。

  • ARFoundationバージョン: 3.1.10, 4.0.10
  • ARKitXRPluginバージョン:3.1.10, 4.0.10

原因

エラーが発生したファイルは「Packages/com.unity.xr.arkit/Runtime/iOS/UnityARKit.m」の91行目部分で、存在しない識別子が使用されているとのこと。

void* UnityARKit_GetCLErrorDomain() {
    return (__bridge void*)kCLErrorDomain;
}

ひとつ前のバージョン(4.0.10)と比較するとかなり中身が変わっていました。

対処方法

方法1 フレームワークの追加

ほぼ同一環境の別PCでやったときは発生しなかったので、本来はUnityのビルドでkCLErrorDomainの宣言先フレームワークが追加されているはずですが、それが追加されていないっぽい。

kCLErrorDoaminは「CoreLocation」で宣言されているので、このフレームワークを追加すればよさそう。

方法2 プラグインのバージョン変更

「AR Foundation」および「ARKit XR Plugin」のバージョンを「4.0.10」にすると解決します。

方法3 プラグインのコード変更

おすすめはできないですが、エラーメッセージ通りに「kCLErrorDomain」の部分を「SCNErrorDomain」に変更すると解決します。

   

コメントを残す


CAPTCHA