Redbar在解雇UIImagePickerController时注意到

Edw*_*ham 4 uiimagepickercontroller ios

我正在使用UIImagePickerController来记录,编辑和保存视频到文件.在关闭UIImagePickerController时,状态栏闪烁红色并消失.我想避免这种情况.我一直在注意到iOS8.1,iOS8,iOS7.1等频率的降低

- (void) cameraClicked{
    self.recordState=KRERecordStateRecording;
    UIImagePickerController *pickerController = [[UIImagePickerController alloc] init];
    pickerController.delegate  = self;
    pickerController.sourceType = UIImagePickerControllerSourceTypeCamera;

    if(self.mediaType==MediaTypePhoto){
        pickerController.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil];

    }else if(self.mediaType==MediaTypeVideo){
        pickerController.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil];
        pickerController.allowsEditing = YES;
        pickerController.videoMaximumDuration=30.0f;
    }
    [self presentViewController:pickerController animated:YES completion:nil];
}

- (void)imagePickerController:(UIImagePickerController *)picker
        didFinishPickingImage:(UIImage *)image
                  editingInfo:(NSDictionary *)editingInfo{

}
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info{

    [picker dismissViewControllerAnimated:YES completion:nil];

    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
    if (CFStringCompare ((CFStringRef) mediaType, kUTTypeImage, 0)
        == kCFCompareEqualTo) {
        self.selectedMedia = [[NSArray alloc] initWithObjects:[info objectForKey:UIImagePickerControllerOriginalImage], nil];
        [self saveMedia];
    }else if(CFStringCompare ((CFStringRef) mediaType, kUTTypeMovie, 0)
             == kCFCompareEqualTo){
        videoURL= [info objectForKey:UIImagePickerControllerMediaURL];
        [self saveMedia];
    }
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
    [picker dismissViewControllerAnimated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

Edw*_*ham 6

解决方法!

我无法得到问题的实际解决方案,但确实找到了解决方法.关闭AudioSession

[[AVAudioSession sharedInstance] setActive:NO error:nil] 
Run Code Online (Sandbox Code Playgroud)

在解雇UIImagePickerController之前似乎是唯一的选择.经验证可以满足我的需求.但可能不是一个理想的解决方案