刪除應用程序後,我的應用程序使用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安全,夥計們。
現在我只是放棄了這個想法,如果他從Facebook刪除應用程序重新登錄用戶。讓他做任何社交活動,並通知有錯誤。 – 2015-04-04 13:02:29