Xcode@4 - Xcode v4 görevi
MacOS üzerinde Xcode çalışma alanı oluşturmak, test etmek veya arşivlemek ve isteğe bağlı olarak bir uygulamayı paketlemek için bu görevi kullanın.
Syntax
# Xcode v4
# Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
- task: Xcode@4
inputs:
actions: 'build' # string. Required. Actions. Default: build.
#configuration: '$(Configuration)' # string. Configuration. Default: $(Configuration).
#sdk: '$(SDK)' # string. SDK. Default: $(SDK).
#xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' # string. Workspace or project path. Default: **/*.xcodeproj/project.xcworkspace.
#scheme: # string. Scheme.
#xcodeVersion: 'default' # '8' | '9' | 'default' | 'specifyPath'. Xcode version. Default: default.
#xcodeDeveloperDir: # string. Optional. Use when xcodeVersion == specifyPath. Xcode developer path.
# Package options
#packageApp: false # boolean. Create app package. Default: false.
#archivePath: # string. Optional. Use when packageApp == true. Archive path.
#exportPath: 'output/$(SDK)/$(Configuration)' # string. Optional. Use when packageApp == true. Export path. Default: output/$(SDK)/$(Configuration).
#exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. Optional. Use when packageApp == true. Export options. Default: auto.
#exportMethod: 'development' # string. Required when exportOptions == specify. Export method. Default: development.
#exportTeamId: # string. Optional. Use when exportOptions == specify. Team ID.
#exportOptionsPlist: # string. Required when exportOptions == plist. Export options plist.
#exportArgs: # string. Optional. Use when packageApp == true. Export arguments.
# Signing & provisioning
#signingOption: 'nosign' # 'nosign' | 'default' | 'manual' | 'auto'. Signing style. Default: nosign.
#signingIdentity: # string. Optional. Use when signingOption = manual. Signing identity.
#provisioningProfileUuid: # string. Optional. Use when signingOption = manual. Provisioning profile UUID.
#teamId: # string. Optional. Use when signingOption = auto. Team ID.
# Devices & simulators
#destinationPlatformOption: 'default' # 'default' | 'iOS' | 'tvOS' | 'macOS' | 'custom'. Destination platform. Default: default.
#destinationPlatform: # string. Optional. Use when destinationPlatformOption == custom. Custom destination platform.
#destinationTypeOption: 'simulators' # 'simulators' | 'devices'. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS. Destination type. Default: simulators.
#destinationSimulators: 'iPhone 7' # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators. Simulator. Default: iPhone 7.
#destinationDevices: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices. Device.
# Advanced
#args: # string. Arguments.
#workingDirectory: # string. Alias: cwd. Working directory.
#outputPattern: # string. Output directory.
#useXcpretty: false # boolean. Use xcpretty. Default: false.
#publishJUnitResults: false # boolean. Publish test results to VSTS/TFS. Default: false.
Girişler
actions
- Eylem
string
. Gereklidir. Varsayılan değer: build
.
Boşlukla ayrılmış eylem listesini belirtir. Geçerli seçenekler : build
, clean
, test
, analyze
ve archive
. Örneğin,clean build
temiz bir derleme gerçekleştirir. Bkz. Apple: Xcode SSS ile komut satırından oluşturma.
configuration
- Yapılandırma
string
. Varsayılan değer: $(Configuration)
.
Derlemek için Xcode projesini veya çalışma alanı yapılandırmasını belirtir. Değişken kullanırken, Değişkenler sekmesinde bir değer (örneğin, Release
) belirtin.
sdk
- SDK
string
. Varsayılan değer: $(SDK)
.
Xcode projesini veya çalışma alanını oluştururken kullanılacak bir SDK belirtir. geçerli SDK listesini görüntülemek için macOS Terminal uygulamasında komutunu çalıştırın xcodebuild -showsdks
. Değişken kullanırken, Değişkenler sekmesinde bir değer (örneğin, iphonesimulator
) belirtin.
xcWorkspacePath
- Çalışma alanı veya proje yolu
string
. Varsayılan değer: **/*.xcodeproj/project.xcworkspace
.
İsteğe bağlı. Deponun kökünden Xcode çalışma alanına veya projesine göreli bir yol belirtir. Bir değer belirtirseniz, düzeni de belirtmeniz gerekir. Gelişmiş Bağımsız Değişkenler'de belirtiyorsanız -target flag
bir değer belirtmeyin. Örneğin MyApp/MyApp.xcworkspace
veya MyApp/MyApp.xcodeproj
olabilir.
scheme
- Düzeni
string
.
İsteğe bağlı. Bir Xcode düzeni adı belirtir. Paylaşılan bir düzen olmalıdır (Xcode'da Yönetilen Düzenler altında paylaşılan onay kutusu). Bir düzen belirtmezseniz ve belirtilen çalışma alanının tek bir paylaşılan düzeni varsa, çalışma alanı düzeni kullanılır.
xcodeVersion
- Xcode sürümü
string
. İzin verilen değerler: 8
(Xcode 8), 9
(Xcode 9), default
, specifyPath
(Yolu belirtin). Varsayılan değer: default
.
Xcode'un hedef sürümünü belirtir. Aracı makinede varsayılan Xcode sürümünü kullanmak için seçin Default
. Bir sürüm numarası (örneğin, ) belirtilmesi, Xcode 9
aracı makinedeki ortam değişkenleri tarafından ayarlanacak sürümün konumunu kullanır (örneğin, XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer
). Xcode geliştirici dizinine belirli bir yol sağlamak için öğesini seçin Specify path
.
xcodeDeveloperDir
- Xcode geliştirici yolu
string
. İsteğe bağlı. olduğunda xcodeVersion == specifyPath
kullanın.
Belirli bir Xcode geliştirici dizininin yolunu belirtir (örneğin, /Applications/Xcode_9.0.0.app/Contents/Developer
). Aracı makineye Xcode'un birden çok sürümü yüklendiğinde bu giriş yararlıdır.
packageApp
- Uygulama paketi oluşturma
boolean
. Varsayılan değer: false
.
Derlemenin bir parçası olarak bir IPA uygulama paketi dosyasının oluşturulup oluşturulmayacağını belirtir.
archivePath
- Arşiv yolu
string
. İsteğe bağlı. olduğunda packageApp == true
kullanın.
Oluşturulan arşivlerin yerleştirildiği dizini belirtir.
exportPath
- Dışarı aktarma yolu
string
. İsteğe bağlı. olduğunda packageApp == true
kullanın. Varsayılan değer: output/$(SDK)/$(Configuration)
.
Arşivden dışarı aktarılan ürünün hedefini belirtir.
exportOptions
- Dışarı aktarma seçenekleri
string
. İsteğe bağlı. olduğunda packageApp == true
kullanın. İzin verilen değerler: auto
(Otomatik), plist
, specify
. Varsayılan değer: auto
.
Arşivi dışarı aktarma seçeneklerini belirtir. varsayılan değeri Automatic
seçildiğinde, dışarı aktarma yöntemi arşivden otomatik olarak algılanır. Dışarı aktarma seçeneklerini içeren bir plist dosyası belirtmek için seçin Plist
. Belirli bir Dışarı Aktarma yöntemini ve Ekip Kimliğini sağlamak için öğesini seçinSpecify
.
exportMethod
- Dışarı aktarma yöntemi
string
. olduğunda exportOptions == specify
gereklidir. Varsayılan değer: development
.
Xcode'un arşivi dışarı aktarmak için kullandığı yöntemi belirtir. Örneğin: app-store
, package
, ad-hoc
, enterprise
veya development
.
exportTeamId
- Ekip Kimliği
string
. İsteğe bağlı. olduğunda exportOptions == specify
kullanın.
Dışarı aktarma sırasında kullanılacak Apple Geliştirici Portalı 10 karakterlik ekip kimliğini belirtir.
exportOptionsPlist
- Dışarı aktarma seçenekleri plist
string
. olduğunda exportOptions == plist
gereklidir.
Dışarı aktarma sırasında kullanılacak seçenekleri içeren plist dosyasının yolunu belirtir.
exportArgs
- Bağımsız değişkenleri dışarı aktarma
string
. İsteğe bağlı. olduğunda packageApp == true
kullanın.
Dışarı aktarma sırasında kullanılan ek komut satırı bağımsız değişkenlerini belirtir.
signingOption
- İmzalama stili
string
. İzin verilen değerler: nosign
(Kod imzalama), (Proje varsayılanları), default
manual
(El ile imzalama), auto
(Otomatik imzalama). Varsayılan değer: nosign
.
Derlemeyi imzalama yöntemini belirtir. İmzalama özelliğini devre dışı bırakmak için seçin Do not code sign
. Yalnızca projenin imzalama yapılandırmasını kullanmak için seçin Project defaults
. El ile imzalamaya zorlamak için seçin Manual signing
ve isteğe bağlı olarak bir imzalama kimliği ve sağlama profili belirtin. Otomatik imzalamayı zorlamak için öğesini seçin Automatic signing
ve isteğe bağlı olarak bir geliştirme ekibi kimliği belirtin. Projeniz imzalama gerektiriyorsa, Xcode derlemesi öncesinde sertifikaları ve sağlama profillerini yüklemek için Apple... yükleme görevlerini kullanın.
signingIdentity
- İmzalama kimliği
string
. İsteğe bağlı. olduğunda signingOption = manual
kullanın.
Derlemenin imzalandığı imzalama kimliğini geçersiz kılmayı belirtir. Aracı makinede varsayılan anahtar zincirinin kilidinin açılması gerekebilir. Değer girilirse, Xcode projesinin ayarı kullanılır.
provisioningProfileUuid
- Sağlama profili UUID
string
. İsteğe bağlı. olduğunda signingOption = manual
kullanın.
Derleme için kullanılan yüklü bir sağlama profilinin UUID değerini belirtir. Tek bir çalışma alanında (iOS, tvOS, watchOS) hedefe göre sağlama profilleri belirtmek için farklı şemalara veya hedeflere sahip ayrı derleme görevleri kullanın.
teamId
- Ekip Kimliği
string
. İsteğe bağlı. olduğunda signingOption = auto
kullanın.
Birden çok geliştirme ekibine üyeyseniz gereklidir. 10 karakterlik geliştirme ekibi kimliğini belirtir.
destinationPlatformOption
- Hedef platform
string
. İzin verilen değerler: default
, iOS
(iOS ve watchOS), tvOS
, macOS
, custom
. Varsayılan değer: default
.
Genel derleme cihazı geçerli olmadığında kullanıcı arabirimi testi için kullanılan hedef cihazın platformunu belirtir. Listeye dahil olmayan bir platform belirtmeyi seçin Custom
. Default
Seçildiğinde hiçbir simülatör veya cihaz hedeflenmez.
destinationPlatform
- Özel hedef platform
string
. İsteğe bağlı. olduğunda destinationPlatformOption == custom
kullanın.
Genel derleme cihazı geçerli olmadığında kullanıcı arabirimi testi için kullanılan hedef cihazın platformunu belirtir.
destinationTypeOption
- Hedef türü
string
. İsteğe bağlı. olduğunda destinationPlatformOption != default && destinationPlatformOption != macOS
kullanın. İzin verilen değerler: simulators
(Simülatör), devices
(Bağlı Cihaz). Varsayılan değer: simulators
.
Kullanıcı arabirimi testi için kullanılan hedef türünü belirtir. Cihazların, derlemeyi bir kablo veya ağ bağlantısı aracılığıyla gerçekleştiren Mac'e bağlı olması gerekir. Daha fazla bilgi için bkz. Xcode'da Cihazlar ve Simülatörler .
destinationSimulators
- Simülatörü
string
. İsteğe bağlı. olduğunda destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators
kullanın. Varsayılan değer: iPhone 7
.
Kullanıcı arabirimi testi için kullanılan bir Xcode simülatörü adı belirtir. Örneğin, iPhone X
(iOS ve watchOS) veya Apple TV 4K
(tvOS). İsteğe bağlı bir hedef işletim sistemi sürümü gibi iPhone X,OS=11.1
biçiminde OS=<versionNumber>
belirtilebilir. Barındırılan macOS Önizleme aracısında yüklü simülatörler hakkında daha fazla bilgi edinin.
destinationDevices
- Aygıt
string
. İsteğe bağlı. olduğunda destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices
kullanın.
Kullanıcı arabirimi testi için kullanılan cihazın adını belirtir, örneğin Raisa's iPad
.
args
- Bağımsız değişken
string
.
İsteğe bağlı. Derleyebileceğiniz ek komut satırı bağımsız değişkenlerini belirtir. Bu giriş, çalışma alanı/proje ve düzen yerine veya -project
bağımsız değişkenlerini belirtmek -target
için kullanışlıdır. Bkz. Apple: Xcode SSS ile komut satırından oluşturma.
workingDirectory
- Çalışma dizini
Giriş diğer adı: cwd
. string
.
İsteğe bağlı. Derlemenin çalıştırıldığı çalışma dizinini belirtir. Değer girilirse, deponun kökü kullanılır.
outputPattern
- Çıkış dizini
string
.
İsteğe bağlı. Derleme çıkışının (ikililer) yerleştirildiği çalışma dizininin göreli yolunu belirtir. Örneğin: output/$(SDK)/$(Configuration)
veya output/$(TestSDK)/$(TestConfiguration)
. Arşiv ve dışarı aktarma yolları ayrı ayrı yapılandırılır. Değişkenler sekmesinde değerleri belirtin.
useXcpretty
- xcpretty kullanma
boolean
. Varsayılan değer: false
.
Çıkışı biçimlendirmek xcodebuild
için kullanılıp kullanılmayacağını xcpretty
belirtir ve JUnit test sonuçları oluşturur. xcpretty
aracı makinesine yüklenmelidir (VSTS tarafından barındırılan derleme aracılarına önceden yüklenmiştir). Daha fazla bilgi için bkz. xcpretty .
publishJUnitResults
- Test sonuçlarını VSTS/TFS'de yayımlama
boolean
. Varsayılan değer: false
.
Etkinleştirilirse xcpretty
, bu giriş JUnit test sonuçlarının VSTS/TFS'de yayımlanıp yayımlanmayacağını belirtir.
Görev denetimi seçenekleri
Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.
Çıkış değişkenleri
Yok.
Açıklamalar
macOS üzerinde bir Xcode çalışma alanı oluşturmak için bu görevi kullanın.
Örnekler
Gereksinimler
Gereksinim | Açıklama |
---|---|
İşlem hattı türleri | YAML, Klasik derleme |
Üzerinde çalıştırılır | Agent, DeploymentGroup |
Talep | Şirket içinde barındırılan aracılar, bu görevi kullanan işleri çalıştırmak için aşağıdaki taleplerle eşleşen özelliklere sahip olmalıdır: xcode |
Özellikler | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
Komut kısıtlamaları | Herhangi biri |
Ayarlanabilir değişkenler | Herhangi biri |
Aracı sürümü | Desteklenen tüm aracı sürümleri. |
Görev kategorisi | Derleme |