Как использовать мои контроллеры представления и другой класс в расширении общего доступа?iOS |Swift 4 - PullRequest
0 голосов
/ 30 ноября 2018

Я создаю приложение для чата.Пользователь может поделиться изображениями из другого приложения в моем приложении.Я добавил Share Extension, чтобы показать свое приложение в собственном списке приложений.Я также получаю выбранные данные в методе didSelectPost.Отсюда я хочу показать список пользователей, которым изображение может быть отправлено.Для этого я использую уже созданный контроллер представления в основной цели приложения.

 override func didSelectPost() {
        // This is called after the user selects Post. Do the upload of contentText and/or NSExtensionContext attachments.

        if let content = self.extensionContext!.inputItems[0] as? NSExtensionItem {
            let contentType = kUTTypeImage as String

            // Verify the provider is valid
            if let contents = content.attachments as? [NSItemProvider] {
                for attachment in contents {
                    if attachment.hasItemConformingToTypeIdentifier(contentType) {
                        attachment.loadItem(forTypeIdentifier: contentType, options: nil) { (data, error) in
                            let url = data as! URL
                            let imageData = try! Data(contentsOf: url)
                            // Here I'm navigating to my viewcontroller, let's say: ForwardVC
                        }
                    }
                }
            }
        }

Я не хочу воссоздавать тот же экран в Share Extension.Помимо этих контроллеров представления, у меня есть еще много классов и оболочек, которые я хочу использовать в расширении общего ресурса.Как, например, SocketManager, Webservices и т. Д. Пожалуйста, предложите мне ваш подход для достижения того же.

PS: Я пытался установить несколько целей для требуемых viewControllers и использовать одни и те же модули для Share Extention.При таком подходе я сталкиваюсь со многими проблемами, так как многие методы и модули не соответствуют требованиям расширения.Кроме того, это правильный способ сделать это.

...