Ответ 1
добавить -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
в xcodebuild
Я получаю эту ошибку, когда пытаюсь протестировать приложение.
Для запуска этой цели нельзя использовать устройство только для сборки.
Нет поддерживаемых устройств iOS. Подключите устройство для запуска приложения или выберите имитируемое устройство в качестве адресата.
добавить -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
в xcodebuild
Возможно, схема переключилась на универсальное устройство. Попробуйте снова выбрать подключенное устройство в меню Scheme:
Ниже мой путь
Выберите проект → Общие → Информация о развертывании → Цель развертывания → выберите более низкую версию
Я отвечаю на проблему, которую можно выбрать только "Generic iOS Device". и когда я запускаю, это говорит "Невозможно использовать устройство для сборки только для запуска этой цели. Нет доступных устройств iOS. Подключите устройство для запуска вашего приложения или выберите имитируемое устройство в качестве адресата"
и мое решение проблемы заключается в выборе настроек сборки --- > Развертывание ----- > Цель развертывания IOS ---- > выберите более низкую версию, например, 8.0,
и я обнаружил, что симулятор вышел и может быть выбран.
Вам нужно получить список действительных мест назначения. Чтобы сделать это, укажите пару ошибочных ключей и xcodebuild выплюнет комбинации, которые работают:
Список команд назначения
xcodebuild test -destination 'platform=iOS Simulator' -workspace Register.xcworkspace -scheme ThatTestTarget
Пример вывода
Available destinations for the "ThatTestTarget" scheme:
{ platform:iOS Simulator, id:145A9B7E-B336-4819-8059-2FFEC408E05E, OS:11.1, name:iPad (5th generation) }
{ platform:iOS Simulator, id:69ABAF6F-ADA3-4E38-AC97-D71001447663, OS:9.3, name:iPad 2 }
{ platform:iOS Simulator, id:550E2F18-406D-4586-84BB-E48F1D704F27, OS:10.3.1, name:iPad Air }
{ platform:iOS Simulator, id:94734F1C-775F-40FA-9015-8196C08805EF, OS:11.1, name:iPad Air }
{ platform:iOS Simulator, id:1DB953DD-CD97-4EC7-8006-BCF01DF3E63F, OS:11.1, name:iPad Air 2 }
{ platform:iOS Simulator, id:DE3072DA-2E31-423D-9D77-220626F8B90A, OS:11.1, name:iPad Pro (9.7-inch) }
{ platform:iOS Simulator, id:3B5D18DB-13B5-4F28-B654-7D2ECDD1F6F0, OS:11.1, name:iPad Pro (10.5-inch) }
{ platform:iOS Simulator, id:A4225E3A-512C-4F42-ADD9-1E7E448C4D27, OS:11.1, name:iPad Pro (12.9-inch) }
{ platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation) }
Изменение колоний для равных знаков, удаление пробелов, Игнорировать идентификатор
Поэтому, если вы хотите использовать это назначение:
platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation)
Измените двоеточия для запятых, удалите пробелы, удалите идентификатор, чтобы вы получили эту строку:
platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)
Тогда вся команда будет:
xcodebuild test -destination 'platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)' -workspace Register.xcworkspace -scheme ThatTestTarget
Вы создаете для Xcode "Build Only Device", которое компилирует приложение. для процессора ARM (тогда как компиляция для симулятора нацелена на процессор Intel на вашем Mac.)
Подключите устройство и выберите его из всплывающего окна активной схемы или выберите один из симуляторов, и вам должно быть хорошо идти.
С XCode 8.3.2 я получил это сообщение об ошибке после того, как попытался запустить приложение на заблокированном устройстве. Я разблокировался и снова подключился, как было запрошено, но для запуска этой цели нельзя использовать "Устройство только для сборки". появилось сообщение.
Я просто изменил цель на симулятор и изменил его - он разрешил мою проблему.
Модификация на @Quver ответ. С последней версией Xcode (8.3) параметры команды назначения должны быть указаны в двойных кавычках. Одиночные кавычки не работали для меня
добавить -destination "platform=iOS Simulator,name=iPhone 7"
в xcodebuild
Я не упомянул версию ОС в приведенной выше команде, потому что, когда выпущена более новая версия iOS, эта команда будет через ошибку сообщать, что это устройство не найдено. Поэтому лучше не указывать версию ОС
xcodebuild вещи не работали в моем случае.
Вот что я решил.
Я удалил свою учетную запись в Apple и переустановил (login) по предпочтению xcode, и это было решено.
пс. на iphone 10.1 мне нужно было нажать кнопку Trust на General > Device Management > account info > Trust App
Для чего стоит, если вы получите сообщение об ошибке A build only device cannot be used to run this target
и увидите в навигаторе проблем этот текст:
ProjectName
Целевая целостность:
Цель развертывания iOS "XX.X" - это новее, чем SDK "iOS YY.Y" в
target ProjectName
то проблема в том, что для проекта требуется SDK для iOS, который является более новым, чем версия вашей версии Xcode. Вы найдете эту проблему, например, в проектах, использующих новые функции /beta iOS SDK, такие как ARKit.
Решение состоит в том, чтобы загрузить новейшую бета-версию Xcode, которая должна поддерживать непубличный выпущенный SDK iOS, который приложение требует. Если у вас последний Xcode, попробуйте найти целевой iOS в Preferences -> Components -> Simulators
.
Я исправил эту проблему для эмулятора,
Сначала проверьте список эмуляторов
Окно> Устройства и симуляторы
после выбора любого устройства и нажмите "Проверить версию ОС"
Если у вас есть только Apple Watch OS, вы должны скачать новый IOS Simulator
и нажмите загрузить больше времени для симулятора.
выберите правильный IOS Simulator и загрузите его.
Я просто имею эту проблему с Xcode v10.1, используя плагин ARkit от Unity 2018 211f1 iosBuild.
После выполнения:
Продукт/Анализ
У меня около 700 предупреждений, в основном из-за устаревшего кода.
Я исправил эту проблему, зайдя в настройки проекта, и в разделе "Цели" мне пришлось установить цель "Тесты" для правильной команды.
Хорошо, если вы хотите получить список доступных адресатов, тогда вызовите xcodebuild и передайте параметр командной строки -showdestinations
, и он выведет допустимые параметры для выбора:
xcodebuild -showdestinations -workspace Register.xcworkspace -scheme ThatTestTarget
Я попробовал почти все выше, включая перезапуск XCode, ни один из них не работал для меня. Я решил эту проблему, просто перезагрузив мой Mac. Да, классическое решение.
Примечание: эта проблема возникла с моим XCode после того, как он запросил мой пароль Mac у меня, вероятно, после автоматического обновления.
У меня была совершенно другая проблема. По какой-то причине мое приложение " Устройства" было настроено на Universal, а не на iPhone. Когда я переключил его на iPhone, все сработало. Не нужны дополнительные настройки.
Это сработало для меня.
Вы пытаетесь запустить устройство, когда вы уже создали его для другой схемы. Перейдите в
Продукт > Очистить.
Затем создайте свое устройство, выбранное из активных схем.