ytech
ytech

Reputation: 197

Getting an error in FBSDKApplicationDelegate class

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

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

Problem func like this:

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

Need your help! Thx..

Upvotes: 10

Views: 5489

Answers (3)

Vitaliy
Vitaliy

Reputation: 1

Try this code:

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

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

}

Upvotes: 0

Abhishek Kumar
Abhishek Kumar

Reputation: 2276

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
          ];
}

Upvotes: 0

shinoys222
shinoys222

Reputation: 414

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

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

has been replaced in XCode 8 as

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

Try this facebook SDK instead

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

Upvotes: 17

Related Questions