删除应用程序后,我的应用程序使用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