1

That's the log in organizer

ocesses
     Name                                           rpages       recent_max       [reason]          (state)

      MobileMail          1557             1557         [vm]         (resume) (continuous)
     MobilePhone          1479             1479         [vm]         (resume) (continuous)
            tccd           318              320         [vm]         (daemon)
         Testare          2293             2293         [vm]         (frontmost) (resume)
            ptpd          1350             1350                      (daemon)
     dataaccessd          1589             1589                      (daemon)
      aosnotifyd           512              512                      (daemon)
    mediaserverd         12077            12077                      (daemon)
         assetsd          1170             1170                      (daemon)
           wifid           773              773                      (daemon)
   iaptransportd           266              266                      (daemon)
        profiled           592              592                      (daemon)
       locationd          1373             1373                      (daemon)
         syslogd           185              185                      (daemon)
     SpringBoard          7838             7838                     
      backboardd          5776             5776                      (daemon)
        BTServer           498              498                      (daemon)
         imagent           668              668                      (daemon)
         configd           741              741                      (daemon)
       lockdownd           353              353                      (daemon)
          powerd           192              192                      (daemon)
   mDNSResponder           294              294                      (daemon)
   fairplayd.N42           166              166                      (daemon)
  UserEventAgent           720              720                      (daemon)
       securityd           159              160                      (daemon)
           amfid           219              219                      (daemon)
     debugserver             0                0                      (daemon)
   syncdefaultsd           459              459                      (daemon)
         lockbot           475              475                      (daemon)
springboardservi             0                0                      (daemon)
       CVMServer            89               89                      (daemon)
notification_pro           161              161                      (daemon)
            afcd           157              157                      (daemon)
filecoordination           214              214                      (daemon)
       distnoted           141              141                      (daemon)
            apsd           438              438                      (daemon)
      aggregated           109              109                      (daemon)
        networkd           215              215                      (daemon)
       fseventsd           277              277                      (daemon)
      CommCenter          1760             1760                      (daemon)
         notifyd           226              226                      (daemon)
     ReportCrash           331              333                      (daemon)

**End**

No thread is highlited. Here is the code

   void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
        if(result != NULL) {
            NSLog(@"See Asset: %@", result);
            NSLog(@"Index: %d", index);
            ALAssetRepresentation *rep = result.defaultRepresentation;
            NSLog(@"URL: %@", rep.url);
            UIImage *image = [UIImage imageWithCGImage:rep.fullScreenImage];
            [self performSelectorInBackground:@selector(selectImage:) withObject:image];       
         }
    };

    void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) =  ^(ALAssetsGroup *group, BOOL *stop) {
        if(group != nil) {
            NSLog(@"GRUP Desc:%@",[group valueForProperty:ALAssetsGroupPropertyType]);
            NSLog(@"GRUP Desc:%@",group.description);
            NSNumber *type = (NSNumber *)[group valueForProperty:ALAssetsGroupPropertyType];
            NSLog(@"GRUP Desc:%@",NSStringFromClass([type class]));
            int tip = [type intValue];
            [group setAssetsFilter:[ALAssetsFilter allPhotos]];
            [group enumerateAssetsUsingBlock:assetEnumerator];
        }
    };

    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    [library enumerateGroupsWithTypes:ALAssetsGroupAll
                           usingBlock:assetGroupEnumerator
                         failureBlock: ^(NSError *error) {
                             NSLog(@"Failure");
                         }];

It seems like if I don't use this line UIImage *image = [UIImage imageWithCGImage:rep.fullScreenImage]; and the line after is working enumerating all assets. If I try to get the image or only get the metadata it crashes at some point. The problem is it crashes without XCode showing me the threads or the cause. Nothing is displayed on the left pane. Running it with the profiler shows me a steady 2MB usage of the application. It doesn't seem to have memory leaks.

I tried different approaches but still crashes without any error message.

  • What does your `selectImage:` method do? Any chance you're accessing some kind of view from there (e.g. setting the `image` of a `UIImageView`? Why are you performing it on a background thread? – omz Mar 25 '13 at 17:33
  • selectImage does change a UIIMageView.image property. But it crashes even if a remove this line. Reason for a background thread is this code is on TouchUpInside event, so I needed to detach from the main thread, in order to update the view. – George Dumitrascu Mar 26 '13 at 09:58
  • Solved. Added @autoreleasepool{} sorrounding the code that access ALAssetRepresentation *rep = result.defaultRepresentation; NSLog(@"URL: %@", rep.url); UIImage *image = [UIImage imageWithCGImage:rep.fullScreenImage]; – George Dumitrascu May 16 '13 at 11:06

0 Answers0