空間アンカー API と Web サイトで提供されている例を使用して、独自の iOS プロジェクトを実装しようとしています。例に非常に厳密に従っていますが、アンカーを保存しようとすると、何らかの理由でアプリがクラッシュします。Xcode に「ゲームオブジェクトに AR アンカーが見つかりませんでした」と表示された後、InvalidOperationException 例外が発生します。
既にデバッグを試みたところ、SessionGetArAnchorPointerForId が InPtr.Zero を返すことがわかりました。これは、指定されたゲームオブジェクトで AR アンカーが欠落していると解釈されます。ゲームオブジェクトのネイティブ アンカー ポインターを取得しようとすると、エラーが発生します。
public async void SaveAnchorInCloud(GameObject localAnchor)
{
localAnchor.AddARAnchor();//local Anchor is just a Cube instance
Debug.Log("Added AR Anchor to local Anchor");
CloudSpatialAnchor cloudAnchor = new CloudSpatialAnchor();
cloudAnchor.LocalAnchor = localAnchor.GetNativeAnchorPointer(); //error occures here
await this.cloudSession.CreateAnchorAsync(cloudAnchor);
Debug.Log("Cloud Anchor erstellt: " + cloudAnchor.Identifier);
}
既に空間アンカーのサンプル プロジェクトと比較しましたが、クラウド アンカーの保存方法に違いはないようです。