iOS Uygulaması App Store’da Nasıl Yayınlanır? | 2026 Rehberi

iOS ve iPadOS için geliştirdiğimiz bir mobil uygulamayı son kullanıcıya ulaştırabilmek için uygulamamızı Apple’ın gereksinimlerine uygun şekilde hazırlamamız, imzalamamız, test etmemiz ve App Store Connect üzerinden incelemeye göndermemiz gerekiyor.

Bu yazımızda bir iOS uygulamasının geliştirme ortamından App Store’daki son kullanıcıya ulaşmasına kadar geçen süreci, 2026 yılı gereksinimlerini dikkate alarak adım adım inceleyeceğiz.

 

1. Apple Developer Programına Kayıt Olma

App Store’da uygulama yayınlayabilmek için öncelikle Apple Developer Program’a üye olmamız gerekiyor. 

Programa bireysel veya organizasyon hesabıyla katılabiliyoruz. Organizasyon hesabı kullanıyorsak şirketin yasal ve kurumsal bilgilerinin de Apple tarafında doğrulanması gerekiyor.

Üyeliğimiz onaylandıktan sonra App Store Connect üzerinden uygulamalarımızı, TestFlight build’lerini ve App Store yayın süreçlerini yönetebiliyoruz.

Ücretli bir uygulama yayınlayacaksak veya uygulama içi satın alma kullanacaksak App Store Connect içerisindeki Agreements, Tax and Banking bölümünden gerekli sözleşmeleri tamamlamamız, vergi ve banka bilgilerimizi girmemiz gerekiyor.

 

2. Bundle ID ve App ID Oluşturma

Her iOS uygulamasının benzersiz bir Bundle Identifier’a sahip olması gerekiyor. Bundle ID’yi genellikle ters alan adı yapısında oluşturuyoruz:

com.sirketadi.uygulamaadi

App ID oluşturmak için Apple Developer hesabımıza giriş yaptıktan sonra Certificates, Identifiers & Profiles → Identifiers bölümüne gidiyoruz. Yeni bir identifier oluşturup App IDs seçeneğini seçiyoruz ve uygulamamız için kullanacağımız Bundle ID’yi tanımlıyoruz.

Uygulamamız Push Notifications, iCloud veya In-App Purchases gibi Apple servislerini kullanacaksa App ID üzerinde gerekli capabilities seçeneklerini de etkinleştiriyoruz.

Burada oluşturduğumuz Bundle ID ile Xcode projesinde ve App Store Connect üzerinde kullanacağımız Bundle ID’nin aynı olması gerekiyor.

 

3. App Store Connect'te Uygulama Kaydı Oluşturma

App ID’mizi oluşturduktan sonra App Store Connect üzerinde uygulama kaydımızı oluşturabiliriz. App Store Connect içerisindeki My Apps bölümünden yeni bir uygulama ekliyor ve temel bilgileri giriyoruz.

Bu aşamada:

  • Uygulamanın yayınlanacağı platformu seçiyoruz.
  • App Store’da görüntülenecek uygulama adını giriyoruz.
  • Uygulamanın birincil dilini belirliyoruz.
  • Daha önce oluşturduğumuz Bundle ID’yi seçiyoruz.
  • Uygulamamız için bir SKU belirliyoruz.
  • Uygulama üzerinde işlem yapabilecek kullanıcıların erişim yetkilerini belirliyoruz.

SKU, uygulamayı kurum içerisinde takip etmek için kullandığımız benzersiz bir değerdir ve App Store kullanıcıları tarafından görüntülenmez.

 

4. Xcode Projesini Release İçin Hazırlama

App Store’a göndereceğimiz build’i oluşturmadan önce Xcode projemizi dağıtıma uygun hale getiriyoruz. 

İlk olarak Xcode içerisinde projemizin General bölümünü açıyor ve Bundle Identifier değerinin Apple Developer tarafında oluşturduğumuz App ID ile aynı olduğundan emin oluyoruz.

Ardından Signing & Capabilities bölümünden uygulamanın bağlı olduğu Team’i seçiyoruz.

Automatically Manage Signing kullanıyorsak Xcode gerekli sertifika ve provisioning profile işlemlerinin büyük bölümünü bizim için otomatik olarak gerçekleştirebilir.

Bu aşamada ayrıca aşağıdaki kontrolleri yapıyoruz:

  • Bundle Identifier değerini kontrol ediyoruz.
  • Version ve Build numaralarını kontrol ediyoruz.
  • Minimum iOS sürümünü belirliyoruz.
  • Desteklemediğimiz cihaz yönelimlerini kaldırıyoruz.
  • Uygulama ikonlarını kontrol ediyoruz.
  • Launch Screen yapılandırmasını kontrol ediyoruz.
  • Uygulamanın ihtiyaç duyduğu permissions açıklamalarını ekliyoruz.
  • Kullanılan Apple servislerinin capabilities ayarlarını kontrol ediyoruz.

 

5. Version ve Build Numaralarını Belirleme

Xcode içerisindeki Version ve Build değerleri uygulamanın sürüm yönetiminde farklı amaçlarla kullanılıyor. 

Version kullanıcıların App Store üzerinde gördüğü uygulama sürümünü ifade ediyor.

Örneğin:

1.0.0

Build ise aynı uygulama sürümü için App Store Connect’e gönderdiğimiz build’leri birbirinden ayırmak için kullanılıyor.

Örneğin:

1

Yeni bir build yüklerken Build numarasını artırmamız gerekiyor. Örneğin 1.0.0 sürümünün ilk build’inde Build değerini 1, ikinci build’inde ise 2 olarak kullanabiliriz.

 

6. Permissions ve Capabilities Ayarları

Uygulamamız kamera, mikrofon veya konum gibi hassas özelliklere erişiyorsa kullanıcıya bu erişimin neden gerekli olduğunu açıklamamız gerekiyor. Bunun için Info.plist içerisinde ilgili permission açıklamalarını tanımlıyoruz.

Örneğin kamera kullanan bir uygulamada:

Privacy - Camera Usage Description

alanına uygulamanın kamerayı neden kullanacağını açıklayan kullanıcı tarafından anlaşılabilir bir metin ekliyoruz.

Uygulamamız Push Notifications, iCloud veya In-App Purchases gibi Apple servislerini kullanıyorsa Signing & Capabilities bölümünden ilgili capability’leri ekliyoruz. Aynı özelliklerin Apple Developer tarafındaki App ID üzerinde de etkin olduğundan emin oluyoruz.

 

7. Distribution Certificate ve Provisioning Profile

Uygulamamızın App Store’a gönderilebilmesi için uygun bir dağıtım sertifikasına ve provisioning profile’a sahip olması gerekiyor. Xcode içerisinde Automatically Manage Signing seçeneğini kullanıyorsak Xcode gerekli provisioning profile işlemlerini bizim için yönetebiliyor.

Signing işlemlerini manuel olarak yönetmek istersek Apple Developer portalındaki Certificates, Identifiers & Profiles bölümünü kullanıyoruz.

Yeni bir profile oluştururken:

  1. App Store Connect dağıtım türünü seçiyoruz.
  2. Uygulamamızın App ID’sini seçiyoruz.
  3. Kullanacağımız Apple Distribution sertifikasını seçiyoruz.
  4. Provisioning Profile için bir isim belirliyoruz.
  5. Oluşturduğumuz .mobileprovision dosyasını indirerek Xcode’a ekliyoruz.

 

8. Xcode Üzerinden Archive Alma

Uygulamamızı App Store Connect’e gönderebilmek için öncelikle Xcode üzerinden bir Archive oluşturmamız gerekiyor. Archive almadan önce Xcode’un cihaz seçim bölümünden Generic iOS Device veya fiziksel bir iOS cihazı seçiyoruz. 

Simülatör seçiliyken App Store’a gönderilecek Archive’ı oluşturamıyoruz.

Ardından Product → Archive adımlarını takip ediyoruz. 

Xcode projemizi derledikten sonra oluşturduğumuz Archive’ı Organizer penceresinde gösteriyor. Organizer üzerinden Archive’ımızı doğrulayabilir ve App Store Connect’e yükleyebiliriz.

 

9. Build'i App Store Connect'e Yükleme

Archive işlemi tamamlandıktan sonra Xcode Organizer içerisinde oluşturduğumuz Archive’ı seçiyoruz. Ardından Distribute App seçeneğine tıklayarak dağıtım işlemine başlıyoruz.

App Store’a göndereceğimiz build için App Store Connect → Upload seçeneklerini takip ediyoruz. Automatically Manage Signing kullanıyorsak Xcode gerekli dağıtım sertifikasını ve provisioning profile’ı otomatik olarak uyguluyor.

Xcode gerekli kontrolleri tamamladıktan sonra build’imizi App Store Connect’e yüklüyor. Yükleme işlemi tamamlandıktan ve build Apple tarafından işlendikten sonra App Store Connect içerisindeki TestFlight bölümünde görüntülenmeye başlıyor.

 

10. TestFlight ile Uygulamayı Test Etme

Apple’ın TestFlight servisi sayesinde uygulamamızı App Store’da yayınlamadan önce gerçek cihazlarda test edebiliyoruz. Build’imizi App Store Connect’e yükledikten sonra TestFlight bölümünden test kullanıcılarını ekleyebiliriz.

TestFlight iki temel test kullanıcı grubu sunuyor.

Internal Testing

Internal Testing ile App Store Connect hesabımızdaki kullanıcılardan oluşan dahili test grubumuza uygulamayı dağıtabiliyoruz. Bir build için en fazla 100 internal tester kullanabiliyoruz.

Bu yöntemi geliştirme ekibi ve kurum içerisindeki hızlı testler için kullanabiliriz.

External Testing

External Testing ile uygulamamızı kurum dışındaki kullanıcılara da dağıtabiliyoruz. TestFlight üzerinden 10.000’e kadar external tester ekleyebiliyoruz. External Testing’e açacağımız build’in Apple tarafından beta incelemesinden geçmesi gerekebilir. 

Test kullanıcıları TestFlight uygulaması üzerinden build’i cihazlarına yükleyebilir ve uygulamayla ilgili geri bildirim gönderebilirler.

 

11. App Store Sürümüne Build Ekleme

TestFlight testlerimizi tamamladıktan sonra yayınlamak istediğimiz build’i App Store sürümümüze ekliyoruz. 

App Store Connect içerisinde My Apps → Uygulama → App Store → Sürüm bölümüne gidiyoruz.

Sürüm sayfasındaki Build alanında bulunan seçim bölümünü kullanarak TestFlight’a yüklediğimiz build’lerden yayınlamak istediğimizi seçiyoruz ve kaydediyoruz.

Uygulamamız şifreleme teknolojileri kullanıyorsa bu aşamada Apple’ın ihracat uygunluğu ile ilgili sorularını da yanıtlamamız gerekebilir.

 

12. App Store Bilgilerini Hazırlama

Uygulamamızı incelemeye göndermeden önce App Store ürün sayfasında görüntülenecek bilgileri tamamlamamız gerekiyor.

Ekran Görüntüleri ve Ön İzleme Videoları

Uygulamamızın gerçek kullanımını gösteren ekran görüntülerini desteklediğimiz cihaz boyutları için ekliyoruz. İstersek uygulamamızı gösteren App Preview videoları da ekleyebiliriz.

Açıklama ve Anahtar Kelimeler

Uygulamamızın ne yaptığını ve kullanıcıya sunduğu özellikleri açıklayan App Store açıklamasını hazırlıyoruz. Ayrıca App Store arama sonuçlarında kullanılacak anahtar kelimeleri belirliyoruz.

Support ve Marketing URL

Kullanıcıların destek alabileceği web sayfasının adresini ekliyoruz. Varsa uygulamamızın tanıtım sayfasını Marketing URL olarak belirleyebiliyoruz.

Uygulama İkonu

App Store için gerekli uygulama ikonumuzu hazırlıyoruz.

Age Rating

App Information bölümündeki yaş derecelendirme sorularını uygulamamızın içeriğine uygun şekilde cevaplıyoruz. Apple bu cevapları kullanarak uygulamamız için uygun yaş derecelendirmesini belirliyor.

 

13. App Privacy Bilgilerini Doldurma

App Store’a uygulama gönderirken uygulamamızın kullanıcı verileriyle nasıl çalıştığını Apple’a bildirmemiz gerekiyor.

App Store Connect içerisindeki App Privacy bölümünde uygulamamızın:

  • Hangi kullanıcı verilerini topladığını
  • Bu verileri hangi amaçlarla kullandığını
  • Kullanıcıyı takip etmek için kullanıp kullanmadığını
  • Kullanıcının kimliğiyle ilişkilendirip ilişkilendirmediğini

belirtiyoruz. 

Uygulamamız veri topluyorsa erişilebilir bir Privacy Policy URL’si de ekliyoruz. Burada verdiğimiz bilgilerin uygulamanın ve kullandığımız üçüncü taraf SDK’ların gerçek veri davranışıyla uyumlu olması gerekiyor.

 

14. App Review Information

Apple’ın inceleme ekibinin uygulamamızı doğru şekilde test edebilmesi için App Review Information bölümünü dolduruyoruz. Bu bölümde inceleme ekibinin bizimle iletişim kurabilmesi için gerekli iletişim bilgilerini giriyoruz. Uygulamanın belirli bir özelliğine ulaşmak için özel bir işlem yapılması gerekiyorsa bunu Review Notes bölümünde açıklıyoruz.

Bu bilgileri eksik bırakmamız Apple’ın uygulamayı test edememesine ve inceleme sürecinin uzamasına veya uygulamanın reddedilmesine neden olabilir.

 

15. Uygulamayı İnceleme İçin Gönderme (Submit for Review)

Build’imizi seçtikten ve App Store Connect üzerindeki gerekli bilgileri tamamladıktan sonra uygulamamızı incelemeye gönderebiliriz.

Gönderim öncesinde aşağıdaki adımları takip ediyoruz:

  1. Sürüm sayfasındaki Build bölümünden yayınlamak istediğimiz build’in seçili olduğunu kontrol ediyor ve kaydediyoruz.
  2. Apple’ın ihracat uygunluğu, içerik hakları ve reklam kimliği kullanımıyla ilgili sorularını cevaplıyoruz.
  3. Uygulamamızın onaylandıktan sonra nasıl yayınlanacağını belirliyoruz.
  4. Tüm alanları kontrol ettikten sonra Submit for Review seçeneğini kullanarak uygulamamızı incelemeye gönderiyoruz.

Uygulamamız şifreleme teknolojileri kullanıyorsa Apple, ABD ihracat düzenlemelerine uygunluk konusunda ek sorular sorabilir. Benzer şekilde uygulamada kullandığımız içeriklerin hakları ve reklam kimliği kullanımıyla ilgili gerekli beyanları da bu aşamada tamamlıyoruz.

Otomatik veya Manuel Yayınlama

Uygulamamız Apple tarafından onaylandıktan sonra otomatik olarak yayınlanmasını tercih edebiliriz. 

Uygulamayı belirli bir zamanda kendimiz yayınlamak istiyorsak Manual Release seçeneğini kullanabiliriz. Böylece uygulama incelemeden geçse bile biz yayınlama işlemini gerçekleştirene kadar App Store’da kullanıcılara sunulmaz.

İlk sürümlerde genellikle otomatik yayınlama tercih edilebilirken belirli bir lansman veya yayın tarihi planlıyorsak manuel yayınlama seçeneğini kullanabiliriz.

Tüm ayarlarımızı tamamladıktan sonra Submit for Review butonuna basıyoruz. Gönderim işleminin ardından uygulamamızın durumunu Waiting for Review olarak görebiliriz.

 

16. App Store İnceleme ve Yayın Süreci

Uygulamamızı incelemeye gönderdikten sonra Apple uygulamayı teknik gereksinimler, içerik ve App Store Review Guidelines açısından değerlendiriyor. App Store Connect, inceleme sürecindeki durum değişiklikleriyle ilgili e-posta bildirimleri gönderiyor. İnceleme süreci genellikle 1 ila 3 gün arasında tamamlanabiliyor ancak yoğun dönemlerde bu süre uzayabiliyor.

İnceleme sonucunda Apple uygulamamızı onaylayabilir veya bizden değişiklik ve ek bilgi talep edebilir. Uygulamamız reddedilirse App Store Connect üzerinden Apple’ın belirttiği gerekçeyi inceliyoruz. Gerekli düzenlemeleri yaptıktan sonra yeni bir build yükleyerek veya gerekli metadata değişikliklerini gerçekleştirerek uygulamamızı tekrar incelemeye gönderebiliriz.

Uygulamamız incelemeyi başarıyla tamamladığında durumu Ready for Sale olarak güncelleniyor ve belirlediğimiz yayınlama yöntemine göre App Store’da kullanıcılara sunuluyor.

Eşzamanlı Sunumlar

Apple, aynı anda birden fazla öğeyi inceleme sürecine göndermemize olanak sağlıyor. Örneğin bir uygulama güncellemesiyle birlikte uygulama içi etkinlik gibi farklı öğeleri de eşzamanlı olarak incelemeye gönderebiliriz. Bu sayede birbiriyle ilişkili App Store içeriklerinin inceleme süreçlerini aynı dönemde yönetebiliriz.

Expedited Review

Acil olarak yayınlanması gereken bir güncellememiz veya belirli bir tarihe yetişmesi gereken özel bir durumumuz varsa Apple’dan Expedited Review talep edebiliriz. Expedited Review, standart inceleme sürecinin hızlandırılması için Apple’a gönderdiğimiz özel bir inceleme talebidir. Özellikle kritik bir problemin giderildiği güncellemelerde veya belirli bir etkinlik ve yayın tarihine yetişmesi gereken sürümlerde bu seçeneği kullanabiliriz. 

Expedited Review talebinin gönderilmesi uygulamanın otomatik olarak onaylanacağı anlamına gelmez, uygulamamız yine App Store inceleme sürecinden geçer.

 

17. 2026 SDK ve Xcode Gereksinimleri

Apple, App Store’a gönderilen uygulamaların belirli SDK sürümleriyle oluşturulmasını zorunlu tutuyor. 28 Nisan 2026 tarihinden itibaren App Store’a gönderdiğimiz iOS ve iPadOS uygulamalarının en az iOS/iPadOS 26 SDK ile derlenmiş olması gerekiyor. Bu gereksinim nedeniyle uygulamamızı App Store’a gönderirken Xcode 26 veya daha yeni bir sürüm kullanmamız gerekiyor.

Benzer minimum SDK gereksinimleri diğer Apple platformları için de bulunuyor:

  • tvOS uygulamalarını tvOS 26 SDK veya daha yeni bir sürümle derliyoruz.
  • visionOS uygulamalarında visionOS 26 SDK veya daha yeni bir sürüm kullanıyoruz.
  • watchOS uygulamalarında watchOS 26 SDK veya daha yeni bir sürüm kullanıyoruz.

Apple bu gereksinimleri zaman içerisinde güncelleyebildiği için yeni bir uygulama veya güncelleme göndermeden önce güncel App Store submission gereksinimlerini kontrol etmemizde fayda var.

 

Sonuç

Bir mobil uygulamayı App Store’da yayınlamak, pek çok teknik ve idari adımdan oluşan detaylı bir süreçtir. Doğru Bundle ID ve App ID belirlemek, Xcode projesini uygun şekilde yapılandırmak, arşiv oluşturup TestFlight üzerinden beta testleri yapmak ve App Store Connect’te her alanı eksiksiz doldurmak, inceleme sürecinde sorunsuz ilerlemenizi sağlar.

Apple’ın SDK, gizlilik, yaş derecelendirmesi ve App Store inceleme gereksinimleri zaman içerisinde değişebildiği için yeni bir uygulama veya güncelleme yayınlamadan önce güncel Apple Developer ve App Store Connect dokümantasyonunu kontrol etmenizde fayda var.

 

Yazar: Ege Selçuk ONAY

Kaynakça

developer.apple.com

developer.apple.com/app-store/review/guidelines

developer.apple.com/help/app-store-connect

13.08.2026 2

Yorumlar

Bu sayfalarda yer alan okur yorumları kişilerin kendi görüşleridir. Yazılanlardan Sanal Yazılım Ltd. veya sanal.mobi sorumlu tutulamaz. Yorumda ad-soyadınız anonimleştirilerek gösterilir, e-posta adresiniz ise yayınlanmaz.
Kullanıcı deneyimini geliştirmek, site kullanımını analiz etmek ve pazarlama çabalarımıza yardımcı olmak için çerezleri kullanıyoruz. Sitemize göz atmaya devam ederek veya bu bilgilendirmeyi kapatarak, Çerez Politikası`nı okuduğunuzu ve kabul ettiğinizi onaylamış olursunuz.