ios - Extension taking too long to initialize -


i have today widget extension, in viewdidload: method, calling method, unloadclipboard:, method contains bit gets called, converts user's image clipboard nsdata. in theory should work fine, however, widget crashes on code, because takes long initialize–even though running on background thread.

if (copiedimage && self.imagefunctionalityenabled) {         //item image, data          dispatch_async(dispatch_get_global_queue(0, dispatch_queue_priority_default), ^{              nsdata *data = uiimagejpegrepresentation([[uipasteboard generalpasteboard] image], 0.032);              //if data isn't added             if (![imagearray containsobject:data]) {                 [imagearray addobject:data];             }              //sync defaults             [defaults setobject:imagearray forkey:@"imagesarray"];             [defaults synchronize];              uiimage *image = [uiimage imagewithdata:[imagearray lastobject]];              dispatch_async(dispatch_get_main_queue(), ^{                  _imageview.image = image;              });          });      } else if (copiedstring && ![textarray containsobject:copiedstring]) {          [textarray addobject:copiedstring];         [defaults setobject:textarray forkey:@"array"];         [defaults setobject:imagearray forkey:@"imagesarray"];         _imageview.image = [uiimage imagewithdata:[imagearray lastobject]];      } else {         [defaults setobject:imagearray forkey:@"imagesarray"];         _imageview.image = [uiimage imagewithdata:[imagearray lastobject]];     } 

after breakpoints, nslogs, , time profiling widget target, came conclusion line, line supposedly taking long.

nsdata *data = uiimagejpegrepresentation([[uipasteboard generalpasteboard] image], 0.032); 

here example of crash report:

exception type: exc_crash (sigabrt) exception subtype: launch_hang exception message: extension took time initialize

i have isolated issue commenting out code block, in widget ran fine. appreciated.

update: here code changes:

if (copiedimage && self.imagefunctionalityenabled) {         //item image, data          dispatch_async(dispatch_get_global_queue(dispatch_queue_priority_default, 0), ^{              nsdata *data = uiimagejpegrepresentation(copiedimage, 0.032);              //if data isn't added             if (![imagearray containsobject:data]) {                 [imagearray addobject:data];             }              //sync defaults             [defaults setobject:imagearray forkey:@"imagesarray"];             [defaults synchronize];              uiimage *image = [uiimage imagewithdata:[imagearray lastobject]];              dispatch_async(dispatch_get_main_queue(), ^{                  _imageview.image = image;              });          });      } else if (copiedstring && ![textarray containsobject:copiedstring]) {          [textarray addobject:copiedstring];         [defaults setobject:textarray forkey:@"array"];         [defaults setobject:imagearray forkey:@"imagesarray"];         _imageview.image = [uiimage imagewithdata:[imagearray lastobject]];      } else {         [defaults setobject:imagearray forkey:@"imagesarray"];         _imageview.image = [uiimage imagewithdata:[imagearray lastobject]];     } 

here logs:

dec 1 18:41:57 isa-ranjhas-iphone reportcrash[7074] : formulating crash report process copyfeedwidget[7073] dec 1 18:41:57 isa-ranjhas-iphone copyfeedwidget[7073] : view appear dec 1 18:41:57 isa-ranjhas-iphone springboard[328] : plugin com.isaranjha.copyfeed.copyfeedwidget interrupted dec 1 18:41:57 isa-ranjhas-iphone springboard[328] : plugin com.isaranjha.copyfeed.copyfeedwidget invalidated dec 1 18:41:57 isa-ranjhas-iphone mediaserverd[22] : '' (pid = 7073) setting discoverymode = discoverymode_none, currentdiscoverymode = discoverymode_presencescan dec 1 18:41:57 isa-ranjhas-iphone assertiond[63] : pid_suspend failed : unknown error: -1, unknown error: -1 dec 1 18:41:57 isa-ranjhas-iphone assertiond[63] : assertion failed: 12b436: assertiond + 57724 [10ec04ad-d18f-3ecd-8a8e-fbb1cc4e2bd6]: 0x3 dec 1 18:41:57 isa-ranjhas-iphone assertiond[63] : not set priority of 2, priority: no such process dec 1 18:41:57 isa-ranjhas-iphone assertiond[63] : not set priority of 4096, priority: no such process dec 1 18:41:57 isa-ranjhas-iphone springboard[328] : widget identifier 'com.isaranjha.copyfeed.copyfeedwidget' disconnected unexpectedly dec 1 18:41:57 isa-ranjhas-iphone pkd[5114] : assigning plug-in com.isaranjha.copyfeed.copyfeedwidget(1.0) plugin sandbox dec 1 18:41:57 isa-ranjhas-iphone pkd[5114] : enabling pid=328 plug-in com.isaranjha.copyfeed.copyfeedwidget(1.0) caf48dc4-9ad3-4e4f-82f5-f77903676e1f /private/var/mobile/containers/bundle/application/e12bf21f-02a5-4e06-8d4c-ca2debca3850/copyfeed.app/plugins/copyfeedwidget.appex


Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -