Erro de execução do projeto XCode de exportação do Unity: arquivo 'UnityFramework / UnityFramework.h' não encontrado

Introdução

Recentemente, o projeto foi atualizado para a versão 2019.4.10f1. Ao usar o empacotamento automatizado, encontrei alguns problemas. Um deles foi que após a exportação do projeto XCode, ao executar o projeto, o erro de compilação: arquivo 'UnityFramework / UnityFramework.h' não encontrado


Não havia nenhum problema na versão anterior. Neste momento, observe a estrutura do projeto. O diretório XCode exportado pelo Unity é diferente da versão anterior. Agora existe uma pasta MainApp com o arquivo de entrada main.mm.
Clique para abrir o principal .mm e veja a linha de erro, cabeçalho A referência do arquivo inclui <UnityFramework / UnityFramework.h>, consulte a pasta UnityFramework e o arquivo de cabeçalho UnityFramework.h no diretório do projeto, mas a hierarquia da pasta está errada

Portanto, você só precisa adicionar processamento no código de embalagem automatizado e alterar a referência para o caminho correto.

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);
	}

Empacote novamente, abra main.mm e a referência foi modificada

Passe de compilação

Acho que você gosta

Origin blog.csdn.net/mango9126/article/details/114835717
Recomendado
Clasificación