Xcode (4.3 사용)를 처음 사용하고 이미지를 장치의 카메라 롤에 저장하는 방법을 잘 모르겠습니다. 지금까지 내가 해왔 던 모든 작업은 이미지를 저장하는 버튼에 대한 IBAction을 설정합니다. 이미지를 사용자의 카메라 롤에 저장하는 데 사용할 수있는 라이브러리 메서드 또는 함수는 무엇입니까?이미지를 카메라 롤에 저장할 수 있습니까?
111
A
답변
212
UIImageWriteToSavedPhotosAlbum()
기능을 사용합니다.
//Let's say the image you want to save is in a UIImage called "imageToBeSaved"
UIImageWriteToSavedPhotosAlbum(imageToBeSaved, nil, nil, nil);
편집 :
UISaveVideoAtPathToSavedPhotosAlbum(videoPath, nil, nil, nil);
당신은 예를 들어, 인스 타 그램에 업로드 할 비디오를 저장할 수 있습니다
//ViewController.m
- (IBAction)onClickSavePhoto:(id)sender{
UIImageWriteToSavedPhotosAlbum(imageToBeSaved, nil, nil, nil);
}
6
이 참고로, 당신은 유사한 방식으로 비디오를 저장할 수 있습니다 :
// Save video to camera roll; we can share to Instagram from there.
-(void)didTapShareToInstagram:(id)sender {
UISaveVideoAtPathToSavedPhotosAlbum(self.videoPath, self, @selector(video:didFinishSavingWithError:contextInfo:), (void*)CFBridgingRetain(@{@"caption" : caption}));
}
- (void) video: (NSString *) videoPath
didFinishSavingWithError: (NSError *) error
contextInfo: (void *) contextInfoPtr {
NSDictionary *contextInfo = CFBridgingRelease(contextInfoPtr);
NSString *caption = contextInfo[@"caption"];
NSString *escapedString = [videoPath stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]]; // urlencodedString
NSString *escapedCaption = [caption stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]]; // urlencodedString
NSURL *instagramURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://library?AssetPath=%@&InstagramCaption=%@", escapedString, escapedCaption]];
[[UIApplication sharedApplication] openURL:instagramURL];
}
29
다음은 답변입니다. 또는 iOS8에서 사진 프레임 워크를 사용합니다.
목표 - C :
#import <Photos/Photos.h>
UIImage *snapshot = self.myImageView.image;
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest *changeRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:snapshot];
changeRequest.creationDate = [NSDate date];
} completionHandler:^(BOOL success, NSError *error) {
if (success) {
NSLog(@"successfully saved");
}
else {
NSLog(@"error saving to photos: %@", error);
}
}];
스위프트 :
// Swift 3.0
import Photos
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAsset(from: snapshot)
}, completionHandler: { success, error in
if success {
// Saved successfully!
}
else if let error = error {
// Save photo failed with error
}
else {
// Save photo failed with no error
}
})
여기에 애플 문서에 link을합니다.
+0
이미지 URL을 얻을 수있는 방법 @ricardopereira –
+0
@ 만수 https://stackoverflow.com/a/37248867/3641812에서보십시오. – ricardopereira
관련 문제
- 1. 카메라 롤에 중복없이 앱의 자체 사진 앨범에 이미지를 저장할 수 있습니까?
- 2. UIWebView의 이미지를 제스처로 카메라 롤에 저장하십시오.
- 3. 카메라 롤에 저장된 이미지에 대한 참조 저장
- 4. 새로운 공유기를 카메라 롤에 추가하십시오.
- 5. 사진을 iphone 카메라 롤에 맞춤 이름으로 저장하십시오.
- 6. 카메라 롤에 인앱 비디오를 저장 하시겠습니까?
- 7. UIImageWriteToSavedPhotosAlbum은 카메라 롤에 검은 색 섬네일을 만듭니다.
- 8. Phonegap에서 카메라 롤에 웹 사진 저장
- 9. writeImageToSavedPhotosAlbum : metadata : completionBlock :?를 통해 저장하면 카메라 롤을 사용하여 특정 앨범에 이미지를 저장할 수 있습니까?
- 10. 창 카메라 롤에 저장 전화 7 - cameracapturetask
- 11. UIImageWriteToSavedPhotosAlbum으로 카메라 롤에 이미지 저장 앨범
- 12. 원본 형식의 카메라로 UIImagePickerController를 사용하는 경우 캡처 한 이미지를 카메라 롤에 저장해야합니까? UIImagePickerController를의 문서에서
- 13. 어떻게 sng에서 png 이미지를 저장할 수 있습니까?
- 14. HTML5에서 프로그래밍 방식으로 이미지를 저장할 수 있습니까?
- 15. 애셋에서 애셋 폴더에 이미지를 저장할 수 있습니까?
- 16. 이미지를 데이터베이스에 BLOB 형식으로 저장할 수 있습니까?
- 17. iPhone 컬렉션 개체에서 이미지를 저장할 수 있습니까?
- 18. Core Graphics로 이미지를 iPhone에 저장할 수 있습니까?
- 19. VB6에서 이미지를 JPEG로 저장할 수 있습니까?
- 20. 어떻게 이미지를 BLOB에 저장할 수 있습니까?
- 21. SharedObject of Flash에 이미지를 저장할 수 있습니까?
- 22. 여러 이미지를 비디오 형식으로 저장할 수 있습니까?
- 23. 카메라 롤에 여러 개의 이미지 저장, 몇 개만 저장 됨
- 24. 아이폰 카메라 롤에 저장된 모든 비디오를 검색하는 방법
- 25. 이미지를 Ipad의 기본 사진 디렉토리에 저장할 수 있습니까?
- 26. 방법 colorfilter으로 이미지를 저장할 수
- 27. Windows Phone 8의 CameraCaptureTask - 카메라 롤에 자동 저장
- 28. 내 앱에서 동영상을 삭제했지만 여전히 카메라 롤에 남아 있습니다.
- 29. Xcode로 이미지를 PDF로 저장 하시겠습니까?
- 30. Flex 모바일 프로젝트에서 iOS 카메라 롤에 어떻게 액세스합니까?
'- (IBAction) onClickSavePhoto : (id) sender;'라고 말한 경우, 내 ViewController.h 파일에서 위의 내용을 사용하여 정확히 ViewController.m 파일에 배치해야 할 내용은 무엇입니까? 다시 한번 감사드립니다! – user1470914
@ user1470914 내 편집을 참조하십시오. 또한 이미지를 카메라 롤에 저장할 위치는 어디입니까? 앱의 번들에 이미 있습니까? 아니면 사용자가 사진을 찍은 다음 카메라 롤에 저장합니까? – pasawaya
양해 해 주셔서 감사합니다. 지금까지이 문제를 다시 검토 할 기회가 없었습니다. 귀하의 EDIT가 도움이됩니다. 이미지가 앱의 번들에 있습니다. 앱에 여러 이미지가 있으며 작은 미리보기 이미지로 볼 수 있습니다. 작은 미리보기 이미지가 선택되면 새로운보기로 이동하고 전체 화면 버전을 볼 수 있습니다. 상단 네비게이션의 오른쪽 구석에 '저장'이라고 표시된 버튼이 있습니다.이 버튼은 이미지를 기기의 카메라 롤에 저장하여 배경 화면으로 적용 할 수 있습니다. 귀하의 도움과 인내심에 다시 한번 감사드립니다 (casperOne가 왜 이것을 닫았는지 확실하지 않음). – user1470914