Tôi đang sử dụng UIImagePickerController trong hai trường hợpLàm thế nào để có được địa chỉ URL của một hình ảnh vừa được thêm vào trong PHPhotoLibrary
- để chọn một hình ảnh hiện trong thư viện ảnh
- để chụp ảnh mới
Trong trường hợp đầu tiên, khi tôi chọn hình thức thư viện, tôi có thể dễ dàng lấy URL theo phương thức ủy nhiệm:
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
// Get the URL
NSURL *url = [info valueForKey:UIImagePickerControllerReferenceURL];
...
}
Nhưng khi tôi chụp ảnh mới, hình ảnh chưa có trong thư viện ảnh và chưa có URL. Vì vậy, trước tiên tôi cần phải thêm hình ảnh trong Thư viện. Nhưng sau đó, cách lấy URL của nội dung mới?
Đây là mã của tôi để thêm hình ảnh trong thư viện ảnh
- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
// Get the image
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
// Add the image in the library
[[PHPhotoLibrary sharedPhotoLibrary]
performChanges:^
{
// Request creating an asset from the image.
PHAssetChangeRequest *createAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:image];
// Get the URL of the new asset here ?
...
}
completionHandler:^(BOOL success, NSError *error)
{
if (!success) { ...; return; }
// Get the URL of the new asset here ?
...
}
];
}
Điều này làm việc, nhưng cảm thấy rất đáng sợ, tôi không biết nếu nó thực sự sẽ xảy ra, nhưng cách tiếp cận này có thể dẫn đến một điều kiện chủng tộc. –
tình trạng chủng tộc nào? tôi sẽ không chắc chắn nếu localIdentifier có sẵn chưa –
xin chào, bạn có thể vui lòng cho biết đó là self.assetCollection ở đây không, lớp đó là gì, cảm ơn –