параметр для xcodebuild для использования последней SDK. - PullRequest
47 голосов
/ 30 ноября 2010

Я использовал задачу ant exec для выполнения xcodebuild для сборки некоторых проектов iOS, hudson.Я хотел бы иметь возможность создавать сценарии таким образом, чтобы не указывать версию SDK, потому что после обновления SDK на HADSON Slave или в моих проектах iOS все мои проекты терпят неудачу ....

Есть хорошая опция вxcode начиная с sdk 4.2 в настройке цели Base SDK - Latest iOS

, и мне не нужно указывать -sdk параметр в команде xcodebuild, но затем (я думаю) это взято из проекта xcode, и это плохо, потому что какой-то одинможет случайно изменить цель с симулятора на устройство при коммите.

Мне нужно что-то постоянное.Я предпочитаю не использовать переменную env, потому что я хотел бы иметь возможность запускать эту задачу ant также на машинах разработчиков и не хотел бы вспоминать об установке ее на всех машинах.

К сожалению 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 с помощью некоторого сценария, но мне не нравится эта идея.

Ответы [ 4 ]

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

Вы можете использовать xcodebuild с последним SDK, используя:

  • xcodebuild -sdk iphoneos, для устройства
  • xcodebuild -sdk iphonesimulator, для симулятора.

Мы используем эти опции для наших автоматических сборок, и это работает с XCode 3.2.5

8 голосов
/ 01 декабря 2010

Я полагаю, что вы можете использовать xcodebuild -sdk iphoneos (без номера версии) для достижения этой цели.

6 голосов
/ 07 января 2011

Я попробовал решение @jenningj, и оно сработало для меня.Maciek Sawicki, если это работает для вас, вы должны пометить его как правильное решение.

Также xcodebuild -showsdk должно быть xcodebuild -showsdks.

0 голосов
/ 28 марта 2017

Вы можете попробовать: xcodebuild -showsdks | grep -Eo "iphoneos([0-9]{1,}\.)+[0-9]{1,}"

...