Не найдено подходящего изображения для Combine в аварийной остановке watchOS 5.2

Информация

Мое приложение падает на Apple Watch, работающих под управлением watchOS 4 и 5. Некоторые новые функции (например, Combine), зависят от watchOS 6, и использование этих методов явно помечено

@available(watchOSApplicationExtension 6.0.0, *)

Приложение было создано с Xcode 9/10 (я точно забыл, какое именно) и предназначено для watchOS 4. Теперь, когда оно собрано с Xcode 11 и имеет файлы, которые зависят от Combine, оно падает на watchOS 5 Apple Watch.

Ошибка

dyld: Library not loaded: /System/Library/Frameworks/Combine.framework/Combine
  Referenced from: /private/var/containers/Bundle/Application/7A361FAB-EBE7-483D-BFD7-E915F15B5B14/Chirp WatchKit App.app/PlugIns/Chirp WatchKit Extension.appex/Chirp WatchKit Extension
  Reason: image not found

Очевидно, что Combineне играет красиво.

Кроме того, он не будет запускаться в симуляторе watchOS 5, и ошибка немного более показательна:

dyld: Library not loaded: /System/Library/Frameworks/Combine.framework/Combine
  Referenced from: /Users/willbishop/Library/Developer/CoreSimulator/Devices/C6F36860-E70A-45E6-AC3B-E54DBCEA7C7A/data/Containers/Bundle/Application/1B2EC7C4-731F-4EC1-B23F-09A0B49CD055/Chirp WatchKit App.app/PlugIns/Chirp WatchKit Extension.appex/Chirp WatchKit Extension
  Reason: no suitable image found.  Did find:
    /System/Library/Frameworks/Combine.framework/Combine: mach-o, but wrong architecture

Что я пробовал:

  • Я подумал, что это может быть, так как у меня был зависимый от watchOS 6 код, смешанный с файлами watchOS 5 Однако после перемещения кода в отдельные файлы проблема остается.

  • Очистка проекта

  • Удаление Derived Data/

Несмотря на это, не повезло. Я предполагаю, что это где-то настройка сборки, но у меня не было бы ни малейшего понятия, какая именно.

Заранее спасибо!

1 ответ

Я считаю, что вам нужно сделать Combine.frameworkнеобязательно связаны. По какой-то причине Combine не может использовать для этого обычный пользовательский интерфейс (пока?), Но, похоже, есть решение в другом потоке.

Другие вопросы по тегам