Не удалось запустить виджет главного экрана в iOS 14 Simulator

Детали ошибки:

SendProcessControlEvent:toPid: обнаружена ошибка: Error Domain=com.apple.dt.deviceprocesscontrolservice Code=8 "Не удалось показать ошибку Widget 'com.anupam.iOS14Feature.widgetExtension': Error Domain=SBAvocadoDebuggingControllerErrorDomain Code=2 " Укажите тип виджета в переменных среды схемы, используя ключ '_XCWidgetKind', который должен быть одним из: 'BillPayCheckerWidget', 'CommitCheckerWidget'" UserInfo={NSLocalizedDescription= Пожалуйста, укажите тип виджета в переменных среды схемы, используя ключ '_XCWidgetKind', чтобы он был одним из: BillPayCheckerWidget, CommitCheckerWidget}. UserInfo={NSLocalizedDescription= Не удалось показать ошибку виджета com.anupam.iOS14Feature.widgetExtension:ErrorDomain=SBAvocadoDebuggingControllerErrorDomain Code=2 "Пожалуйста, укажите тип виджета в переменных среды схемы, используя ключ '_XCWidgetKind', который должен быть одним из: 'BillPayCheckerWidget', 'CommitCheckerWidget'" UserInfo={NSLocalizedDescription= Укажите вид виджета в схеме Переменные среды, использующие ключ '_XCWidgetKind', должны быть одним из: 'BillPayCheckerWidget', 'CommitCheckerWidget'}., NSUnderlyingError=0x7fc70d618350 {Error Domain=SBAvocadoDebuggingControllerErrorDomain Code=2 "Пожалуйста, укажите тип виджета виджета _index_Index_Code_Vidget_Vidgets 'быть одним из:' BillPayCheckerWidget ',' CommitCheckerWidget '"UserInfo={NSLocalizedDescription= Пожалуйста, укажите тип виджета в схеме"s Переменные среды, использующие ключ '_XCWidgetKind' в качестве одного из: 'BillPayCheckerWidget', 'CommitCheckerWidget'}}} Домен: DTXMessage Код: 1 -

Системная информация

macOS версии 10.15.6 (сборка 19G73) Xcode 12.0 (17200.1)

4 ответа

Вероятно , потому что вы изменили строку вида внутри своей структуры:widget. Перейдите к редактированию схемы и в аргументах измените имя _XCWidgetKind на одно из ваших новых имен типа. Буквально только что загрузил это исправление в свой симулятор, когда набирал это lol.

Если у вас несколько виджетов, в моем случае у меня есть два виджета.

  1. Виджет статической конфигурации
  2. Виджет настройки намерений

И, когда вы запускаете цель расширения виджета, вам нужно указать, какой виджет вы хотите запустить.

Продукт -> Схема -> Изменить схему

  1. включить _XCWidgetKind и укажите имя структуры виджета [в моем случае "Selectable_OTP_Extn"]
  2. включить XCWidgetDefaultView & _XCWidgetFamily

Я пробовал другие ответы, но для нескольких виджетов (т.е. WidgetBundle) мне помог только этот ответ: /questions/50542602/ne-udalos-poluchit-deskriptoryi-dlya-extensionbundleid/56493779#56493779 (прокомментируйте другие виджеты и оставьте только 1 виджет без комментариев).

Если в вашем приложении много разных виджетов, вам нужно указать Xcode, какой из них вы собираетесь отлаживать, вы не можете отлаживать их все одновременно, для этого и нужен _XCWidgetKind, поэтому добавьте имя класса вашего виджета. работает.

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