【问题标题】:Facebook Objective C to Swift 4 [closed]Facebook Objective C 到 Swift 4 [关闭]
【发布时间】:2017-12-21 00:58:33
【问题描述】:

我正在尝试使用 Swift 4 实现 facebook 登录

Facebook 文档介绍了如何为视图控制器实现 facebook 登录按钮,但没有介绍如何使用 swift 设置 Appdelegate

谁能把这个 Objective C 代码转换成 Swift

或者放置一个 URL 链接到可以帮助我自己转换它的文档

//  AppDelegate.m
#import <FBSDKCoreKit/FBSDKCoreKit.h>

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

  [[FBSDKApplicationDelegate sharedInstance] application:application
    didFinishLaunchingWithOptions:launchOptions];
  // Add any custom logic here.
  return YES;
}

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

【问题讨论】:

  • 这不是免费的代码翻译服务。请尝试编写自己的 Swift 代码。您可以查看在 Objective-C 代码中使用哪些 API。用您尝试的 Swift 代码更新您的问题,并清楚地解释您遇到的问题。
  • 或者放置一个 URL 链接到可以帮助我自己转换它的文档

标签: objective-c swift


【解决方案1】:

好像你在找这个

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)           
        return true
    }

func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any])  -> Bool {
      return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String!, annotation: options[UIApplicationOpenURLOptionsKey.annotation])
}

【讨论】:

    【解决方案2】:
    import UIKit
    import Foundation
    
    import FacebookCore
    
    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
    
        var window: UIWindow?
    
    
    
        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    
            SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
            return true
        }
    
    
        @available(iOS 9.0, *)
        func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
            return SDKApplicationDelegate.shared.application(application, open: url, options: options)
        }
    
    
        func applicationWillResignActive(_ application: UIApplication) {
    
        }
    
        func applicationDidEnterBackground(_ application: UIApplication) {
    
        }
    
        func applicationWillEnterForeground(_ application: UIApplication) {
    
        }
    
        func applicationDidBecomeActive(_ application: UIApplication) {
    
            AppEventsLogger.activate(application)
        }
    
        func applicationWillTerminate(_ application: UIApplication) {
    
        }
    
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多