xcode 在 FBSDKApplicationDelegate 类中出错

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/40201207/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 09:29:09  来源:igfitidea点击:

Getting an error in FBSDKApplicationDelegate class

iosobjective-cswiftxcodefacebook

提问by anilst

I'm getting an error when I build my xCode 7.3.1 project.

我在构建 xCode 7.3.1 项目时遇到错误。

/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.h:77:35: No type or protocol named 'UIApplicationOpenURLOptionsKey'

/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.h:77:35:没有名为“UIApplicationOpenURLOptionsKey”的类型或协议

Problem func like this:

问题函数是这样的:

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options;

Need your help! Thx..

需要你的帮助!谢谢..

回答by shinoys222

The Latest FBSDKCoreKit does'nt work with Xcode 7.3. You should use XCode 8 or older versions of Facebook framework.

最新的 FBSDKCoreKit 不适用于 Xcode 7.3。您应该使用 XCode 8 或更旧版本的 Facebook 框架。

 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options

has been replaced in XCode 8 as

已在 XCode 8 中替换为

 - (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
        options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options;

Try this facebook SDK instead

试试这个 facebook SDK

https://origincache.facebook.com/developers/resources/?id=FacebookSDKs-iOS-4.14.0.zip

https://origincache.facebook.com/developers/resources/?id=FacebookSDKs-iOS-4.14.0.zip

For more information on changes from iOS 9 to 10 , go to this link https://developer.apple.com/library/content/releasenotes/General/iOS10APIDiffs/Objective-C/UIKit.html

有关从 iOS 9 到 10 的更改的更多信息,请转到此链接https://developer.apple.com/library/content/releasenotes/General/iOS10APIDiffs/Objective-C/UIKit.html

回答by Abhishek Kumar

Instead of this code :

而不是这个代码:

- (BOOL)application:(UIApplication *)application 
            openURL:(NSURL *)url 
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {

  BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
    openURL:url
    sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
    annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
  ];
  // Add any custom logic here.
  return handled;
}

Use this code :

使用此代码:

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

回答by Vitaliy

Try this code:

试试这个代码:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {

    return [[FBSDKApplicationDelegate sharedInstance] application:app openURL:url options:options];

}