2015-04-02 45 views
1

刪除應用程序後,我的應用程序使用Facebook來分享和後喜歡。它工作正常,直到我通過設置 - >應用程序從Facebook刪除應用程序。EXC_BAD_ACCESS在[FBSession的dealloc]從Facebook

使用情況如下:我通過我的應用程序在Facebook上授權,做任何社會行動,保持應用程序打開,從應用程序在Facebook上刪除應用程序,嘗試做這樣或再次分享。

然後登錄對話框出現並在的情況下,應用程序崩潰50%[FBSession dealloc](上如導航所示線程1,)。堆棧跟蹤看起來是這樣的:

0x141718: blx 0x850a90     ; symbol stub for: objc_msgSend 
0x14171c: movw r0, #0x5586 
0x141720: mov r1, r5 
0x141722: movt r0, #0x92 
0x141726: add r0, pc 
0x141728: ldr r0, [r0] 
0x14172a: ldr r0, [r4, r0] 
0x14172c: blx 0x850a90     ; symbol stub for: objc_msgSend 
0x141730: movw r0, #0x557a <<< EXC_BAD_ACCESS 

事實證明,該飛機墜毀前FBSession是在FBSessionClosed狀態。我有一個防範方法,檢查此權限打開一個新的會話之前,並清除舊的會話是這樣的:

FBSession* session = [FBSession activeSession]; 
    [session closeAndClearTokenInformation]; 
    [session close]; 
    [FBSession setActiveSession:nil]; 

然後我打開一個新的會話使用下面的方法

[FBSession openActiveSessionWithPublishPermissions:@[@"publish_actions", @"user_likes"] 
            defaultAudience:FBSessionDefaultAudienceFriends 
             allowLoginUI:YES 
            completionHandler: ... ] 

,並有一場崩潰。

誰能告訴如何解決這個問題?

謝謝。

晚更新。 事實證明,我在代碼中兩次釋放了一些NSString對象。所以麻煩與Facebook iOS客戶端庫不相關。在MRR安全,夥計們。

+0

現在我只是放棄了這個想法,如果他從Facebook刪除應用程序重新登錄用戶。讓他做任何社交活動,並通知有錯誤。 – 2015-04-04 13:02:29

回答

0

我會用儀器工具提示一次檢查,你將有一個清晰的畫面的原因和地點正是導致崩潰。

相關問題