在为 iOS 构建时,Facebook 的 PostProcessBuild 方法 OnPostProcessBuild 会尝试解析一些数据来做一些事情,比如将 Facebook 库添加到最终的 XCode 项目中。
解析器接收到错误的文件格式。在其 Decode() 方法中,它需要以以下开头的数据:
public const string PBX_HEADER_TOKEN = "// !$*UTF8*$!\n";
像这样:
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/ Begin PBXBuildFile section /
011C65182C1C4E78903D645B / libxml2.dylib / = {isa = PBXBuildFile; fileRef = 318C8AB7C5D04BBFA6BA701D / libxml2.dylib /; };
但相反,它会接收一个包含 project.pbxproj 内容的字符串,格式正确。像这样:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>archiveVersion</key>
<string>1</string>
<key>classes</key>
<dict/>
<key>objectVersion</key>
<string>46</string>
<key>objects</key>
<dict>
有其他人遇到这种情况吗?我发现这些问题是相关的,但没有一个能回答真正的问题。
FacebookSDK for Unity iOS Mach-O 链接器错误 - 未定义符号 _iosLogin,
http://forum.unity3d.com/threads/mach-o-linker-error-with-facebook-sdk.239085/
关于如何解决它的任何想法?