2014-10-17 3 views
5

Я установил расширение для своих приложений на iOS 8 и все работает нормально. Я могу поделиться с фотоприложением или с Safari. Но когда я нахожусь в Safari, я понятия не имею, как получить сгенерированное эскизное изображение веб-страницы. Я зарегистрировал правильный NSExtensionActivationRule. Когда я делюсь фото из приложения Фото, тип объекта NSItemProvider говорит, что это public.jpeg и я могу использоватьiOS 8 Share Extension Safari Image

[itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeImage options:nil completionHandler:^(UIImage *image, NSError *error) 
{ 
     [self.extensionContext completeRequestReturningItems:@[] completionHandler:nil]; 
}]; 

для того, чтобы получить изображение

Но когда я делюсь с Safari, тип NSItemProvider говорит, что это public.url, и я понятия не имею, как получить изображение? Я знаю, как получить URL-адрес, выполнив loadItemForTypeIdentifier: @ "public.url", но как мне получить изображение?

+2

wow, я думаю, что не многие люди делают это еще – Jesse

ответ

0

В пределах расширения общего доступа вы можете настроить препроцессор javascript для доступа к веб-странице и вернуть такую ​​информацию, как изображение предварительного просмотра.

Детали для настройки Js препроцессор здесь: https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW12

-1

Я смог получить миниатюру при совместном использовании веб-страницы, но не может изменить размер его.

Чтобы получить изображение, автоматически сгенерированное в расширении общего доступа при совместном использовании в Safari, используйте loadPreviewImageWithOptions: completeHandler: previewImageHandler.

[itemProvider loadPreviewImageWithOptions:nil completionHandler:^(UIImage *image, NSError *error){ 

    if(image){ 
     //do anything here with the image 
    } 

} 

Я могу получить миниатюру автоматически генерируемый при совместном использовании на сафари, но я не могу изменить размер изображения с помощью:

NSString * const NSItemProviderPreferredImageSizeKey; 

Ссылка: https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSItemProvider_Class/

Проверьте и посмотрите, поможет ли это вам.

+0

Хотя эта ссылка может ответить на вопрос, лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/10777805) – Magisch

+0

Отредактированное сообщение, спасибо, что указали. – Daryl

+0

Изображение всегда ноль – jjxtra