IOS应用程序应该拍照并将其存储在app文件夹中,我想确认一下

时间:2013-12-26 12:18:44

标签: ios image file file-io file-management

我是ios的新手,请帮帮我。

- (IBAction)btn_actionTakePicture:(UIButton *)sender {

    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.allowsEditing = YES;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    [self presentViewController:picker animated:YES completion:NULL];
}

我按下拍照按钮,此代码运行,相机出现,我可以拍照。

- (NSArray *) listFiles {

    NSURL *bundleRoot = [[NSBundle mainBundle] bundleURL];
    NSFileManager *fm = [NSFileManager defaultManager];
    NSArray * dirContents =
        [fm contentsOfDirectoryAtURL:bundleRoot
          includingPropertiesForKeys:@[]
                             options:NSDirectoryEnumerationSkipsHiddenFiles
                               error:nil];
    return dirContents;
}

这是我检查文件内容以查看照片是否被拍摄并保存在目录中的地方,我基本上将返回的(NSArray *)放在NSLog中以查看文件列表,如果有或没有照片,我没有看到任何已保存的jpgs。

保存到的文件在哪里,我还检查了照片卷,它们也没有保存在那里。

1 个答案:

答案 0 :(得分:0)

由于安全限制,相机应用程序的文件会保存到您的应用无法读取的硬盘驱动器上。

API会将图像返回到RAM中,您有责任将自己的文件写入文件,位于您有权访问的磁盘位置。

查看UIImagePickerController的示例代码,了解您的委托需要实现的方法来访问图像。

请注意,图像将是32位+ alpha通道位图图像,无压缩。您可能希望将其作为jpeg图像写入磁盘。