新たにリリースした ARアプリAlways with Merlion /SingaporeUnity AR Foundation を使用しています。

そして前回から紹介していますが App Storeへ申請する際に TrueDepth API が含まれていることに伴う Rejectを受けました。

その解決法の続きです。Package ManagerからARKit Face Trackingを削除し、iOSでビルド時に出る以下のエラーの対応からです。
Unity_Error_104

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.

この対応方法を前回紹介しましたが、Unityの Package Managerから「ARKit Face Tracking」を削除しました。すると以下のようなエラーが出てきました。
Unity_Error_105

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」が削除したパッケージを使おうとしているようです。
Unity_Error_106


【解決法】

上記の「ARKitBlendShapeVisualizer.cs」だけが問題のようなので、これを削除してしまいます。
Projectビューの「ARKitBlendShapeVisualizer.cs」上で右クリック「Delete」です。
Unity_Error_107

Undoできませんよと言う警告が出ますので「Delete」をクリック
Unity_Error_108

これで、ビルドしてもエラーは出なくなりました。
Unity_Error_109

そして、もちろん、このアプリを App Storeに再申請したところ、問題なく Approveされリリースされました。
Unity_Error_110


【おまけ】

本件多くの方が AR Foundationのサンプルを使用した形で同じ境遇に陥っているようです。
サンプル開発者もそれを受けて、以下のような修正と対応法の公開をしているようですが。
Unity_Error_111

この通りにやってもこの画面が出てこない。私は仕方ないので あきらめて直接削除する方法をとりました。


Sponsored Link