函数 'FBSDK_NOT_DESIGNATED_INITIALIZER' 的隐式声明在 C99 预期的 ')' 中无效

Implicit declaration of function 'FBSDK_NOT_DESIGNATED_INITIALIZER' is invalid in C99 Expected ')'

我正在为 iOS 4.6.0 使用 Facebook SDK,就在今天将 cocoapods 更新到 0.38.2 后遇到上述错误。我不确定这个错误与 cocoapods 有什么关系。

错误截图:

我遇到了同样的问题。出现问题是因为,我同时连接了“ParseFacebookUtils”(正在加载“Facebook-iOS-SDK”(这是已弃用的版本)和“FBSDKCoreKit”分开。

"Facebook-iOS-SDK" 和"FBSDKCoreKit" 都有"FBSDKMacros.h”,它有不同的声明“FBSDK_NOT_DESIGNATED_INITIALIZER”,这就是 XCode 中出现消息的原因。

我的建议是,如果“ParseFacebookUtils”不在您的 podfile 列表中,请检查哪个 cocoaPod 正在加载“Facebook-iOS-SDK" 并尝试使用该框架的较新版本对其进行更新。

如果“ParseFacebookUtils”是您的情况,那么很容易将其更改为“ParseFacebookUtilsV4

当然不要忘记 运行 'pod update' 以激活所有更改

希望对您有所帮助。

从 Facebook-iOS-SDK 目录中删除 FBSDKMacros.h,因为此处声明的任何内容也在 FBSDKCoreKit 目录的 FBSDKMacros.h 中声明,您的代码将正常工作。

我从 Facebook-iOS-SDK 目录中删除了引用 FBSDKMacros.h,而不是删除它。这对我有用。