App Store Connect API, iOS uygulamalarında versiyon oluşturma, build ilişkilendirme, metadata güncelleme ve App Review’a gönderim gibi işlemleri otomatikleştirmek için kullanılan güçlü bir araçtır; bu sayede CI/CD süreçlerinde manuel hatalar ortadan kalkar, işlem süreleri kısalır ve sürüm yönetimi daha güvenilir hale gelir. API kullanımı için issuerID, keyID ve privateKey ile JWT oluşturulur; Swift geliştiricileri için AppStoreConnect_Swift_SDK veya OpenAPI ile tip güvenli istemci kullanımı mümkündür. Yeni sürüm oluşturma, önceki açıklamaları kopyalama, build ID ilişkilendirme ve gönderim işlemleri belirli fonksiyonlarla kolayca senkronize edilebilir. Versiyonlama süreçlerinde sürdürülebilir numaralandırma, log takibi ve staging/prod ayrımı gibi en iyi uygulamalar sistemin sağlıklı işlemesi için kritiktir. Özellikle sürekli güncelleme yapan ekipler için bu otomasyon yapısı büyük zaman kazancı sağlar. BlueMark Academy, Swift dili, JWT doğrulama ve App Store Connect API kullanımına odaklanan uygulamalı eğitimlerle bu alanda uzmanlaşmak isteyen geliştiricilere kapsamlı bilgi sunar.

App Store Connect API Nedir ve Otomatik Versiyon Yönetimi için Neden Kullanılır?

API ile ne tür versiyon-işlemleri yönetilebilir?

App Store Connect API, iOS uygulamaları için sürüm yönetimini otomatik hale getirmeye olanak tanır. Bu API aracılığıyla yeni uygulama sürümleri oluşturulabilir, bu sürümlere yüklenen build’ler ilişkilendirilebilir, açıklama alanları güncellenebilir ve App Review’a gönderim işlemleri başlatılabilir. Ayrıca sürüm durumları izlenebilir ve gerektiğinde geri alınabilir.

Otomatik versiyon yönetiminin avantajları nelerdir?

Otomatik versiyon yönetimi, manuel işlem hatalarını ortadan kaldırır ve zamandan tasarruf sağlar. Tek bir komut ya da pipeline tetiklemesiyle sürüm oluşturulması, metadata kopyalanması, build ilişkilendirme ve gönderim işlemleri yapılabilir. Bu da özellikle sürekli entegrasyon (CI) ve sürekli dağıtım (CD) süreçlerinde sürüm yönetiminin güvenilirliğini artırır.

Swift’te App Store Connect API’yi Kullanmak için Nasıl Hazırlanılır?

App Store Connect API Key (JWT) nasıl oluşturulur?

App Store Connect üzerinde API Key oluşturulurken bir issuerID, keyID ve privateKey dosyası elde edilir. Bu üç bilgiyle JSON Web Token (JWT) oluşturulur. JWT, App Store Connect API’ye kimlik doğrulama için kullanılır ve her istek bu token ile yetkilendirilir.

AppStoreConnect_Swift_SDK kurulumu nasıl yapılır?

Swift ortamında AppStoreConnect_Swift_SDK isimli açık kaynak paket kullanılarak App Store Connect API ile entegre olunabilir. Bu SDK, JWT yapılandırması, API çağrıları ve endpoint kullanımını kolaylaştırır. Swift Package Manager ile projeye dahil edilerek doğrudan kullanılabilir.

OpenAPI tabanlı Swift client nasıl üretilir?

Apple’ın sağladığı OpenAPI tanımı kullanılarak Swift OpenAPI Generator ile tip güvenli (type-safe) bir istemci üretilebilir. Bu istemci, endpoint’lere doğrudan erişim sağlayan otomatik Swift kodu oluşturur ve bakım sürecini kolaylaştırır.

Swift Koduyla Otomatik Versiyon Oluşturma Nasıl Yapılır?

appStoreVersions endpoint ile sürüm oluşturmak nasıl çalışır?

Swift SDK veya OpenAPI client kullanılarak appStoreVersions endpoint’ine yapılacak bir POST isteği ile yeni bir uygulama sürümü tanımlanır. Bu işlemde uygulama kimliği (appID), platform (örneğin IOS), ve yeni sürüm numarası belirtilir. Sunucudan dönen yanıtla yeni versiyonun kimliği alınır ve ileriki adımlarda kullanılır.

Önceki sürümün promotionalText veya “What’s new” alanları nasıl kopyalanır?

Bir önceki versiyona ait tanıtım metni (promotionalText) ve “Yenilikler” (whatsNew) açıklamaları, ilgili metadata endpoint’inden okunarak yeni sürüme kopyalanabilir. Böylece tutarlı ve kullanıcı alışkanlığına uygun açıklamalar otomatik olarak taşınmış olur.

Build’ı Yeni Versiyona Nasıl Bağlanır?

Build ID nasıl alınır?

Uygulamaya ait yüklenmiş build’ler API üzerinden listelenebilir. Build listesi içinden son yüklenenin ID’si alınarak kullanılabilir. Bu ID, yeni oluşturulan appStoreVersion ile ilişkilendirme yapılabilmesi için gereklidir.

appStoreVersion ilişkilendirmesi nasıl yapılır?

Alınan build ID, oluşturulan versiyon ile eşleştirilir. Bu işlem, API’deki ilişkilendirme endpoint’leri aracılığıyla yapılır. Böylece uygulamanın yeni versiyonu ile belirli bir build birbirine bağlanır ve bu build App Review’a gönderilecek hale getirilir.

Versiyon Oluşturmayı App Review’a Gönderme Süreci Nasıl Otomatikleştirilir?

appStoreVersionSubmissions ile gönderim nasıl başlatılır?

Versiyon gönderimi, appStoreVersionSubmissions endpoint’ine yapılacak bir POST isteği ile başlatılır. Bu işlem, versiyonu Apple’ın incelemesine sunar. Eğer metadata eksikse ya da build ilişkilendirilmemişse API hata döndürür. Başarılı bir gönderimde, versiyon App Store sürecine dahil olur.

Swift ile Kod Örneği: Tüm Adımları Birleştiren Basit Otomasyon Script’i

JWT yapılandırma (issuerID / keyID / privateKey)

let config = try APIConfiguration(issuerID: issuerID, privateKeyID: keyID, privateKey: privateKeyPEM)
let provider = APIProvider(configuration: config)

“createVersion”, “fetchPreviousText”, “associateBuild”, “submitVersion” işlevleri

func createVersion(appId: String, version: String) async throws -> AppStoreVersion {
  let response = try await provider.request(.createVersion(appId: appId, versionString: version))
  return response.data
}

func fetchPreviousText(previousVersionId: String) async throws -> (String?, String?) {
  let response = try await provider.request(.getLocalization(versionId: previousVersionId))
  let localization = response.data.first
  return (localization?.promotionalText, localization?.whatsNew)
}

func associateBuild(versionId: String, buildId: String) async throws {
  try await provider.request(.linkBuildToVersion(versionId: versionId, buildId: buildId))
}

func submitVersion(versionId: String) async throws {
  try await provider.request(.submitForReview(versionId: versionId))
}

Bu fonksiyonlar sırasıyla versiyon oluşturur, önceki açıklamaları kopyalar, build ilişkisini kurar ve gönderimi başlatır.

Otomatik Versiyon Yönetimi Ne Zaman ve Neden Uygulanmalı?

CI/CD ile entegreğinde sağlanan zaman ve hata avantajları

Otomasyon, her git tag oluşturulduğunda bir versiyonun tetiklenmesini sağlar. Metadata güncellenebilir, build ilişkilendirilip App Store’a gönderim yapılabilir. CI/CD entegrasyonu ile bu işlemler hızlı, hatasız ve tekrar edilebilir şekilde gerçekleştirilir.

Sürekli entegre (CI) ve dağıtım (CD) senaryolarında kullanım pratiği

Yazılım geliştirme ekipleri, her yeni sürümde manuel işlem yapmak yerine bu otomasyon sistemini CI/CD pipeline’larına entegre eder. Böylece yeni commit’ler, versiyonlandırılmış şekilde otomatik olarak yayın sürecine girer.

Otomatik Versiyon Yönetimi ile İlgili En İyi Uygulamalar

Versiyon numaralandırma sürdürülebilirliği

Otomasyon sistemleri genellikle major.minor.patch semantiğini ya da tarih-temelli numaralandırmayı kullanır. CI/CD ile uyumlu olacak şekilde versiyon numarası kod repo’sundan veya git tag’lerinden alınmalı ve çakışmalar engellenmelidir.

Hata yönetimi ve audit log tutma

Her otomasyon adımı loglanmalı, hata durumlarında detaylı mesajlar kaydedilmelidir. Böylece hem sistemin sürdürülebilirliği sağlanır hem de sorun durumlarında hızlı müdahale mümkün olur.

TestFlight süreçleri ve staging/prod ayrımı

TestFlight testleri ile prod sürümler birbirinden ayrılmalı, sürümler farklı kanallarda yayınlanmalıdır. Staging ortamları için ayrı uygulama ID’si ya da versiyon dallamaları kullanılabilir.

“otomatik versiyon yönetimi” Nasıl Uygulanır?

Bu otomasyon senaryosunun gerçek hayatta kullanım alanları

Mobil uygulama geliştiren ekipler, her sürümde tekrar eden App Store işlemlerini otomatize ederek zaman kazanır. Özellikle sürekli güncelleme yapan startup’lar ve SaaS tabanlı firmalar için idealdir.

Bu sistemin güvenliği ve sürdürülmesi nasıl sağlanır?

API anahtarları güvenli ortam değişkenlerinde saklanmalı, sadece yetkili sistemler erişebilmelidir. Otomasyon kodları versiyon kontrol sisteminde tutulmalı ve belirli aralıklarla test edilmelidir.

BlueMark Academy ile Swift Nasıl Öğrenilir?

BlueMark Academy, Swift dili ile API kullanımını, JWT tabanlı kimlik doğrulamayı, App Store Connect API’yi ve mobil CI/CD entegrasyonlarını öğreten kapsamlı Swift ile iOS uygulama geliştirme eğitimi sunar. Uygulamalı dersler sayesinde katılımcılar gerçek proje senaryoları üzerinden öğrenir ve otomatik versiyon yönetimi gibi gelişmiş konularda uzmanlaşabilir.