"Не удается просмотреть в этом файле - не удалось запустить [Имя приложения]"

Я пытаюсь поиграться с swiftUI в Xcode 11 и macOS Catalina. НО После создания нового Проекта есть код котельной плиты с текстом, который говорит привет мир. Я хочу иметь предварительный просмотр этого простого приветственного сообщения на холсте рядом с кодом.

Когда я нажимаю кнопку возобновления: он говорит:

Не удается просмотреть в этом файле - Не удалось запустить [Имя приложения]

Я попытался нажать кнопку диагностики, сгенерировавшую отчет, чтобы отправить его в APPLE:

[FailedToLaunchError (url: file: ///Users/naive/Library/Developer/Xcode/DerivedData/first_swiftUI-dymizjogcbtouhclgjhhefagmcqo/Build/Intermediates.noindex/Previewsw/app_Imp_Imp_Imp_IxtI_I себе_) =NSOSStatusErrorDomain Code=-10661 "(null)" UserInfo={_LSLine=3554, _LSFunction=_LSOpenStuffCallLocal}, faultCategory: UVFoundation.FailureCategory.infrastructureFailure) ]

Вот код, это код по умолчанию, который поставляется с новым проектом, созданным с проверенной опцией Xcode 11 и SwiftUI:

import SwiftUI

struct ContentView : View {
    var body: some View {
        Text("Hello World")
    }
}

#if DEBUG
struct ContentView_Previews : PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
#endif

Я ожидаю, что холст будет отображаться и отображать предварительный просмотр моего кода. Холст не появляется!!

Сгенерировано два предупреждающих сообщения:

:0: предупреждение: импортированное объявление "UITableViewDiffableDataSourceCellProvider" не может быть сопоставлено с "UITableViewDiffableDataSourceReference.CellProvider"

:0: предупреждение: импортированное объявление "UICollectionViewDiffableDataSourceCellProvider" не может быть сопоставлено с "UICollectionViewDiffableDataSourceReference.CellProvider"

кроме этого, приложение "Мой iPad 11" с бета-версией iPadOS запускает приложение. Также работает симулятор.

15 ответов

Я сталкивался с этим UVFoundation.FailureCategory.infrastructureFailure при запуске приложения iOS с SwiftUI и последующей проверке цели Mac в свойствах проекта (т. е. с использованием Catalyst для создания кроссплатформенного приложения). Когда я сделал это, устройство по умолчанию изменилось на "Мой Mac", и предварительный просмотр перестал работать, что привело к появлению этой ошибки в окне диагностики.

Предполагается, что предварительный просмотр цели Mac не поддерживается - вам нужно выбрать какую-нибудь цель iOS ("Универсальное устройство iOS" прекрасно работает для меня). Протестировано на Mojave beta 5 с Xcode 11 beta 5. Из заметок о выпуске Xcode 11 beta 5: "Xcode 11 не поддерживает работу с SwiftUI в приложении Mac Catalyst. (41416222, 51201699)"

"Мой Mac" выбран, он не работает!

Работа с "Универсальным устройством iOS" выбрана.

Я исправил это, назначив инструменты командной строки для xcode 11, он был установлен на предыдущую версию xcode 10.

Перейдите: " Настройки"> "Расположение"> "Инструменты командной строки" [выпадающий список] > выберите Xcode 11

Проверить диагностические отчеты на пути ~/Library/Logs/DiagnosticReports.
Откройте файл fileName.crash (fileName это файл, вызывающий сбой) и выполните поиск Application Specific Information
Исправьте свой код в соответствии с информацией

Я просто выхожу из XCode и снова открываюсь с тем же проектом, и он начинает предварительный просмотр. Попробуй один раз.

По-прежнему не повезло. Command +K (очистить проект), коснутьсяResume еще раз.

У меня была эта проблема (Cannot preview in this file -- Update failed) на Catalina 10.15.5 с Xcode 11.5 при попытке предварительного просмотра цели Canvas для MacOS с ванильным шаблоном проекта SwiftUI после применения cocoapods и предложений Xcode.

Ни одно из уже перечисленных решений у меня не помогло.

Получил подсказку в системе "Диагностика" "... code signature in (.../Data/ContentView.2.preview-thunk.dylib) not valid for use in process using Library Validation: mapped file has no Team ID and is not a platform binary (signed with custom identity or adhoc?))} ..."

Это решило проблему: Project> TARGETS> MacOSTarget> Signing Certificate> Development

(Раньше было "Локальный доступ к подписке")

Если вы нажмете на название своего проекта справа от кнопки запуска/воспроизведения, вы сможете переключиться на параметры iOS . Изначально установлено значение macOS.

У меня была та же проблема, и мне помогло изменение местоположения. Я изменил его с «Относительно группы» на «Относительно проекта», и появился предварительный просмотр!

По этой ссылке вы можете найти больше информации

Для меня выберите что-нибудь, кроме 11 Pro max, и он будет работать.

Та же ошибка

Пытаться:

Редактор > Холст > Частота обновления

Если вы получаете сообщение об ошибке «Невозможно выполнить предварительный просмотр в этом файле».

Сначала попробуйте это:

закрыть окно xcode

Щелкните правой кнопкой мыши значок и выберите «Выход».

Повторно откройте, и проблема будет в основном исправлена.

Это работает для большинства проблем в xcode, прежде чем пытаться что-либо еще, попробуйте закрыть окно, принудительно выйти, а затем снова открыть проект.

Откройте терминал и введите следующую команду

sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer

а потом беги sudo xcodebuild -license, Тип согласен и нажмите клавишу возврата для лицензии. Также выберите Xcode 11 для инструментов командной строки из Preference -> Location -> CommandLine в Xcode. Это сработало для меня.

У меня была та же проблема, и я обнаружил, что причиной этой ошибки была ошибка времени выполнения, потому что проект успешно компилировался. Ошибка была вызвана изображением, на которое не было ссылки в проекте.

В моем случае это произошло потому, что я непреднамеренно попытался построить на реальном устройстве вместо симулятора. Выбрав симулятор из списка, он снова заработал.

В моем случае я проверил сгенерированный отчет диагностики, и он показал

"Сообщение об ошибке Dyld: приложение было создано для iOS 13.2, которая новее, чем этот симулятор 13.1 "

Поэтому я изменяю цель развертывания iOS на 13.1 в настройках сборки.

Нажмите на резюме, и у меня это сработало.

Ничего из вышеперечисленного не помогло мне, но я нашел способ...

  1. Скопируйте содержимое файла с нарушением (например, ContentView.swift).
  2. Удалите файл с нарушением из вашего проекта.
  3. Создайте новый "SwiftUI View" и переименуйте его обратно в тот файл, который вы удалили.
  4. Вставьте содержимое, скопированное на шаге 1, обратно в.
  5. Щелкните возобновить на холсте.
Другие вопросы по тегам