2017-08-25 128 views
0

我打算在我的iOS(Swift)應用程序中使用OAuth進行Facebook授權。但是,由於知道大多數人登錄到Facebook iOS應用程序而不是Safari(或Web瀏覽器),我希望顯示Native App Authorization頁面而不是瀏覽器上的相同頁面,用戶可能需要再次登錄。OAuth Facebook授權通過Facebook應用程序而不是Web瀏覽器

我的網址是:http://zafaafh-dev.azurewebsites.net/login/facebook/

我已經通過URL方案嘗試過。

FB URL方案:FB://zafaafh-dev.azurewebsites.net/login/facebook/

它只是打開FB應用程序,但沒有所需權限頁面。

回答

0

您應該將您的應用程序添加到Facebook應用程序儀表板。然後按照本指南爲您的應用程序添加Facebook身份驗證Swift。根據文檔更新您的Info.plist和AppDelegate.swift。 AppDelegate.swift看起來應該是這樣的:

雨燕3.0

import UIKit 
import FacebookCore 

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

     return SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions) 
    } 

    func applicationWillResignActive(_ application: UIApplication) { 
     // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 
     // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 
    } 

    func applicationDidEnterBackground(_ application: UIApplication) { 
     // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
     // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 
    } 

    func applicationWillEnterForeground(_ application: UIApplication) { 
     // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 
    } 

    func applicationDidBecomeActive(_ application: UIApplication) { 
     // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 

     AppEventsLogger.activate(application) 
    } 

    func applicationWillTerminate(_ application: UIApplication) { 
     // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 
    } 

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

    public func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { 
     return SDKApplicationDelegate.shared.application(
     application, 
     open: url as URL!, 
     sourceApplication: sourceApplication, 
     annotation: annotation 
     ) 
    } 
} 
+0

我沒有在你共享的鏈接找到任何的OAuth。我知道如何添加FB登錄按鈕並使其打開應用程序。我需要打開OAuth Facebook授權才能通過App not Safari。 – AqibBangash

相關問題