Я добавил расширение Share Extension в свое приложение для iOS и создал собственный пользовательский интерфейс, используя UIViewController, а НЕ SLComposeServiceViewController по умолчанию. Пользовательский интерфейс работает, но как мне обратиться к файлам, которые были выбраны для общего доступа? Например, если я нажимаю «Поделиться» на фотографии, как мне обратиться к этой фотографии и преобразовать ее в NSData. В настоящее время у меня есть этот код, но когда он запускается, данные никогда не инициализируются. Что я делаю не так?
//Runs when button is pressed
inputItem = extensionContext!.inputItems.first as NSExtensionItem
attachment = inputItem.attachments![0] as NSItemProvider
attachment.loadItemForTypeIdentifier(kUTTypeJPEG as String,
options: nil,
completionHandler: {(content, error: NSError!) in
let url = content as? NSURL
if let data = NSKeyedArchiver.archivedDataWithRootObject(url!) as NSData?{
self.imageChosen = UIImage(data: data)!
//Never runs
}
else {
//Always runs
}
})
Кроме того, как сделать, чтобы кнопка расширения исчезла, если выбранное вложение содержит более одного файла (фото или видео) или имеет недопустимый тип файла. Любой ответ приветствуется. Заранее спасибо.
NSExtensionActivationRule
для этого расширения? - person Tom Harrington   schedule 08.04.2015