2015-09-05 62 views
1

這是在AppDelegate中Facebook的應用鏈接問題

#import <FBSDKCoreKit/FBSDKCoreKit.h> 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    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 
    ]; 
} 

實現我的應用鏈接與被在Facebook上共享一些參數。如果我的應用程序最小化,點擊Facebook上的鏈接打開我的應用程序,並調用函數

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

像它應該發生的事情。

問題是如果我的應用程序終止(而不是最小化)點擊Facebook上的鏈接打開我的應用程序,但函數沒有被調用,所以我不能處理輸入參數。

我發現了一些關於在Facebook文檔中處理冷啓動的信息,但該信息已過時。

我錯過了要實施的東西還是Facebook bug?

回答

1

如果您執行了application:willFinishLaunchingWithOptions:application:didFinishLaunchingWithOptions:,請檢查它們是否返回YES,否則會阻止調用application:openURL:sourceApplication:annotation: