新たにリリースした ARアプリ「Always with Merlion /Singapore」。Unity AR Foundation を使用しています。
そして前回から紹介していますが App Storeへ申請する際に TrueDepth API が含まれていることに伴う Rejectを受けました。
その解決法の続きです。Package Managerから「ARKit Face Tracking」を削除し、iOSでビルド時に出る以下のエラーの対応からです。
Assets/Scripts/ARKitBlendShapeVisualizer.cs(47,5): error CS0246: The type or namespace name 'ARKitFaceSubsystem' could not be found (are you missing a using directive or an assembly reference?)
【原因】
このエラーが出たいきさつですが、Unity AR Foundationを使用した ARアプリを iOSに申請したところ以下のような形で Rejectを受けました。
During review, we found that your app includes TrueDepth APIs. However, we were not able to locate any features in your app that use TrueDepth APIs.
Assets/Scripts/ARKitBlendShapeVisualizer.cs(47,5): error CS0246: The type or namespace name 'ARKitFaceSubsystem' could not be found (are you missing a using directive or an assembly reference?)
Assets/Scripts/ARKitBlendShapeVisualizer.cs(49,16): error CS0246: The type or namespace name 'ARKitBlendShapeLocation' could not be found (are you missing a using directive or an assembly reference?)
これは、エラーメッセージにある通り AR Foundationのサンプルに含まれていた「ARKitBlendShapeVisualizer.cs」が削除したパッケージを使おうとしているようです。
【解決法】
上記の「ARKitBlendShapeVisualizer.cs」だけが問題のようなので、これを削除してしまいます。
Projectビューの「ARKitBlendShapeVisualizer.cs」上で右クリック「Delete」です。
Undoできませんよと言う警告が出ますので「Delete」をクリック。
これで、ビルドしてもエラーは出なくなりました。
そして、もちろん、このアプリを App Storeに再申請したところ、問題なく Approveされリリースされました。
【おまけ】
本件多くの方が AR Foundationのサンプルを使用した形で同じ境遇に陥っているようです。
サンプル開発者もそれを受けて、以下のような修正と対応法の公開をしているようですが。
この通りにやってもこの画面が出てこない。私は仕方ないので あきらめて直接削除する方法をとりました。
Sponsored Link