应用程序的实现:openURL:sourceApplication:annotation:在iOS 8中找不到

时间:2016-07-15 09:29:58

标签: ios objective-c facebook appdelegate url-scheme

我通过SDK's使用了CocoaPod

  pod 'FBSDKCoreKit'
  pod 'FBSDKLoginKit'
  pod 'FBSDKShareKit'
  pod 'Google/SignIn'
  pod 'CleverTap-iOS-SDK'

works fine中的每件事iOS9

但是当我将部署目标更改为iOS8时,delegate AppDelegate中定义的-openUrl方法不再被调用。

FacebookGoogle Sign In都未被调用。

当我在Facebook的授权页面点按OK时,我的应用再次重新启动,没有代表被调用给我这个日志:

  <FIRAnalytics/WARNING> Implementation of application:openURL:sourceApplication:annotation: 
  not found. Please add the handler into your App Delegate. Class: CleverTapAppDelegateSurrogate.

注意当我评论此行时,我的代码在两个iOS版本中运行良好。但我需要使用聪明的点击。

 //Clever Tap
  [CleverTap autoIntegrate]; //Cause Issue in FB/G logins

背后的主要原因是我无法弄明白。

2 个答案:

答案 0 :(得分:5)

请在xcode 8 ios 10中的app delegate中使用此代码。它正常工作。我用于google plus集成。

public func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool
   {

   return GIDSignIn.sharedInstance().handle(url,
                                         sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String,
                                         annotation: options[UIApplicationOpenURLOptionsKey.annotation])

    }

答案 1 :(得分:2)

似乎Google标志和Facebook也在插入应用委托代理,按照此处 - https://firebase.google.com/docs/reference/ios/firebaseanalytics/category_f_i_r_analytics_07_app_delegate_08。这似乎与CleverTap委托代理冲突。

所以现在请使用手动集成。我们将着手解决此问题。