在我的应用程序中将Facebook SDK从3.5.3更新为3.9之后,我已经开始通过崩溃程序来接收崩溃日志,关于FBAccesstokenData.m第126行中的EXEC_BAD_ACCESS崩溃
崩溃没有引用我的应用程序中这个被调用的部分,不幸的是,我一直无法重现它,所以我无法确定我的应用程序在哪里导致这一点.
如果有任何用途,所有的崩溃都已经在运行ios 7的iPhone中.
崩溃日志:
第126行:
if (accesstoken == nil || [accesstoken stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]].length == 0) {
在
+ (FBAccesstokenData *) createtokenFromString:(Nsstring *)accesstoken
permissions:(NSArray *)permissions
expirationDate:(NSDate *)expirationDate
loginType:(FBSessionLoginType)loginType
refreshDate:(NSDate *)refreshDate
permissionsRefreshDate:(NSDate *)permissionsRefreshDate
{
if (accesstoken == nil || [accesstoken stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]].length == 0) {
return nil;
}
if (expirationDate == nil) {
expirationDate = [NSDate distantFuture];
}
if (refreshDate == nil) {
refreshDate = [NSDate date];
}
if (permissionsRefreshDate == nil) {
permissionsRefreshDate = [NSDate distantPast];
}
FBAccesstokenData* fbAccesstoken = [[FBAccesstokenData alloc] initWithToken:accesstoken
permissions:permissions
expirationDate:expirationDate
loginType:loginType
refreshDate:refreshDate
permissionsRefreshDate:permissionsRefreshDate];
return [fbAccesstoken autorelease];
}
解决方法
我们已经看到了这个问题,它似乎是Facebook iOS SDK中的一个错误.
使用以下podspec行恢复pod已经阻止我们看到这一点.
pod 'Facebook-iOS-SDK','~>3.8.0'