在此处描述您的开发环境,提供尽可能多的详细信息。 如果您有它们,请确保包括:
2020.1.17
9.1.0
[iOS]
版本X.X.X
你想达到什么目的?
尝试使用 9.1.0 FB SDK 在 Unity Cloud Build 和本地 XCode 中构建。
你期望发生什么?
更新 facebook unity sdk 后,XCode 才能成功构建。
究竟发生了什么? 你能提供一个堆栈跟踪吗?
50424:▸ 链接 UnityFramework
50425: ▸ ❌; 架构 arm64 的未定义符号
50426:▸>符号:_IOSFBEnableProfileUpdatesOnAccessTokenChange
50427:▸> 引用自:Facebook.Unity.IOS.o 中的_IOSWrapper_EnableProfileUpdatesOnAccessTokenChange_m7ADB5E4C2DE8D7EB448729C43F65D1FFECB5F0CC
50428: ▸ ❌; ld:找不到架构 arm64 的符号
50439: ▸ ❌; clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
重现此问题所需的步骤是什么?
将SDK添加到Unity 2020.1.17f,做一个IOS构建。 确保使用可可豆。
请提供代码示例以及任何其他详细信息,以帮助我们追踪问题。 如果您可以提供一个测试项目的链接,让我们能够重现该问题,这将极大地帮助我们提高修复速度和质量。
注意:请记住格式化代码以提高可读性:
// INSERT YOUR CODE HERE
我也是。
现在,您可以在“Facebook.Unity.IOS.cpp”文件中评论以下行
reinterpret_cast(IOSFBEnableProfileUpdatesOnAccessTokenChange)(static_cast<int32_t>(___enable0));
使其成功构建,但这不是最佳和最终解决方案。
这绝对是一个临时解决方案,有人有更好的答案吗?
将以下代码放在位于 FacebookSDK/SDK/Editor/iOS 中的 FBUnityInterface.mm 文件末尾的}
之前
void IOSFBEnableProfileUpdatesOnAccessTokenChange(bool enable)
{
[[FBUnityInterface sharedInstance] IOSFBEnableProfileUpdatesOnAccessTokenChange:enable];
}
我看到了同样的错误:
Undefined symbols for architecture arm64:
"_IOSFBEnableProfileUpdatesOnAccessTokenChange", referenced from:
_IOSWrapper_EnableProfileUpdatesOnAccessTokenChange_m7ADB5E4C2DE8D7EB448729C43F65D1FFECB5F0CC in Facebook.Unity.IOS.o
_IOSWrapper_IOSFBEnableProfileUpdatesOnAccessTokenChange_m7E35B38EDDDF18DE2B0B960DA8269D277C8FBCAB in Facebook.Unity.IOS.o
(maybe you meant: _IOSWrapper_IOSFBEnableProfileUpdatesOnAccessTokenChange_m7E35B38EDDDF18DE2B0B960DA8269D277C8FBCAB)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我的设置:
Unity 编辑器版本:2020.1.11
Unity SDK 版本:9.1.0
安装平台及版本:[iOS] 版本 14.4.2
代码:12.4
我还没有尝试过上述建议。
现在,您可以在“Facebook.Unity.IOS.cpp”文件中评论以下行
reinterpret_cast(IOSFBEnableProfileUpdatesOnAccessTokenChange)(static_cast<int32_t>(___enable0));
使其成功构建,但这不是最佳和最终解决方案。
这绝对是一个临时解决方案,有人有更好的答案吗?
我试过了,我能够建造!
现在,您可以在“Facebook.Unity.IOS.cpp”文件中评论以下行
reinterpret_cast(IOSFBEnableProfileUpdatesOnAccessTokenChange)(static_cast<int32_t>(___enable0));
使其成功构建,但这不是最佳和最终解决方案。
这绝对是一个临时解决方案,有人有更好的答案吗?我试过了,我能够建造!
@firatagdas的解决方案也适用于我。
它也无法使用Unity 2019.4.31
使用 Unity 2020.1.16f1 也失败
看起来在任何和所有 Unity 版本上都失败, @firatagdas解决方案完美运行,使用它进行编译,到目前为止没有问题。 他们发布了一个甚至无法在平台上编译的 sdk,这看起来确实令人印象深刻。
抱歉 Facebook,但你是业余爱好者。 您甚至尝试使用 SDK 构建实时项目吗? 错误报告在这里持续了 7 天...修补程序怎么样?
订阅官方解决方案。
@firatagdas ,他的解决方案也对我
有关于这个问题的消息吗? 我设法通过@zhengwu119建议进行修复,但我需要修复才能使用云构建进行构建。
将以下代码放在位于 FacebookSDK/SDK/Editor/iOS 中的 FBUnityInterface.mm 文件末尾的
}
之前void IOSFBEnableProfileUpdatesOnAccessTokenChange(bool enable) { [[FBUnityInterface sharedInstance] IOSFBEnableProfileUpdatesOnAccessTokenChange:enable]; }
谢谢。 它帮助了我。
@firatagdas的解决方案在 2019.4.24 对我有用,谢谢@firatagdas 💯
另一个@firatagdas在这里。 Facebook SDK 9.1.0 与 Unity 2019.4.11f1。 好东西我的哥们
感谢@firatagdas。 建议的解决方案(见下文)适用于我的用例。 FB 团队可以处理这个错误。 看起来解决方案在评论中,至少对于某些用例。 修复似乎非常简单 -> 应该很容易发布错误修复。
void IOSFBEnableProfileUpdatesOnAccessTokenChange(bool enable)
{
[[FBUnityInterface sharedInstance] IOSFBEnableProfileUpdatesOnAccessTokenChange:enable];
}
这意味着他们甚至没有真正尝试为 iOS 构建 - 但是是的, @firatagdas修复程序也对我
Unity 2021.1.0f1 和 Facebook 9.1.0 的相同问题
Facebook SDK 团队应该聘请@firatagdas来推动工作。
@firatagdas解决方案在 Unity 2019.4.13f1 上为我们工作。 非常感谢伙计。
这应该在 v9.2.0 中修复: https :
最有用的评论
将以下代码放在位于 FacebookSDK/SDK/Editor/iOS 中的 FBUnityInterface.mm 文件末尾的
}
之前