Параметр для xcodebuild для использования последнего sdk.
Я использую задачу ant exec для выполнения xcodebuild для сборки некоторых проектов iOS hudson. Я хотел бы иметь возможность разбивать script таким образом, чтобы не указывать версию sdk, потому что после обновления sdk на hudson slave или моих проектов iOS все мои проекты не выполняются....
В xcode есть хорошая опция, так как sdk 4.2 в настройке цели Base SDK - Latest iOS
и я не должен предоставлять параметр -sdk
в команде xcodebuild, но затем (я думаю), он был взят из проекта xcode, и это плохо, потому что тогда кто-то может случайно сменить цель с симулятора на устройство во время фиксации.
Мне нужно что-то постоянное. Я предпочел бы не использовать переменную env, потому что я хотел бы иметь возможность запускать эту задачу ant также на dev-машинах и не хотел бы вспоминать об установке ее на всех машинах.
К сожалению xcodebuild -showsdks
дает только:
Mac OS X SDKs:
Mac OS X 10.4 -sdk macosx10.4
Mac OS X 10.5 -sdk macosx10.5
Mac OS X 10.6 -sdk macosx10.6
iOS SDKs:
iOS 4.2 -sdk iphoneos4.2
iOS Simulator SDKs:
Simulator - iOS 3.2 -sdk iphonesimulator3.2
Simulator - iOS 4.0 -sdk iphonesimulator4.0
Simulator - iOS 4.1 -sdk iphonesimulator4.1
Simulator - iOS 4.2 -sdk iphonesimulator4.2
Мне нужно что-то вроде -sdk iphoneosLatest
. Моя единственная идея - вывести вывод xcodebuild -showsdks
с некоторым script, но мне не нравится эта идея.
Ответы
Ответ 1
Вы можете использовать xcodebuild с последним SDK, используя:
-
xcodebuild -sdk iphoneos
, для устройства
-
xcodebuild -sdk iphonesimulator
, для симулятора.
Мы используем эти опции для наших автоматизированных сборок и работаем с XCode 3.2.5
Ответ 2
Я считаю, что вы можете использовать xcodebuild -sdk iphoneos
(номер версии не для этого).
Ответ 3
Я попробовал решение @jenningj, и это сработало для меня. Maciek Sawicki, если это сработает для вас, вы должны отметить его как правильное решение.
Кроме того, xcodebuild -showsdk
должен быть xcodebuild -showsdks
.
Ответ 4
Вы можете попробовать: xcodebuild -showsdks | grep -Eo "iphoneos([0-9]{1,}\.)+[0-9]{1,}"