我整合Facebook Swift SDK到我的應用程序,我跟着論文步驟:Facebook的斯威夫特SDK登錄不會打開本地對話框
用的CocoaPods安裝依賴 - pod 'FacebookLogin'
添加以下的Info.plist:
<key>FacebookAppID</key>
<string>**my_app_id**</string>
<key>FacebookDisplayName</key>
<string>**my_app_name**</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb**my_app_id**</string>
</array>
</dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
添加到AppDelegate
:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return SDKApplicationDelegate.shared.application(app, open: url, options: options)
}
調用視圖控制器:
LoginManager()
.logIn([.publicProfile, .email], viewController: self) { result in
switch result {
case .failed(let error):
print(error)
case .cancelled:
print("User cancelled login.")
case .success(_, _, let accessToken):
print("User logged in")
}
}
就是這樣。當我點擊按鈕時,我希望加載本地登錄,切換到FB應用程序,然後返回到我的應用程序。然而,它從來沒有發生過,並且網頁被加載到SFSafariViewController
上。
我也試過強迫loginBehavior
到.native
,和所有其他選項,但改變它絕對沒有影響。
我還需要做什麼才能使本地登錄工作?
你設置了'fbLoginButton.delegate = self'嗎? –
我正在使用自定義按鈕 – Guilherme