質問: UnityとARKitでios向けのARを作成したいのですが、ビルドしてからの実機テストが出来ません それぞれのバージョンは macOS:HighSierra 10.13.6 ARKit:Unity用の2.0 Unity:2019.4.4f1 XCode:10.1 iPhoneSE(昔の) です まずはARKitに最初から入っているUnityARKitRelocalizeを file→BuildSettingからシーンを追加し、XCodeのバージョンを10.1にしてBuildをすると一応プロジェクトのビルドは成功しました ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/0b83cd54f74c0ab2ca3e81b7153cc29b.png) そのプロジェクトをXCodeで開き、チーム名などを登録し、接続したiPhoneを選択し、実行をおしたところ、 実機での再生が失敗し、その際には画像のような状態になります ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/47233de0c34de46968c78f9e51ce3b8c.png) そうした場合に、Buildではなく、Build&Runで実行すると良いという記事をみたので、試したところ、 今度はUnity上に以下4つのエラーが出ます Exception: Calling TargetGuidByName with name='Unity-iPhone' is deprecated. There are two targets now, call GetUnityMainTargetGuid() - for app or GetUnityFrameworkTargetGuid() - for source/plugins to get Guid instead. Error building Player: Exception: Calling TargetGuidByName with name='Unity-iPhone' is deprecated. There are two targets now, call GetUnityMainTargetGuid() - for app or GetUnityFrameworkTargetGuid() - for source/plugins to get Guid instead. Build completed with a result of 'Failed' in 104 seconds (103503 ms) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:197) UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002af] in /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:194 at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:95 UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:197) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/36be837d1ed107d9b70685f5aba15e15.png) こちらに対応が書いてあるのですが、該当の箇所が見つかりませんでした まずはiPhoneの実機上でサンプルを動かしたいです ご教授よろしくお願いします
回答: "ARKit" と一言で言ってしまっていますが、Unity-ARKit-Plugin を使っているということですよね? (正式名称を書いたり、どこから手に入れてきたものなのかリンクを示しましょう) エラーメッセージや参考として示しているリンク先のブログが言っていることは、「TargetGuidByName 関数のパラメータに "Unity-iPhone" という文字列を指定するやり方はもう受け付けないので、GetUnityMainTargetGuid() という関数を呼ぶように書き変えましょう」です。 ということで Visual Studio 等のコードエディタからプロジェクト内に TargetGuidByName という文字列がないか検索すればよいです。そうすれば、以下のように見つかるはずです。 UnityARBuildPostprocessor.cs#lines-308:309 ちなみにプロジェクトの Readme にあるように、Unity-ARKit-Plugin は古いので廃止されて、AR Foundation が現行のものになります。従って新しい Unity や os では新しい機能が使えなかったり、手を入れなければ動かなかったりします。