iOS 8의 Photos.framework에서 Safari에서 이미지를 오래 누르고 "이미지 저장"과 같은 방법으로 UIImage를 사용자의 사진 라이브러리에 저장하려고합니다. iOS 7에서는 ALAssetLibrary의 writeImageToSavedPhotosAlbum:metadata:completionBlock
을 호출하면됩니다.이미지 저장에 사용할 PHAssetCollection은 무엇입니까?
iOS 8의 경우 PHAsset을 추가하기 위해 자산 컬렉션을 선택해야하지만 사용자의 "카메라 롤"에 저장하는 것과 가장 가까운 PHAssetCollection을 파악할 수 없습니다 (단, 정말로, iOS 8에서)
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest *newAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:image];
newAssetRequest.creationDate = time;
newAssetRequest.location = location;
PHObjectPlaceholder *placeholderAsset = newAssetRequest.placeholderForCreatedAsset;
PHAssetCollectionChangeRequest *addAssetRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:WHICH_ASSET_COLLECTION];
addAssetRequest addAssets:@[placeholderAsset];
} completionHandler:^(BOOL success, NSError *error) {
NSLog(@"Success: %d", success);
}];
"최근 추가 된"스마트 앨범에 액세스하려고했지만 새로운 콘텐츠를 추가 할 수 없습니다.
완성 처리기에서 새 자산을 어떻게 얻습니까? –
문서에 따르면'@property (nonatomic, strong, readonly) PHObjectPlaceholder * placeholderForCreatedAsset'를 사용하면 "동일한 변경 블록 내에서 변경 요청으로 생성 된 자산을 참조해야하는 경우이 속성을 사용하십시오. 다음 코드를 사진 라이브러리 변경 블록에 포함하면 에셋을 만든 다음 컬렉션에 추가합니다. " 자리 표시 자에 대한 자세한 내용은 [docs] (https://developer.apple.com)을 참조하십시오. /library/prerelease/ios/documentation/Photos/Reference/PHObjectPlaceholder_Class/index.html). –
이미 개체 틀을 시도했습니다. 이 예는 자리 표시 자 객체를 앨범 변경 요청에 추가하지만 여러 자산을 유지합니다. 자리 표시 자 객체를 배열에 추가 할 수 없습니다. –