kullanarak "Fotoğraf Akım" albümünden bir fotoğraf seçerken her zaman nil. Albüme bir öğe seçmek için hariç, fotoğraf ve videonun her ikisi içinPHAsset fetchAssetsWithALAssetURLs döndü: Ben kullanıcı uygulamada paylaşmak için bir fotoğraf veya video seçmesine izin vermek bir <code>UIImagePickerController</code> kullanıyorum UIImagePickerController
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
PHAsset *asset;
if ([info[@"UIImagePickerControllerMediaType"] isEqualToString:@"public.movie"]) {
// Video
asset = [[PHAsset fetchAssetsWithALAssetURLs:@[info[@"UIImagePickerControllerReferenceURL"]] options:nil] lastObject];
} else if ([info[@"UIImagePickerControllerMediaType"] isEqualToString:@"public.image"]) {
// Photo
PHFetchResult *result = [PHAsset fetchAssetsWithALAssetURLs:@[info[@"UIImagePickerControllerReferenceURL"]] options:nil];
asset = [[PHAsset fetchAssetsWithALAssetURLs:@[info[@"UIImagePickerControllerReferenceURL"]] options:nil] lastObject];
}
}
if statements
çalışma cezası ikisi: kullanıcı kendi Kütüphane'de bir medya öğesi seçtiğinde, ben UIImagePickerController's
temsilci yöntemlerinden birinde bu kodu çalıştırmak başlıklı "My Photo Stream"
.
"My Photo Stream"
'dan bir öğe seçtiğinizde, PHAsset
döndürülen her zaman nil
'dur. ALAssetsLibrary assetForURL: always returning nil for photos in "My Photo Stream" in iOS 8.1
Fakat yukarıdaki bağlantı artık Apple tarafından önerilmektedir AssetsLibrary
çerçevesini kullanır:
"iOS in
bir çalışma çözeltisi ile bir cevap gibi görünüyor şu soruyu bulundu 8.0 ve daha sonra, Öğeler Kitaplık çerçevesi yerine Fotoğraflar çerçevesini kullanın. Fotoğraf çerçevesi, kullanıcının fotoğraf kitaplığı ile çalışmak için daha fazla özellik ve daha iyi performans sağlar. Bkz. Fotoğraflar Çerçeve Başvurusu. "
ben "My Photo Stream"
albümde medya öğeleri için PHAsset
nesneleri döndürmek için gerekiyor. Şu anda, sözlüğünde UIImagePickerController
tarafından döndürülen başvuru URL'si, konsola giriş yapan geçerli bir URL'dir, ancak bu URL'yi kullanırken, geçerli bir PHAsset
nesnesi hiçbir zaman iade edilmez. Bir böcek var ve en son iOS 8.2x betalar sabit gibi görünüyor
assets-library://asset/asset.JPG?id=DCF5C6E5-B4F4-4E61-9C4B-CC63E104BF2B&ext=JPG
Bunu iOS 8.2 beta 5'te çalıştırdığımı onaylıyorum. – Kyle
Sadece IOS 8.2'yi güncellemeye başladım, maalesef hala çalışmıyor. – wgr
hala 8.4.1 ile bile bir sorun gibi görünüyor. – mahboudz