Pracuję nad udostępnianiem tablicy obrazów z galerii przy użyciu rozszerzenia udziału. Mogę uzyskać obraz wewnątrz rozszerzenia udziału za pomocąJak uzyskać URL formularza graficznego przekazany przez rozszerzenie udziału do aplikacji
- (void)getImageFromExtension:(NSExtensionItem *)extensionItem
{
for(NSItemProvider *attachment in extensionItem.attachments)
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
if([attachment hasItemConformingToTypeIdentifier:(NSString *)kUTTypeImage])
{
[attachment loadItemForTypeIdentifier:(NSString *)kUTTypeImage options:nil completionHandler:^(id<NSSecureCoding> item, NSError *error) {
NSURL *image = (NSURL *)item;
if(error)
{
NSLog(@"Error retrieving image");
} else {
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"*** ### %@",[UIImage imageWithData:[NSData dataWithContentsOfURL:image]]);
});
}
}];
}
});
}
}
To, czego potrzebuję, to przekazanie adresu URL obrazu do apllikacji kontenera. Nie można jednak uzyskać obrazu z tego adresu URL. Format adresu URL to file:///var/mobile/Media/DCIM/101APPLE/IMG_1705.JPG
Dane z tego adresu URL mają zawsze wartość NULL. jak uzyskać obraz z tego adresu URL?
dzięki @joren, mam pytanie, dlaczego adres URL (wygenerowany w rozszerzeniu udziału) 'file: /// var/mobile/Media/DCIM/101APPLE/IMG_1705.JPG' nie można ocenić w aplikacji hosta? –
Czy pojawia się komunikat o błędzie? Co to mówi? – joern
Właśnie próbowałem uzyskać NSData z adresu URL. Ponowne wprowadzanie danych do Null –