Как ссылаться на неподдерживаемые фреймворки в Watch OS 2

Я обновил свое приложение до последнего синтаксиса Swift 2.0. При этом приложение My watchkit перестало работать. Проблема в том, что приложение watchkit ссылается на класс, который ссылается на фреймворк AVFoundation. WatchOS2, по-видимому, теперь больше не поддерживает некоторые стандартные фреймворки:

Поддержка сетевых операций включает в себя следующие технологии:

Расширения WatchKit могут обращаться к сети напрямую через объект NSURLSession. Расширения WatchKit имеют полный доступ к возможностям NSURLSession, включая возможность загрузки файлов в фоновом режиме. Для получения информации о том, как использовать этот класс, посмотрите Руководство по программированию Системы Загрузки URL. Каркас Watch Connectivity поддерживает двунаправленную связь между вашим приложением Watch и приложением iOS. Используйте эту платформу для координации действий между двумя приложениями. См. Общение с приложением Companion для iOS.

Доступные системные технологии для WatchKit

Поэтому теперь я не могу скомпилировать код набора часов, так как «такой модуль не найден» - это сообщение об ошибке при попытке использовать среду AVFoundation. Как я могу обойти это и продолжать ссылаться на этот класс и структуру в моем приложении Apple Watch. Должен ли я передавать данные между телефоном и часами? Есть ли способ связать фреймворк с расширением?

В моем InterfaceController я пытаюсь сделать следующее:

 override func willActivate() {
    super.willActivate()

    let defaultsShared = NSUserDefaults(suiteName: "somesharedappgroup")
    let defaults = NSUserDefaults.standardUserDefaults()


     if let barcodeString = defaultsShared!.objectForKey("barcode") as? String {
        if let barcodeContent = RSUnifiedCodeGenerator.shared.generateCode(barcodeString, machineReadableCodeObjectType: AVMetadataObjectTypeCode39Code) {
            barcode.setImage(barcodeContent)
            label.setText("ID: \(barcodeString)")
        } else {
            label.setText("Please setup extensions in the settings of SHPID.")
            barcode.setImage(nil)
        }
    } else {

        label.setText("Please setup extensions in the settings of SHPID.")
        barcode.setImage(nil)

    }
}

RSUnifiedCodeGenerator будучи классом, который использует AVFoundation для генерации изображений штрих-кода из строк. Кроме того, тип, который принимает генератор, является AVObject: AVMetadataObjectTypeCode39Code. Это решение хорошо работало в первой версии WatchOS, но теперь остается неработоспособным в OS 2. Я вижу, что WatchConnectivity может быть решением, и он просто передаст мне штрих-код с самого телефона, но для этого потребуется прекратить поддержку iOS 8. Что является лучшим решением, если таковое имеется, для использования AVFoundation с WatchOS 2. Если я не могу этого сделать, как еще мне следует передать это изображение на часы с телефона при вызове. Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос