刷新访问令牌时FBAccessTokenData EXC_BAD_ACCESS

时间:2013-11-19 18:37:05

标签: ios facebook sdk crash

在我的应用中将Facebook SDK从3.5.3更新到3.9后,我开始通过crashlytics接收崩溃日志,关于FBAccessTokenData.m第126行中的EXEC_BAD_ACCESS崩溃

崩溃没有引用我的应用程序中的这个部分被调用,不幸的是,我一直无法重现它,所以我无法确定我的应用程序中究竟在哪里造成这种情况。

如果有任何用途,所有崩溃都在运行iOs 7的iPhone中。

崩溃日志: crashlytics screen cap

第126行:

if (accessToken == nil || [accessToken stringByTrimmingCharactersInSet:
                           [NSCharacterSet whitespaceCharacterSet]].length == 0) {

in

+ (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];
}

2 个答案:

答案 0 :(得分:8)

我们已经研究过这个问题,它似乎是Facebook iOS SDK中的一个错误。

使用以下podspec线恢复pod已经让我们停止了这一点。

pod 'Facebook-iOS-SDK', '~>3.8.0'

答案 1 :(得分:1)

这已在SDK的3.11.1版本中修复。