FacebookSDK Unity ios build Exception:在文件路径中找不到项目文件

时间:2014-02-22 08:29:31

标签: c# ios xcode unity3d facebook-unity-sdk

我一直在努力解决这个问题一段时间了,我创建了一个新项目并导入了FacebookSDK,然后尝试运行构建,构建工作但我在控制台中有一个例外{{1} }。当我将构建转换为xcode然后从那里构建时,它会给我一个Mach-O链接器错误,如下所示:

Exception: Project file not found at file path C:/Users/Username/Documents/TESTFACEBOOK/TestProject

以下是我尝试解决此问题的步骤:

  • 这是来自XCProject.cs中的第82行,我去检查,并认为我会尝试编写文件路径,该脚本正在寻找project.pbxproj,所以我直接指向文件路径在那,它仍然无法正常工作。

  • 我尝试在我的xcode项目中手动添加FacebookSDK.a库,起初它不在那里,即使在添加后没有任何改变。

  • 我几乎到处搜索,对我遇到的问题一无所知。有一个人在这里发布了类似于我的Mach-O链接器错误,但是他的控制台错误消息来自不同的脚本,并且是一个不同的消息。

1 个答案:

答案 0 :(得分:3)

经过多次修补后,我找到了问题的全部来源,并通过简单地将Unity开发切换到Mac计算机而不是PC来设法修复。

这一直是我用PC制作统一的ios构建,然后拿着那个文件夹并在带有xcode的mac上构建它,但是在我尝试使用facebookSDK进行统一之前这是有效的。我想他们的代码不支持这种工作流程。

问题特别来自.pbxproj文件解析器,它将包括FacebookSDK.a在内的一些库与相对于PC计算机的文件路径链接起来,当被带到mac那些文件路径不匹配时。 pbxParser.cs脚本中还有一个错误,其中标题定义如此public const string PBX_HEADER_TOKEN = "// !$*UTF8*$!\n"; 这总是让代码给我一个“错误的文件格式”错误,我用它替换它来修复它:public const string PBX_HEADER_TOKEN = @"// !$*UTF8*$!";但是经过所有这些我意识到这可以通过使用来自mac的统一来避免。希望这对其他人有所帮助。