在我的应用程序中将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'