xcodebuild: symulator czy urządzenie?

Jak określić do xcodebuild (narzędzie wiersza poleceń), czy chcę zbudować symulator czy urządzenie?

Author: Steven Fisher, 2011-02-16

2 answers

Budowa XCode z linii poleceń wygląda następująco:

xcodebuild -configuration ${BUILD_TYPE} -target ${TARGET_NAME} -arch ${CPU_ARCHITECTURE} -sdk ${SIMULATOR_OR_IOS_SDK} 

BUILD_TYPE jest to coś w rodzaju " Release "lub" Debug " (są to domyślne wartości, być może dodałeś Inne do projektu)

TARGET_NAME jest to nazwa obiektu docelowego, który budujesz (domyślnie ta sama nazwa co projekt)

CPU_ARCHITECTURE jest to procesor, dla którego budujesz, jeden z:

I386, armv6, armv7

Użyj i386 do kompilacji symulatorów i użyj armv6 lub armv7 w przypadku kompilacji urządzeń-zauważ, że niektóre inne urządzenia nie mogą uruchomić kodu armv7, więc zwykle podczas budowania bibliotek dobrym pomysłem jest zbudowanie wszystkich tych architektur, a następnie sklejenie ich razem za pomocą lipo.

SIMULATOR_OR_IOS_SDK to jest to, czego szukasz, to albo iphoneos albo iphonesimulator. Wartości te używają najnowszej wersji SDK, które obsługuje zainstalowany XCode, można uzyskać listę obsługiwanych SDK z:

xcodebuild -showsdks

Który zwraca listę typu:

Mac OS X SDKs:
    Current Mac OS                  -sdk 
    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

xcodebuild ma więcej flag niż to, ale są to te, których zwykle używasz po użyciu XCode do skonfigurowania właściwości kompilacji. Nie musisz używać wszystkich z nich, ale prawdopodobnie jest to dobry pomysł, aby być jasnym o tym, co budujesz - w przeciwnym razie wierzę, że Twoje ostatnie ustawienia są używane.

 125
Author: Kendall Helmstetter Gelner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-25 20:46:11

Uważam flagę -xcconfig za bardzo przydatną. ta opcja pozwala określić ścieżkę do pliku ustawień XCCONFIG (build settings file). w XCCONFIG możesz #include inne pliki xcconfig.

 1
Author: justin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-16 05:33:37