Подтвердить что ты не робот

Xcode не может работать с выбранным устройством после обновления до Xcode 5.0

Сегодня я обновил до xcode 5.0. Затем я нажал кнопку, чтобы запустить мой проект в симуляторе iOS. Это изначально работало. Затем я решил, что хочу запустить профилировщик. Когда я это сделал, я получил сообщение:

Xcode cannot run using the selected device. 
Choose a destination with a supported architecture in order to run on this device.

Я посмотрел пару предыдущих сообщений по этой проблеме и решил сделать "Чистое" и "Сборка". Теперь я больше не могу работать в профилировщике или симуляторе. Я постоянно получаю сообщение:

Xcode cannot run using the selected device. 
Choose a destination with a supported architecture in order to run on this device.

Как я могу это решить?

Вот несколько настроек:

Мой целевой уровень развертывания - 6.1

My Build Settings Architectures looks like:

Я также попытался изменить цель развертывания на 7.0, но это не сработало

4b9b3361

Ответ 1

Похоже, что проблема не связана с архитектурой в настройках сборки, как может показаться ошибка. Скорее, я обнаружил, что проблема, похоже, связана с компилятором параметров сборки для C/С++/Objective C. Я использовал компилятор gcc (com.apple.compilers.llvmgcc42), а Xcode 5 отметил это как неподдерживаемый.

Если я сменил компилятор на Apple по умолчанию Apple LLVM 5.0, проект будет построен, и теперь он может работать в симуляторе. Недостатком является то, что у меня есть много предупреждений компилятора из кода, связанного с исходным кодом cocos2D v1.0. Но, по крайней мере, у меня есть путь вперед.

Ответ 2

Пожалуйста, следуйте ниже.

1 > Перейдите к настройке сборки проекта

2 > Измените компилятор для c/С++/object c как компилятор по умолчанию (Apple LLVM 5.0) (см. ниже изображение)

enter image description here

Ответ 3

Мне пришлось сменить компилятор для компилятора Default (Apple LLVM 5.0) в двух местах:

  • Настройки сборки > Параметры сборки > Компилятор для C/С++/ Objective-C (изменение LLVM)
  • Правила сборки > Файлы *.mc с использованием GCC (изменение LLVM)

Трудно найти, потому что код компилируется, даже если правила сборки указывают на компилятор undefined.

Ответ 4

После проверки всех настроек сборки в течение 15 минут это сработало для меня (Xcode 5.0.2):

Выйти и перезапустить Xcode

Ответ 5

Убедитесь, что исполняемый файл (также известный как CFBundleExecutable) в файле Info.plist имеет значение ${EXECUTABLE_NAME}, в отличие от любого жестко заданного значения. Это гарантирует, что даже если вы измените имя проекта или имя цели или имя схемы, это все еще работает.

Ответ 6

Эта проблема часто возникает после дублирования целей в старых проектах.

Задайте в целевом файле Info.plist следующее:

Bundle Name = ${PRODUCT_NAME}
Bundle Display Name = ${PRODUCT_NAME}
Executable file = ${EXECUTABLE_NAME}

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

Ответ 7

Это работает для меня: "Закройте и перезапустите Xcode". Недавно я что-то обновил, и тестовое устройство на Xcode сказал: "iDevice" не iPhone или iPod. Поэтому я перезапустил, затем мой iPhone вернулся в целевой список.

Ответ 8

У меня была эта ошибка, когда я изменил значение "Название пакета" в свойствах Target. Изменение его на "% {PRODUCT_NAME}" решило проблему для меня.