Mobil uygulamanızı imzalama

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Android veya Apple işletim sistemleri için bir uygulama geliştirirken, sonunda imzalama sertifikalarını ve Apple uygulamaları söz konusu olduğunda profil sağlamayı yönetmeniz gerekir. Bu makalede, uygulamanızı imzalamak ve sağlamak için bunların nasıl güvenli bir şekilde yönetileceğini açıklanmaktadır.

İpucu

Microsoft tarafından barındırılan bir Linux, macOS veya Windows derleme aracısı kullanın veya kendi aracınızı ayarlayın. Bkz. Derleme ve yayın aracıları.

Bu makalede aşağıdakiler ele alınmaktadır:

Android uygulamanızı imzalama

İmzalama sertifikanızı güvenli tutarken Android uygulamanızı imzalamak için şu adımları izleyin:

  1. İlk olarak, imzalama sertifikanızı içeren bir keystore dosyası alın. Android belgelerinde bir keystore dosyası ve buna karşılık gelen anahtar oluşturma işlemi açıklanmaktadır.

  2. Derleme işlem hattınızı Android veya Xamarin.Android derleme şablonundan oluşturun. Veya zaten bir derleme işlem hattınız varsa, APK'nızı oluşturan görevden sonra Android İmzalama görevini ekleyin.

  3. Android İmzalama görevinin APK'yı imzala onay kutusunu bulun ve etkinleştirin.

  4. Keystore dosya alanının yanındaki ayarlar simgesini seçin ve keystore dosyanızı Güvenli Dosyalar kitaplığına yükleyin. Karşıya yükleme sırasında anahtar deponuz şifrelenir ve güvenli bir şekilde depolanır.

  5. Anahtar deponuz Güvenli Dosyalar kitaplığına yüklendikten sonra Keystore dosyası açılan listesinden seçin.

  6. Değişkenler sekmesine gidin ve aşağıdaki değişkenleri ekleyin. Değer sütununa Keystore parolanızı, Anahtar diğer adınızı ve Anahtar parolanızı girin.

    • keystore-password: Şifrelenmemiş anahtar deposu dosyasının parolası. Kilit simgesini seçtiğinizden emin olun. Bu, parolanızın güvenliğini sağlar ve günlüklerde gizler.

    • anahtar-diğer adı: Oluşturduğunuz imzalama sertifikasının anahtar diğer adı.

    • key-password: Belirtilen diğer adla ilişkili anahtarın parolası. Yine kilit simgesini seçtiğinizden emin olun.

      Android imzalama değişkenleri

  7. Görevler sekmesine dönün ve imzalama seçeneklerinde yeni oluşturduğunuz değişkenlerin adlarına başvurun.

    Android imzalama giriş değerleri

Derleme işlem hattınızı kaydedin ve hazırsınız! Artık tüm derleme aracıları, derleme makinesinin kendisinde herhangi bir sertifika yönetimi olmadan uygulamanızı güvenli bir şekilde imzalayabilecek.

Apple iOS, macOS, tvOS veya watchOS uygulamanızı imzalama

Xcode veya Xamarin.iOS derlemenizin uygulamanızı imzalaması ve sağlaması için P12 imzalama sertifikanıza ve bir veya daha fazla sağlama profiline erişmesi gerekir. Aşağıdaki bölümlerde bu dosyaların nasıl edin yapılacağı açıklanmaktadır.

P12 imzalama sertifikanızı alma

Geliştirme veya dağıtım imzalama sertifikanızı oluşturduktan sonra Xcode veya macOS'ta AnahtarLık Erişimi uygulamasını kullanarak bir .p12 dosyaya aktarın.

  1. Xcode 8 veya daha düşük bir sürüm kullanarak dışarı aktarmak için Xcode>Tercihleri...>Hesaplar'ı seçin ve Apple Geliştirici hesabınızı seçin.

  2. Ayrıntıları Görüntüle...'yi seçin, dışarı aktarmak istediğiniz imzalama kimliğine sağ tıklayın ve Dışarı Aktar... seçeneğini belirleyin.

  3. Bir dosya adı ve parola girin. Daha sonra ihtiyacınız olacak parolayı not alın.

    Xcode Dışarı Aktarma Sertifikası

  4. Alternatif olarak, macOS'ta AnahtarLık Erişimi uygulamasını kullanarak benzer bir işlemi izleyin veya Windows'ta bir imzalama sertifikası oluşturun. Bu yöntemi tercih ediyorsanız bu makalede açıklanan yordamı kullanın.

Sağlama profilinizi alma

Uygulamanız otomatik imzalama kullanmıyorsa uygulama sağlama profilinizi Apple Geliştirici portalından indirebilirsiniz. Apple Geliştirici portalında sağlama profilini indirmeyi öğrenin.

Mac bilgisayarınızda yüklü olanlara erişmek için Xcode'u da kullanabilirsiniz.

  1. Xcode 8 veya daha düşük bir sürümünü kullanarak Xcode>Tercihleri...>Hesaplar'ı seçin ve Apple Geliştirici hesabınızı seçin.

  2. Kullanmak istediğiniz sağlama profiline sağ tıklayın ve Bulucuda Göster'i seçin.

  3. Vurgulanan dosyayı Bulucu'dan başka bir konuma kopyalayın ve açıklayıcı bir dosya adı verin.

    Bulucu'da Xcode Gösterisi

Derlemenizi yapılandırma

Derlemenizin uygulamanızı imzalamak ve sağlamak için imzalama sertifikalarına ve sağlama profillerine erişmesi için önerilen iki yol vardır:

  1. Derleme sırasında bunları yükleme
  2. Bunları macOS derleme aracısı üzerine önceden yükleme

Ayrıntılar için aşağıdaki sekmelerden birini seçin.

Barındırılan macOS aracıları gibi derleme aracısına kalıcı erişiminiz olmadığında bu yöntemi kullanın. P12 sertifikası ve sağlama profili derlemenin başında yüklenir ve derleme tamamlandığında kaldırılır.

Derlemeniz sırasında P12 sertifikasını yükleme

Görsel Düzenleyici
  1. Xcode veya Xamarin.iOS görevinden önce Derlemenize Apple Sertifikası Yükle görevini ekleyin.
  2. Sertifika (P12) alanının yanındaki ayarlar simgesini seçin ve P12 dosyanızı Güvenli Dosyalar kitaplığına yükleyin. Karşıya yükleme sırasında sertifikanız şifrelenir ve güvenli bir şekilde depolanır.
  3. Sertifikanız Güvenli Dosyalar kitaplığına yüklendikten sonra Sertifika (P12) açılan listesinden sertifikayı seçin.
  4. Değişkenler sekmesine gidin ve adlı P12passwordbir değişken ekleyin. Değerini sertifikanızın parolası olarak ayarlayın. Kilit simgesini seçtiğinizden emin olun. Bu, parolanızın güvenliğini sağlar ve günlüklerde gizler.
  5. Görevler sekmesine geri dönün. Apple Sertifikasını Yükle görevinin ayarlarında Sertifika (P12) parola alanında yeni oluşturduğunuz değişkene şu şekilde başvurun:$(P12password)
Örnek YAML
  1. P12 dosyanızı Güvenli Dosyalar kitaplığına yükleyin. Karşıya yükleme sırasında sertifikanız şifrelenir ve güvenli bir şekilde depolanır.

  2. Değişkenler sekmesine gidin ve adlı P12passwordbir değişken ekleyin. Değerini sertifikanızın parolası olarak ayarlayın. Kilit simgesini seçtiğinizden emin olun. Bu, parolanızın güvenliğini sağlar ve günlüklerde gizler.

  3. Apple Sertifikasını Yükle görevini Xcode veya Xamarin.iOS görevinden önce YAML'nize ekleyin:

    - task: InstallAppleCertificate@2
        inputs:
          certSecureFile: 'my-secure-file.p12' # replace my-secure-file.p12 with the name of your P12 file.
          certPwd: '$(P12password)'
    

Derlemeniz sırasında sağlama profilini yükleme

Görsel Düzenleyici
  1. Xcode veya Xamarin.iOS görevinden önce Derlemenize Apple Sağlama Profili Yükle görevini ekleyin.
  2. Sağlama profili konumu seçeneği için Güvenli Dosyalar'ı (YAML'de) secureFilesseçin.
  3. Sağlama profili alanının yanındaki ayarlar simgesini seçin ve sağlama profili dosyanızı Güvenli Dosyalar kitaplığına yükleyin. Karşıya yükleme sırasında sertifikanız şifrelenir ve güvenli bir şekilde depolanır.
  4. Sertifikanız Güvenli Dosyalar kitaplığına yüklendikten sonra Sağlama profili açılan listesinden sertifikayı seçin.
  5. Derlemeden sonra profili kaldır etiketli onay kutusunu etkinleştirin. Bu, sağlama profilinin aracı makinede bırakılmamasını sağlar.
Örnek YAML
  1. Sağlama profilinizi Güvenli Dosyalar kitaplığına yükleyin. Karşıya yükleme sırasında sertifikanız şifrelenir ve güvenli bir şekilde depolanır.

  2. Xcode veya Xamarin.iOS görevinden önce YAML'nize Apple Sağlama Profili Yükle görevini ekleyin:

    - task: InstallAppleProvisioningProfile@1
        inputs:
          provProfileSecureFile: 'my-provisioning-profile.mobileprovision' # replace my-provisioning-profile.mobileprovision with the name of your provisioning profile file.
    

    [NOT] Derleme varsayılan değeri true olarak değiştirildikten sonra profili kaldırın.

Xcode görevinizdeki dosyalara başvurma

Görsel Düzenleyici
  1. Xcode görevini seçin.
  2. İmzalama stili seçeneği için El ile imzalama'yı seçin.
  3. İmzalama kimliği alanına girin$(APPLE_CERTIFICATE_SIGNING_IDENTITY). Bu değişken, seçtiğiniz sertifika için Apple Sertifikasını Yükle görevi tarafından otomatik olarak ayarlanır.
  4. Sağlama profili UUID alanına girin$(APPLE_PROV_PROFILE_UUID). Bu değişken, seçtiğiniz sağlama profili için Apple Sağlama Profilini Yükle görevi tarafından otomatik olarak ayarlanır.
Örnek YAML
- task: Xcode@5
  inputs:
    signingOption: 'manual'
    signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
    provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)'

Xamarin.iOS görevinizdeki dosyalara başvurma

Görsel Düzenleyici
  1. Xamarin.iOS görevini seçin.
  2. Kullanarak geçersiz kıl seçeneği için Tanımlayıcılar'ı seçin.
  3. İmzalama kimliği alanına girin$(APPLE_CERTIFICATE_SIGNING_IDENTITY). Bu değişken, seçtiğiniz sertifika için Apple Sertifikasını Yükle görevi tarafından otomatik olarak ayarlanır.
  4. Sağlama profili UUID alanına girin$(APPLE_PROV_PROFILE_UUID). Bu değişken, seçtiğiniz sağlama profili için Apple Sağlama Profilini Yükle görevi tarafından otomatik olarak ayarlanır.
Örnek YAML
- task: XamariniOS@2
    inputs:
      solutionFile: '**/*.iOS.csproj'
      signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
      signingProvisioningProfileID: '$(APPLE_PROV_PROFILE_UUID)'

Derleme işlem hattınızı kaydedin ve hazırsınız! Derleme aracısı artık uygulamanızı güvenli bir şekilde imzalayıp sağlayabilecek.

SSS

Bir temsilciye ihtiyacım var mı?

Derlemenizi veya yayınınızı çalıştırmak için en az bir aracıya ihtiyacınız vardır.

Sorun yaşıyorum. Nasıl sorun giderebilirim?

Bkz. Derleme ve Yayın Sorunlarını Giderme.

Varsayılan aracı havuzunu seçemiyorum ve derlememi veya sürümümü kuyruğa alamıyorum. Bunu nasıl düzeltirim?

Bkz. Aracı havuzları.

NuGet gönderme görevim şu hatayla başarısız oluyor: "Hata: yerel veren sertifikası alınamıyor". Bunu nasıl düzeltebilirim?

Bu, güvenilen bir kök sertifika eklenerek düzeltilebilir. Derleme aracınıza NODE_EXTRA_CA_CERTS=file ortam değişkenini veya işlem hattınıza NODE.EXTRA.CA.CERTS=file görev değişkenini ekleyebilirsiniz. Bu değişken hakkındaki diğer ayrıntılar için bkz. Node.js belgeleri. İşlem hattınızda değişken ayarlama yönergeleri için bkz. İşlem hattında değişkenleri ayarlama.

Şirket içinde TFS kullanıyorum ve bu özelliklerden bazılarını görmüyorum. Neden?

Bu özelliklerden bazıları yalnızca Azure Pipelines'da kullanılabilir ve henüz şirket içinde kullanılamaz. TFS'nin en son sürümüne yükselttiyseniz bazı özellikler şirket içinde kullanılabilir.