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

14
我正在使用 Facebook SDK for iOS 4.6.0,今天升级cocoapods到0.38.2后遇到了上述错误。我不确定这个错误是否与cocoapods有关。
错误截图: enter image description here
3个回答

29

我也遇到了同样的问题。问题出现是因为我同时连接了"ParseFacebookUtils"(它正在加载已废弃版本的"Facebook-iOS-SDK")和"FBSDKCoreKit"。

"Facebook-iOS-SDK"和"FBSDKCoreKit"都有"FBSDKMacros.h",其中包含"FBSDK_NOT_DESIGNATED_INITIALIZER"的不同声明,这就是为什么XCode中会出现错误信息。

我的建议是,如果你的podfile列表中没有"ParseFacebookUtils",请检查哪个cocoaPod在加载"Facebook-iOS-SDK",并尝试使用该框架的更新版本进行更新。

如果"ParseFacebookUtils"是你的情况,那么只需将其更改为'ParseFacebookUtilsV4'即可。

当然,别忘了运行 'pod update' 使所有更改生效。

希望这可以帮助你。


1
你是对的。但是我导入了Facebook SDK框架,而不是从cocoapods使用它,这样它就像魔法一样工作了!这种方式我可以使用最新的SDK版本。 - virengujariya
嗨,我遇到了同样的问题。我尝试将我的ParseFacebookUtils更改为V4版本,但是出现了一堆新错误。 - AustinT
Facebook和Parse需要整理他们的库和文档。你永远不会猜到他们是同一家公司。当我尝试这个时,我会得到以下错误'FBSDKInternalUtility.h'文件未找到 - UKDataGeek
1
太好了!安装ParseFacebookUtilsV4而不是ParseFacebookUtils解决了我的问题。 - Felipe Ferri

14

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


1

我将Facebook-iOS-SDK目录中的FBSDKMacros.h引用移除,而不是删除它。这对我有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接