Xcode 5 не может работать с использованием выбранного устройства в симуляторе iOS
Таким образом, это кажется довольно распространенным вопросом, но все ответы, которые я нашел, были связаны с получением «xcode не может работать с использованием выбранного устройства» при попытке запустить его на подключенном устройстве. Моя проблема заключается в получении этой ошибки, просто пытаясь запустить ее в симуляторе iOS.
Некоторая предыстория заключается в том, что приложение нормально работало в симуляторе, а затем я изменил имя проекта, имя цели и имя схемы, и именно тогда проблемы начали возникать.
Я пробовал множество различных решений в некоторых других потоках, таких как: Очистить, Удалить производные данные, перезапустить Xcode, перезагрузить компьютер, убедиться, что используется LLVM по умолчанию, удалить Info.plist, а затем снова добавить его в проект. Ни один из них не работал.
Я наконец обнаружил проблему, смог заставить ее работать и опубликую свое решение ниже.
2 ответа
Я обнаружил, что проблема заключалась в том, что в файле Info.plist исполняемый файл (CFBundleExecutable) был жестко закодирован как «MyAppName». Когда я изменил имя проекта, имя цели и имя схемы, это жестко запрограммированное значение не было изменено, но все еще содержало в нем исходное имя приложения.
Поэтому я изменил исполняемый файл (CFBundleExecutable) в файле Info.plist на эту константу:
И проблема решилась 🙂
У меня проблема возникла снова в другом проекте, однако выше уже было установлено значение $
Итак, я поискал и обнаружил, что в разделе Build Settings > Build Options > Compiler for C/C++/Objective-C установлено значение UNSUPPORTED .
Я изменил этот параметр на DEFAULT , и проблема была решена 🙂
У меня проблема возникла снова, и две вышеупомянутые вещи не помогли ее решить.
Итак, я пошел и убедился, что info.plist был удален (не отмечен) из любого Target Membership , и это решило проблему. Кажется, что есть несколько причин, которые могут вызвать эту проблему, поэтому попробуйте все решения!
Я столкнулся с этим, и мне пришлось изменить цель развертывания (версия для iOS) на общей вкладке меню параметров проекта. По-видимому, xcode был обновлен для поддержки iOS 8.2, но мой симулятор этого не сделал, поэтому в списке целей симулятора не отображалось ничего подходящего. Изменение цели развертывания на 8.1 устранило проблему. Я уверен, что обновление моего Mac также поможет.
Xcode 5 не может работать с использованием выбранного устройства на симуляторе iOS
Так что это кажется довольно распространенным вопросом, но все ответы, которые я нашел, были связаны с получением «xcode не может работать с использованием выбранного устройства» при попытке запустить его на подключенном устройстве. Моя проблема заключается в том, что я получаю эту ошибку, просто пытаясь запустить ее в симуляторе iOS.
Некоторая предыстория заключается в том, что приложение работало в симуляторе нормально, а затем я изменил имя проекта, имя цели и имя схемы, и именно тогда начались проблемы.
Я пробовал множество различных решений в некоторых других потоках, таких как: очистить, удалить производные данные, перезапустить Xcode, перезагрузить компьютер, убедиться, что используется LLVM по умолчанию, удалить Info.plist, а затем снова добавить его в проект. Ни один из них не работал.
Наконец-то я обнаружил проблему и смог заставить ее работать, и опубликую свое решение ниже.
Ответы (2)
Я обнаружил, что проблема заключается в том, что в файле Info.plist исполняемый файл (CFBundleExecutable) был жестко закодирован как «MyAppName». Когда я изменил имя проекта, имя цели и имя схемы, это жестко закодированное значение не изменилось, но в нем все еще было исходное имя приложения.
Поэтому я изменил исполняемый файл (CFBundleExecutable) в файле Info.plist на эту константу:
И проблема решилась 🙂
У меня снова возникла проблема в другом проекте, однако указанное выше уже было установлено в $
Итак, я пошел искать и обнаружил, что под Build Settings > Build Options > Compiler for C/C++/Objective-C установлено значение UNSUPPORTED .
Я изменил эту настройку на DEFAULT и проблема была решена 🙂
У меня снова возникла проблема, и две вышеуказанные вещи не помогли ее исправить.
Итак, я пошел и убедился, что info.plist был удален (не отмечен) из любого Target Membership , и это решило проблему. Кажется, что есть несколько причин, которые могут вызвать эту проблему, поэтому попробуйте все решения!
Я столкнулся с этим, и мне пришлось изменить цель развертывания (версию iOS) на общей вкладке меню параметров проекта. Очевидно, xcode был обновлен для поддержки iOS 8.2, а мой симулятор — нет, поэтому в списке целей симулятора не появлялось ничего подходящего. Изменение цели развертывания на 8.1 устранило проблему. Я уверен, что поддержание моего Mac в актуальном состоянии также поможет.
Xcode can build a project but can't run it on simulator
When I download a project from the web, sometimes it can be built but doesn’t run (XCode -> Product -> Run is disabled, in grey). This never happens when I create projects myself. What could be the problem? Is it somehow connected with version? I’m new to iOS development and download projects from the web for studying purposes. It’s a pity not to be able to test them on the simulator.
5 Answers 5
Generally, if you can’t Run a project, either:
It doesn’t have a build scheme that knows how to «run». Check at the top next to the Run/Stop buttons that there’s a profile name and target device shown. If the box says No Scheme then click on it and create a New Scheme. If there IS a scheme, click on the drop-down menu (left divider in Xcode 4.2+, anywhere on the box otherwise) and go to Edit Scheme to make sure the scheme was set up correctly for Running
It doesn’t have a build configuration set. You should see this in the Run section of your build scheme. Check there’s one selected. If the list is empty, go to the Project icon at the top of the leftmost pane, select the Project, go into the Info section, and create a build configuration, although there should already be at least one if you can build the project
It doesn’t have a runnable target at all, which might mean you’ve got a project which compiles to a static library or framework for use in OTHER projects. If this is the case, you should see the icon for your build Target as a yellow toolbox (framework), or a little white building (a «library», although to me it looks more like the United States Supreme Court Building).
The target isn’t valid for the Simulator, which means you might need to add i386 to the list of Architectures and Valid Architectures on the Target before you can run it
The target isn’t valid for the currently connected device. For this one, check the Deployment Target number is set back enough to be valid for the device’s version of iOS
Xcode can’t see the connected device. Try unplugging and plugging it back in. If it still doesn’t recognize it, you may have not added it to Xcode (Window -> Devices -> Select the device -> Use for Development)
С чем невозможно работать на симуляторе устройства xcode
Сломался xcode 12, при запуске симулятора пишет Error returned in reply: Connection interrupted. Перезагрузка не помогает.
Принудительное завершение xcode и симулятора не решает проблемы.
Удаление (включая чистку папок типа /Library/Developer ) xcode и установка тоже. Как и установка предыдущих версий (типа xCode 11)
Кстати, как полностью удалить xcode и поставить с нуля?
Инструкция https://developer.apple.com/forums/thread/110227 не совсем работает — xcode что то забыл, типа аккаунтов, но при установке видит какие проекты открывались.
Запуск симулятора вручную тоже самое выдает.
Как будто не в xCode дело, а где то в системе.
Как поправить?
ЗЫ. Еще сториборд показывает все черным, а вместо элементов синие прямоугольники, но текст и фон не отображает
Сообщение отредактировал RubberBigPepper — 24.09.20, 07:08
RubberBigPepper,
такая ошибка тянется еще с времен xcode 8
она связана с путями и подписями
Обычно, все решается сносом xcode и перестановкой. Удаляю через старый-добрый бесплатный Appcleaner
Как-то помогало в настройках xcode в location все принудительно установить в Default и прописать Command Line Tools на актуальную версию.