Tôi đã sử dụng hàm FBSDKAccessToken.currentAccessToken() để lấy Mã thông báo FB, hoạt động chính xác, cho đến khi tôi di chuyển ứng dụng của mình nhanh chóng 3 và 4.17 SDK. Bây giờ, hàm đã được đổi tên thành FBSDKAccessToken.current() và không phải là khi đại biểu ứng dụng đang tải lại. Tôi đã thực hiện một vài thử nghiệm và tôi đã quản lý để nhận mã thông báo sau khi tôi đã khởi động lại ứng dụng của mình và tôi đã đăng nhập vào FB trước đó, nhưng đó không phải là hành vi tôi mong đợi.Không thể truy xuất mã thông báo hiện tại FBSDKAccessToken nhanh chóng 3/FBSDK 4.17
CHỈNH SỬA: Tôi đã hoàn nguyên về phiên bản 4.15 và lại thực hiện lại.
Đây là mã trong appdelegate tôi:
func applicationDidBecomeActive(_ application: UIApplication)
{
FBSDKAppEvents.activateApp();
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> (Bool)
{
let wasHandled: Bool = FBSDKApplicationDelegate.sharedInstance().application(application
,open:url
,sourceApplication:sourceApplication
,annotation:annotation)
if (wasHandled) {
if let fbtoken = FBSDKAccessToken.current() {
loginWithFacebook(fbtoken.tokenString);
}else{
print("no current token")
}
}
return wasHandled
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
let wasHandled: Bool = FBSDKApplicationDelegate.sharedInstance().application(
app,
open: url as URL!,
sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String,
annotation: options[UIApplicationOpenURLOptionsKey.annotation]
)
if (wasHandled) {
if let fbtoken = FBSDKAccessToken.current() {
loginWithFacebook(fbtoken.tokenString);
}else{
print("no current token")
}
}
return wasHandled;
}
Nhờ sự giúp đỡ của bạn :) Denis
Tôi cũng cuộn lại với pod 'FBSDKCoreKit', '4.15.0' pod 'FBSDKLoginKit', '4.15.0' pod 'FBSDKShareKit', '4.15.0' và sau http: // stackoverflow. com/a/41119777/1220633 Hiện hoạt động cả trên thiết bị thực và trình mô phỏng. – RikiRiocma