FBSDKCoreKit 框架,在 xCode 7 协议 FBSDKApplicationDelegate 无法识别

Posted

技术标签:

【中文标题】FBSDKCoreKit 框架,在 xCode 7 协议 FBSDKApplicationDelegate 无法识别【英文标题】:FBSDKCoreKit Framework, in xCode 7 Protocol FBSDKApplicationDelegate doesn't recognized 【发布时间】:2015-10-04 07:22:49 【问题描述】:

我下载了最新的 Facebook SDK 版本 4.6 我按照这里阅读的 ios SDK 入门:https://developers.facebook.com/docs/ios/getting-started/

我像导游节目一样在项目中拖放了 FBSDKCoreKit.Framework。

在 AppDelegate.m 的标题中我写道:

//-----
#import <FBSDKCoreKit/FBSDKCoreKit.h>

@interface AppDelegate () <FBSDKApplicationDelegate>

@end
//----

我完成了入门指南的所有内容...... 好吧,我的问题是:

Cannot find protocol declaration 'FBSDKApplicationDelegate' did you mean 'UIApplicationDelegate'?

FBSDKCoreKit/FBSDKCoreKit.h 识别良好,FBSDKApplicationDelegate.h 在框架内,框架搜索路径在应用程序设置中......

问题出在哪里?我找不到它

信息: XCode 7.0, FBSdk 4.6, 部署目标 9.0

【问题讨论】:

【参考方案1】:

您不必像以前那样实现委托。

代替:

//-----
#import <FBSDKCoreKit/FBSDKCoreKit.h>

@interface AppDelegate () <FBSDKApplicationDelegate>

@end
//----

你需要这个

//-----
#import <FBSDKCoreKit/FBSDKCoreKit.h>

@interface AppDelegate () 

@end
//----

next方法的返回值必须是

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

   // your code

  return [[FBSDKApplicationDelegate sharedInstance] application:application
    didFinishLaunchingWithOptions:launchOptions];

那么你必须实现这个方法:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
  return [[FBSDKApplicationDelegate sharedInstance] application:application
    openURL:url
    sourceApplication:sourceApplication
    annotation:annotation
  ];

就是这样。

【讨论】:

以上是关于FBSDKCoreKit 框架,在 xCode 7 协议 FBSDKApplicationDelegate 无法识别的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 11.2.1(11B53) @import FBSDKCoreKit 错误

使用 FBSDKCoreKit.framework 在 Xcode10 中发现意外的 Mach-O 标头代码:0x72613c21

IOS 9.2 Xcode 7.2 Facebook 登录问题

未找到 FBSDKCoreKit/FBSDKCoreKit.h 文件

FBSDKCoreKit/FBSDKCoreKit.h 未找到错误

FBSDKCoreKit/FBSDKCoreKit.h 未找到错误