簡體   English   中英

使用[PFFacebookUtils initializeFacebookWithApplicationLaunchOptions:launchOptions](semaphore_wait_slow陷阱)解析自Facebook 4.0.x以來的登錄掛起

[英]Parse login hang since Facebook 4.0.x with [PFFacebookUtils initializeFacebookWithApplicationLaunchOptions:launchOptions] (semaphore_wait_slow trap)

自從更新Facebook到v4.0.x和最新的Parse庫以來,我的應用程序正在掛起,似乎在嘗試登錄用戶時。

我的堆棧跟蹤如下所示:

在此輸入圖像描述

我之前遇到過類似的問題,在這里回答: 調用[PFFacebookUtils initializeFacebook]時解析崩潰 - semaphore_wait_trap

然而,該解決方案不再有效,因為似乎[PFUser currentUser]已被[PFUser(Private) _getCurrentUserWithOptions:][BFTask(Private) waitForResult:withMainThreadWarning:] ,因為它被卡住了。

在我的應用程序中,我將PFUser子類化為一個名為MPLUser的類,並重寫了用戶方法。 不確定這可能與問題有關嗎?

+ (MPLUser *)user
{
    return (MPLUser *)[PFUser user];
}

一旦開始發生,就無法啟動應用程序。 但是,我通常設法在鎖定開始之前啟動應用程序幾次。 它通常發生在崩潰之后...

我正在使用pod'ParseFacebookUtilsV4'並將所有庫更新到最新版本。

更新:

這是來自另一個線程的更多堆棧跟蹤,似乎正在嘗試登錄:

在此輸入圖像描述在此輸入圖像描述

我按以下順序初始化Parse和Facebook。 如果我撥打電話,它會崩潰:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [self initDefaults];
    [self initialiseApplicationSpecifics];
    [self setupParseWithOptions:launchOptions];
    [self enableCrashReporting];
    [self setupIAPs]; 
//etc... 
}


- (void)initialiseApplicationSpecifics
{
    [Flurry setCrashReportingEnabled:YES];
    [self registerParseSubclasses];
    [ParseCrashReporting enable];
    [Parse enableLocalDatastore];
#ifdef MPL
    [Parse setApplicationId:@"xxxyyy"
                  clientKey:@"xxxyyy"];
    [Flurry startSession:@"xxxyyy"];
#elif MGM
    [Parse setApplicationId:@"yyyxxx"
                  clientKey:@"yyyxxx"];
    [Flurry startSession:@"yyyxxx"];
#endif
}

- (void)setupParseWithOptions:(NSDictionary *)launchOptions
{
    [PFFacebookUtils initializeFacebookWithApplicationLaunchOptions:launchOptions];
    [PFTwitterUtils initializeWithConsumerKey:@"aaaabbbb"
                               consumerSecret:@"bbbbaaaa"];
    [PFAnalytics trackAppOpenedWithLaunchOptions:launchOptions];
}

似乎用解析1.7.2修復

根據v1.7.2 - 2015年4月27日

新增功能:擴展和WatchKit的本地數據共享。 改進了ParseFacebookUtils的可空性注釋。
修復:logOutInBackground在主線程上未調用塊回調。 修復:使用PFSubclassing.h的導入時可能出現編譯錯誤。
修復:如果通過saveEventually保存自動用戶,則不是持久的currentUser。
修復:使用ParseFacebookUtils和currentUser的罕見死鎖情況。
修復:將多個對象固定在同一個引腳上的罕見問題。
修復:當用戶無法與Facebook鏈接時的罕見情況。
提高了本地數據存儲的性能和可靠性。 性能改進。
其他小錯誤修復。

我遇到了與Parse 1.7.1和FBSDK 4.0.1相同的問題,我向Parse報告了這個錯誤,但到目前為止還沒有運氣。 它與本地數據存儲區有關。

https://developers.facebook.com/bugs/779176035499837

請提供進一步的信息。

我檢查了我的團隊在iOS SDK上工作,並獲悉最新的SDK應解決此問題。 你能嘗試更新嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM