UnityエクスポートXCodeプロジェクトの実行エラー:「UnityFramework /UnityFramework.h」ファイルが見つかりません

前書き

最近、プロジェクトがバージョン2019.4.10f1にアップグレードされました。自動パッケージを使用しているときに、いくつかの問題が発生しました。その1つは、XCodeプロジェクトをエクスポートした後、プロジェクトを実行すると、コンパイルエラーが発生したことです:'UnityFramework /UnityFramework.h'ファイル見つかりません


以前のバージョンでは問題はありませんでした。この時点で、プロジェクトの構造を確認してください。UnityによってエクスポートされたXCodeディレクトリは以前のバージョンとは異なります。現在、エントリファイルmain.mmを含むMainAppフォルダがあります。
クリックしてmainを開きます。.mmで、エラー行、ヘッダーを参照してください。ファイル参照には<UnityFramework / UnityFramework.h>が含まれています。プロジェクトディレクトリのUnityFrameworkフォルダとUnityFramework.hヘッダーファイルを参照してください。ただし、フォルダレベルのディレクトリが間違っています。

したがって、自動パッケージコードに処理を追加し、参照を正しいパスに変更するだけで済みます。

public static void OnPostProcessBuild( BuildTarget target, string pathToBuiltProject )
	{
        if (target != BuildTarget.iOS) 
		{
			Debug.LogWarning("Target is not iPhone. XCodePostProcess will not run");
			return;
		}
		
		//main.mm中找不到UnityFramework/UnityFramework.h的问题
		var mainAppPath = Path.Combine(pathToBuiltProject, "MainApp", "main.mm");
		var mainContent = File.ReadAllText(mainAppPath);
		var newContent = mainContent.Replace("#include <UnityFramework/UnityFramework.h>", @"#include ""../UnityFramework/UnityFramework.h""");
		File.WriteAllText(mainAppPath, newContent);
	}

もう一度パッケージ化し、main.mmを開くと、参照が変更されています

パスをコンパイルする

おすすめ

転載: blog.csdn.net/mango9126/article/details/114835717