Невозможно построить с использованием Xcode 4 - выбранное назначение выполнения недопустимо для этого действия - PullRequest
36 голосов
/ 24 марта 2011

Так что я ужасно смущен этой ошибкой, другие потоки в переполнении стека упоминают, что я должен установить SDK, но я не вижу возможности сделать это. Я пытаюсь построить: http://wafflesoftware.net/shortcut/

И у меня нет вариантов, и я могу выбрать только мой Mac 64-битный, а я хочу его в 32-битном. Действительно начинает ненавидеть Xcode 4.

Вот скриншот, когда я пытаюсь отредактировать свою схему: http://groovyape.com/scheme.png

Мысли

Ответы [ 12 ]

71 голосов
/ 24 марта 2011

Во-первых, я заметил, что когда Xcode 4 решает, что мой Mac является 64-битным, и все мои другие схемы исчезли, перезапуск Xcode исправляет это.

Если после перезапуска проблема не исчезнет, ​​перейдитедля управления схемами ... (в меню продукта) и нажмите кнопку "Создать схемы сейчас".Попробуйте удалить другие схемы и посмотрите, сможете ли вы запустить проект сейчас.

Однако, если проблема заключается в том, что вам нужно установить SDK, это не так:

  1. Нажмите назначок проекта верхнего уровня на левой панели
  2. На появившейся правой панели выберите Build Settings (рядом с верхней частью).
  3. Выберите опцию «Все» (вместо комбинированной)
  4. Убедитесь, что базовый SDK установлен надлежащим образом, например, "OS X 10.7".

FWIW Я серьезно думаю о том, чтобы вернуться к Xcode 3.2.5 в данный момент, 4 кажется ужасно ошибочным.

9 голосов
/ 05 сентября 2012

В xCode 4.4.1, используйте Validate Settings для решения проблемы!

Теперь я могу выбрать 32bit или 64bit.

6 голосов
/ 08 апреля 2011

При попытке использовать XCode 4 для создания / запуска крошечного проекта Objective-C "Hello, World", созданного мной в XCode 3, возникло то же сообщение об ошибке ("Выбранное назначение выполнения недопустимо для этого действия"). Икс. Исправлено, выбрав «Управление схемами ...» в раскрывающемся меню справа от кнопки «Стоп», удалив одну схему в списке (установите флажок рядом со схемой, затем нажмите «» - «кнопка внизу слева), а затем нажмите« Создать схемы сейчас ».

Мне также нужно было изменить «Базовый SDK» с 10.5 до 10.6, щелкнув значок «папка» (под кнопкой «Выполнить»), щелкнув корневой / верхний вид дерева под ним, щелкнув синий значок ниже. «ПРОЕКТ» на панели справа и, наконец, выбрав «Последняя версия Mac OS X (Mac OS X 10.6)» справа от этого.

4 голосов
/ 10 июля 2011

У меня была эта проблема сегодня. Я обнаружил, что переключение Base SDK с Последняя версия iOS (4.3) на iOS 4.3 исправило все.

2 голосов
/ 03 июня 2012

Удивительно, что ни один из ответов здесь не решил проблему для меня, но я понял это.Забудьте о перезапуске Xcode или использовании Autocreate Schemes, но только 64-битный будет отображаться в качестве допустимого места назначения в схеме.

Правильное решение - изменить архитектуру для вашего проекта.Перейдите в «Настройки сборки» (в корневом узле вашего проекта) и измените «Архитектура» на 32-разрядную версию Intel, она находится прямо над настройкой Base SDK.Пункт назначения мгновенно переключится на «Мой Mac 32-битный».HTH кто-то.

2 голосов
/ 20 сентября 2011

Это произойдет, если XCode считает, что ваш Mac - это 64-разрядная машина, а на самом деле это 32-разрядная версия.Если это так, просто нажмите значок вашего проекта на крайней левой панели - это пункт меню, который отображает название вашего проекта рядом с небольшим синим значком.Это должно вызвать центральную панель с надписью «ПРОЕКТ» вверху.Выделите имя вашего проекта, и на третьей панели теперь должны отображаться ваши настройки сборки.Первый элемент - это «Архитектура», которая позволит вам указать, создаете ли вы 32-битное или 64-битное приложение.

1 голос
/ 25 сентября 2012

Xcode 4.5. Я пытался скомпилировать для 10.6. Кажется, он завис на 64-битном только потому, что не смог найти SDK. Я не получил никакого сообщения об этом, не находя SDK.

Сначала я попытался указать правильный путь к /Developer-3.2.6/SDKs/MacOSX10.6.sdk, но xcode не захотел его там искать. Затем я скопировал эту папку в 4.5 рядом с другим OSX Platform SDK (новое расположение, я думаю, просто посмотрите в комплекте).

И волшебным образом вернулись мои 32 бита.

Итак, мой вывод заключается в том, что параметр 32/64 бита действительно зависит от того, может ли xcode проверить sdk, который вы пытаетесь использовать. Застревание в 64 при попытке компиляции для 32 дает ошибку, не уведомляя вас, что ее первая проблема заключается в том, что sdk не может быть найден.

1 голос
/ 19 июля 2011

Я обнаружил, что хорошей практикой для перехода с Xcode 3.2.X на Xcode 4 является удаление любых ссылок на более старые SDK (в случае Mac OS удаление любого базового SDK Ref и т. Д. Для Mac OS <= 10,5 В случае iOS, я думаю, вам нужно удалить все <= 4.3) ДО обновления до Xcode 4. </p>

У меня никогда не возникало проблем с новыми проектами, созданными в Xcode 4, только для таких, которые были созданы с помощью Xcode 3.X или 2.X

1 голос
/ 02 мая 2011

У меня была эта проблема, и, возможно, это было совпадение, но когда я перезапустил XC4, но на этот раз не решил загрузить свой проект из всплывающего окна, которое появляется при запуске, - вместо этого, выбрав его явно изМеню Файл - проблема не возникла, и сборка началась нормально.

В 3 или 4 случаях у меня была эта ошибка, я выбирал загрузку проекта из всплывающего окна, которое появляется при первой загрузке XC4.

Как я уже сказал, возможно, мне просто повезло, но я, конечно, не внес никаких других изменений в проекты, чтобы «исправить» проблему.

1 голос
/ 24 марта 2011

Звучит так, как будто вы пытаетесь запустить (Cmd-R или кнопку запуска) фреймворк (что вы не можете сделать - это не исполняемый файл, просто библиотека), а не просто собрать его (Cmd-B).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...