从 Facebook iOS SDK 3.2.1 升级到 3.5 给我一个 FBCrypto 错误

Posted

技术标签:

【中文标题】从 Facebook iOS SDK 3.2.1 升级到 3.5 给我一个 FBCrypto 错误【英文标题】:Upgrade from Facebook iOS SDK 3.2.1 to 3.5 gave me an error with FBCrypto 【发布时间】:2013-04-19 09:43:07 【问题描述】:

安装新的 sdk 后,我清理了项目并构建了它。它失败并显示此消息:

架构 i386 的未定义符号: “_SecRandomCopyBytes”,引用自: +[FBCrypto randomBytes:] 在 FacebookSDK(FBCrypto.o) -FacebookSDK(FBCrypto.o)中的[FBCrypto encrypt:additionalDataToSign:] “_kSecRandomDefault”,引用自: +[FBCrypto randomBytes:] 在 FacebookSDK(FBCrypto.o) -FacebookSDK(FBCrypto.o)中的[FBCrypto encrypt:additionalDataToSign:] ld:未找到体系结构 i386 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

有人遇到同样的问题吗?解决方案?

【问题讨论】:

【参考方案1】:

嗯,您需要包含安全框架和 libsqlite3.dylib,如 here 所述。 现在可以了。

编辑

现在还找到this...

【讨论】:

【参考方案2】:

跳过这个,我遇到了同样的问题,我看到 FBSDK 需要 Security、AdSupport 等。这是我的链接库:

我的错误是一样的:

Undefined symbols for architecture i386:
  "_SecRandomCopyBytes", referenced from:
      +[FBCrypto randomBytes:] in FacebookSDK(FBCrypto.o)
      -[FBCrypto encrypt:additionalDataToSign:] in FacebookSDK(FBCrypto.o)
  "_kSecRandomDefault", referenced from:
      +[FBCrypto randomBytes:] in FacebookSDK(FBCrypto.o)
      -[FBCrypto encrypt:additionalDataToSign:] in FacebookSDK(FBCrypto.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

据我所知,所有其他框架依赖项都很好。 Vlean->Build 也没有修复它。谢谢。

编辑:知道了。我需要重新将文件添加到项目并检查添加到目标按钮.. 基本上是 XCode automagicka

【讨论】:

以上是关于从 Facebook iOS SDK 3.2.1 升级到 3.5 给我一个 FBCrypto 错误的主要内容,如果未能解决你的问题,请参考以下文章

iOS Facebook SDK 3.2.1 提要发布错误

在 iOS 中抑制 Facebook SDK UIAlertView

Facebook iOS SDK 3.2.1 授权/确认授权时的空白对话框

从 iOS Facebook SDK 发出后未收到任何“请求”

从 Facebook Graph iOS SDK 解密或解码 Facebook 访问令牌

如何从 facebook ios sdk 3.1 中提取 facebook 电子邮件?