XCode 9 Swift 4 中没有这样的模块 'FBAudienceNetwork'

No such module 'FBAudienceNetwork' in XCode 9 Swift 4

我安装了 FBAudienceNetwork(版本 4.26.0)和 CocoaPods(版本 1.3.1)。我按照 https://developers.facebook.com/docs/audience-network/ios 发布的官方手册进行操作,但 Xcode 仍然无法识别该框架。

明确一点 - 我从 xcworkspace 文件打开项目。

我尝试了以下步骤但没有成功:

  1. 手动安装框架,将 ~/Documents/FacebookSDK 路径添加到框架搜索路径
  2. 确保 pods 项目使用 Swift 4
  3. 编译
  4. 还添加了 FBSDKCoreKit(带有 Bolts)和 FBSDKShareKit(两个框架都已成功导入)
  5. 清理项目,删除 DerivedData 并清理 pods 缓存并重新安装 pods

到目前为止没有任何效果。有人遇到过同样的问题并知道原因吗?

接着post: https://developers.facebook.com/bugs/185968218614056/ 在降级到版本 4.23(由 MoPub 中介支持,如此处所写:https://github.com/mopub/mopub-ios-sdk/wiki/Integrating-Native-Third-Party-Ad-Networks)后,集成工作正常(通过手动添加框架)。

这是4.26版本中的一个bug,所以鼓励同样问题的人,你必须等待Facebook修复这个bug。我建议订阅并关注我 post 编辑的讨论。

我也遇到了同样的问题。我正在查看 Facebook 错误报告,但它已经关闭,所以我对它很快得到修复不抱太大希望。 Facebook 建议将“$(SRCROOT)”添加到您的框架搜索路径中作为解决方法,但它对我不起作用。

现在,我已经手动将我的 "FBAudienceNetwork" pod 锁定到版本 4.25.0,并在我的 Podfile 中添加了以下行:

pod 'FBAudienceNetwork', '4.25.0'

已在 v4.27.0

中修复

另一个使用最新 SDK 的解决方案(直到 Facebook 修复此问题)是在您的 Objc 桥接中添加一行 header:

#import <FBAudienceNetwork/FBAudienceNetwork.h>

当然,这假设您正在使用桥接 header,如果您不是,那么您可以添加一个,但这会破坏使用模块的意义。希望 Facebook 尽快解决这个问题。

试试这个解决方案,它将解决您的问题。 您需要在 FBAudienceNetwork.framework/Modules 文件夹中将 FBAudienceNetwork.modulemap 重命名为 module.modulemap。 v4.26

来自观众网installation guide

祝你好运

当我只使用“static”文件夹中的框架时它有效。