我試圖在我的應用程序中拍攝照片並將它們保存到具有兩個日期的路徑(以指定拍攝照片的時間)。在應用程序內拍攝照片保存
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image;
image = [info objectForKey:UIImagePickerControllerOriginalImage];
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); //save to photo album
NSString *pathString = [NSString stringWithFormat:@"Photos/%@/%@.png",timeStarted,[NSDate date]]; //create path
NSString *savePath = [NSHomeDirectory() stringByAppendingPathComponent:pathString];
//write the files!
[UIImagePNGRepresentation(image) writeToFile:savePath atomically:YES];
}
當我檢查的文件夾@"Photos/%@",timeStarted
它顯示爲空。我究竟做錯了什麼?
編輯:
這裏是我的測試目的的新代碼:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
//Create the image and save it to the photo album
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
//Create the directory and add the file name to it
NSString *fileName = @"Test.png";
NSString *directory = [NSHomeDirectory() stringByAppendingPathComponent:@"Photos"];
NSString *fullPath = [directory stringByAppendingPathComponent:fileName];
NSLog(@"Full path: %@", fullPath);
//Save "image" to the file path
[UIImagePNGRepresentation(image) writeToFile:fullPath atomically:YES];
//START CHECKING : Log to check if anything was saved
NSError *error;
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSLog(@"Photos directory: %@", [fileMgr contentsOfDirectoryAtPath:directory error:&error]);
//END CHECKING
[camera dismissModalViewControllerAnimated:YES];
}
而且我NSLog
寫着:
[640:707] Full path: /var/mobile/Applications/3EEDBD68-5496-458D-9EF0-062746847C83/Photos/Test.png
[640:707] Photos directory: (null)
你是否成功將該圖片保存到Photo Album? – beryllium
是的,它可以按照預期保存到相冊中。 – Baub