objective c - EXC_BAD_ACCESS when doing a POST using AFNetworking 2.0 -


my code:

afhttpsessionmanager *manager = [afhttpsessionmanager manager] ; manager.requestserializer = [afjsonrequestserializer serializerwithwritingoptions:nsjsonreadingallowfragments]; manager.responseserializer = [afjsonresponseserializer serializerwithreadingoptions:nsjsonreadingallowfragments]; [manager post:[_urlbase stringbyappendingpathcomponent:_urlrequest]          parameters:paramdictionary          success:^(nsurlsessiondatatask *task, id responseobject){              dispatch_async(dispatch_get_main_queue(),^{                  [self afrequestfinished:responseobject];              });          }          failure:^(nsurlsessiondatatask *task, nserror *error){              nslog(@"json error parameters: %@", error);          } ]; 

i using post request send several types of data server along pictures.
using similar get request , works fine. whenever run code exc_bad_access code=1 error on following line of afnetworking 2.0. responseobject 0x0:

responseobject = [self.responseserializer responseobjectforresponse:task.response data:[nsdata datawithdata:self.mutabledata] error:&serializationerror]; 

the above line of code within if/else method in:

- (void)urlsession:(__unused nsurlsession *)session task:(nsurlsessiontask *)task didcompletewitherror:(nserror *)error 

update

i ran instruments on code, , there zombie present. afnetworking trying make call nserror, has been deallocated. believe has arisen because post call succeeds, there still error flagged. thinks there no error , sets nil, tries call in error block of post.

if you're using recent version, may experiencing this known issue when json serializer returns error. can work around until new release made by:

  • removing @autoreleasepool in serializer, or
  • changing scope of error outside autorelease pool

(both solutions outlined in issue linked above.)

on side note, there's no need dispatch main queue in completion handler. afnetworking guarantees completion blocks called on main thread.


Comments

Popular posts from this blog

php - SPIP: From Tag directly to an article -

jquery - isAjaxRequest always return false -

ruby on rails - In a controller spec, how to find a specific tag in the generated view? -