Skip to content
This repository was archived by the owner on Apr 6, 2020. It is now read-only.
This repository was archived by the owner on Apr 6, 2020. It is now read-only.

Gallery picker : NSArrayM-insertObjectatIndex-object-cannot-be-nil #207

Description

@maxz044679
  • (void)qb_imagePickerController:(QBImagePickerController *)imagePickerController didFinishPickingAssets:(NSArray )assets{
    @Try{
    PHImageRequestOptions
    requestOptions = [[PHImageRequestOptions alloc] init];
    requestOptions.resizeMode = PHImageRequestOptionsResizeModeExact;
    requestOptions.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
    requestOptions.synchronous = true;

      PHImageManager *manager = [PHImageManager defaultManager];
      for (PHAsset *asset in assets) {
          
          [manager requestImageForAsset:asset
                             targetSize:PHImageManagerMaximumSize
                            contentMode:PHImageContentModeDefault
                                options:requestOptions
                          resultHandler:^void(UIImage *image, NSDictionary *info) {
                              NSMutableArray* inner = [[NSMutableArray alloc]init];
                              
                              NSDate *now = [NSDate date];
                              NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
                              NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
                              [formatter setCalendar:gregorianCalendar];
                              [formatter setDateFormat:@"yyyy-MM-dd-HHmmssSSS"];
                              NSString *filename;
                              if([_page integerValue] == 0){
                                  filename = [NSString stringWithFormat:@"%@_%@_0_%@"
                                              ,dataController.getEvaluationID
                                              ,dataController.getHoleID
                                              ,[formatter stringFromDate:now]];
                              } else {
                                  filename = [NSString stringWithFormat:@"%@_%@_%@_%@"
                                              ,dataController.getEvaluationID
                                              ,dataController.getHoleID
                                              ,dataController.getCategoryID
                                              ,[formatter stringFromDate:now]];
                              }
                              
                              NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
                              NSString *documentsDirectory = [paths objectAtIndex:0];
                              NSString *localFilePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpg" , filename]];
                              
                              [inner addObject:filename];
                              [inner addObject:localFilePath];
                              [inner addObject:image];
                              [photo addObject:inner];
                          }];
      }
      [self insertImageToScrollView];
      [self dismissViewControllerAnimated:YES completion:NULL];
    

    } @catch (NSException* exception){
    NSString* str = [NSString stringWithFormat:@"CommentView qb_imagePickerController %@" , [exception reason]];
    [self setErrorReason:str];
    }
    }

[exception reason] show messege
---NSArrayM-insertObjectatIndex-object-cannot-be-nil

some device crash but some are not crash...
what is the possible problem...please help...

thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions