Я добавил расширение для моего приложения iOS и создал пользовательский интерфейс с помощью UIViewController, а не SLComposeServiceViewController по умолчанию. Пользовательский интерфейс работает, но как я могу ссылаться на файлы, которые были выбраны для совместного использования? Например, если я нажму на фотографию, как я могу ссылаться на эту фотографию и преобразовать ее в NSData. У меня есть этот код, но когда он запускается, данные никогда не инициализируются. Что я делаю не так?iOS 8 Share Extension Attachments - Xcode - Swift
//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' для этого расширения? –