在我的应用中将Facebook SDK从3.5.3更新到3.9后,我开始通过crashlytics接收崩溃日志,关于FBAccessTokenData.m第126行中的EXEC_BAD_ACCESS崩溃
崩溃没有引用我的应用程序中的这个部分被调用,不幸的是,我一直无法重现它,所以我无法确定我的应用程序中究竟在哪里造成这种情况。
如果有任何用途,所有崩溃都在运行iOs 7的iPhone中。
崩溃日志:
第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];
}
答案 0 :(得分:8)
我们已经研究过这个问题,它似乎是Facebook iOS SDK中的一个错误。
使用以下podspec线恢复pod已经让我们停止了这一点。
pod 'Facebook-iOS-SDK', '~>3.8.0'
答案 1 :(得分:1)
这已在SDK的3.11.1版本中修复。