最近公司的项目把网络库从ASIHTTPRequest 全部替换成了AFNetworking,但是在iOS 7上遇到了频率很高的crash。具体崩溃在AFURLSessionManager.h里的[self.mutableData appendData:data];这一行
  | 
  | 
打印的log
  | 
  | 
意思应该是mutableData在某处被释放了,于是查找所有用到mutableData的地方
  | 
  | 
在这个回调里mutableData 被释放掉了,但是在iOS 7以上的系统却没发现崩溃,应该是iOS 7里,同一个task,这两个方法是在两个线程异步执行的,导致mutableData 提前置为nil。

解决办法
在操作mutableData的地方加锁,并且加了版本判断,崩溃就基本不会复现了。
  | 
  | 
  | 
  |