chenfanfang / AvoidCrash

This framework can effective avoid crash by potential error code. For example : If you insert a nil into a mutable array, this framework can avoid crash and note you that where cause crash.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

网络请求设置头文件的时候,会奔溃(不是必现)

wangyu204 opened this issue · comments

现象:
image

基本上奔溃的都在如下地方
[manager.requestSerializer setValue:value forHTTPHeaderField:key];

我们是如下设置的:程序启动的时候调用如下方法

  • (void)startAvoidCrash{
    //这句代码会让AvoidCrash生效,若没有如下代码,则AvoidCrash就不起作用
    [AvoidCrash becomeEffective];

    /*

    • [AvoidCrash becomeEffective],是全局生效。若你只需要部分生效,你可以单个进行处理,比如:
    • [NSArray avoidCrashExchangeMethod];
    • [NSMutableArray avoidCrashExchangeMethod];
    • .................
    • .................
      */

    //监听通知:AvoidCrashNotification, 获取AvoidCrash捕获的崩溃日志的详细信息
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dealwithCrashMessage:) name:AvoidCrashNotification object:nil];
    }

AFNetwork网络请求的时候,设置自定义header参数

  • (void)setHeaderParams:(NSDictionary*)param withManager: (AFHTTPSessionManager )manager reuestMode:(NSString)mode
    {
    NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithDictionary:param];
    //设置header参数
    NSString *key;
    NSString *value;

    key = guid_key;
    value = [HuConfigration getGuidKey];
    if (value.length > 0) {
    [manager.requestSerializer setValue:value forHTTPHeaderField:key];
    [dic setObject:value forKey:key];
    }
    }

初步已经定位,是AFNetWorking第三方问题(用单例模式请求,AFNetWorking又比较老)。