Unity 导出XCode工程运行报错: ‘UnityFramework/UnityFramework.h‘ file not found

简介

近期项目升级到2019.4.10f1版本,在用自动化打包的时候,遇到了一些问题,其中一个是,在导出XCode工程之后,运行工程的时候,编译报错:'UnityFramework/UnityFramework.h' file not found


在之前版本没有问题,这个时候看下项目结构,Unity导出的XCode目录和之前版本不一样,现在有个MainApp文件夹,里面是入口文件main.mm
点击打开main.mm看到了报错这一行,头文件的引用 include ,看下项目目录中有UnityFramework文件夹和UnityFramework.h头文件,但是文件夹的层级目录不对

Unity 导出XCode工程运行报错: ‘UnityFramework/UnityFramework.h‘ file not found_第1张图片

所以只需要在自动化打包代码中加入处理,把引用改成正确的路径即可。

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 ", @"#include ""../UnityFramework/UnityFramework.h""");
		File.WriteAllText(mainAppPath, newContent);
	}

再次打包,打开main.mm引用已经修改

Unity 导出XCode工程运行报错: ‘UnityFramework/UnityFramework.h‘ file not found_第2张图片

编译通过

你可能感兴趣的:(Unity3d,IOS,Unity,Xcode,Unity,iOS,Unity,XCode,报错)