Какая разница между "Any IOS SDK" и "Debug" в подписи кода Xcode 4?

В настройках Xcode 4 Build есть 2 места для ввода профиля подготовки для каждого типа сборки. Первый - "Ad Hoc", "Debug" и "Release". У каждого из них есть другое место, чтобы включить профиль обеспечения, называемый "Any IOS SDK". Нужно ли заполнять оба? Какая разница между ними?

enter image description here

Ответ 1

В инструментах сборки XCode используется наиболее подходящий параметр, поэтому, если вы установили значение "Any IOS SDK" в разделе "Отладка", вам не нужно устанавливать параметр "Отладка" и т.д.

Этот интерфейс (или был) там, я полагаю, позволяет сделать очевидным, что есть способы настроить профиль подготовки для определенных SDK. Если единственным вариантом был "Any IOS SDK", он был бы лишним для строки выше.

С другой стороны, наличие не-generic default также может смутить пользователей, которые будут размещать на Stack Exchange, спрашивая: "Почему существуют строки для Ad Hoc и IOS 4.2 SDK?"

Ответ 2

Я считаю, что это артефакт с версиями Xcode.

Удалите их, отредактировав проект Xcode. Он дублирует объем работы, если они отличаются моим опытом. Мне пришлось изменить оба на тот же профиль, иначе сборка завершится неудачно.

Xcode будет восстанавливать настройки проекта, и у вас будет только отладка, выпуск и adhoc.

Руководство по любой очистке SDK iOS

Delete these lines to get rid of Any iOS SDK Удалите выделенные строки в файле проекта Xcode.

No Any iOS SDK artifacts Теперь у вас есть половина настроек.

Ответ 3

Ad Hoc, Debug и Release - это конфигурации. У вас три, потому что каждый раз вам нужен другой профиль подготовки (iPhone Developer, iPhone Distribution и т.д.). Когда вы строите, вы выбираете, какую конфигурацию использовать.