App Store'a Uygulama Nasıl Yüklenir?

Yazar: Fatih ŞahinYayın: 23 Ağu 2026Güncelleme: 11 Eyl 202618 dk Okuma

Apple App Store'a uygulama yüklemek için Apple Developer hesabı açılmalı, Xcode üzerinden build alınmalı ve App Store Connect ile incelemeye gönderilmelidir.

App Store'a Uygulama Nasıl Yüklenir? için öne çıkan görsel
App Store'a Uygulama Nasıl Yüklenir? için öne çıkan görsel

Apple App Store'a uygulama yüklemek için Apple Developer hesabı açılmalı, Xcode üzerinden build alınmalı ve App Store Connect ile incelemeye gönderilmelidir. Mobil ekosistemin en prestijli ve katı kurallara sahip mağazasında yer almak, teknik hazırlık, yasal uyumluluk ve sistematik bir dağıtım stratejisi gerektirir. Bu rehber, bir iOS uygulamasının geliştirme ortamından alınarak global pazarda milyonlarca kullanıcıya ulaştırılması sürecindeki tüm kritik aşamaları, teknik gereksinimleri ve bütçe planlamalarını teknik karar vericiler ve işletme yöneticileri için analiz etmektedir.

App Store Uygulama Yayınlama Sürecinin Temel Bileşenleri

Temel Adımlar ve Gerekli Araçlar (Xcode, App Store Connect, Developer Hesabı)

Bir iOS uygulamasının App Store üzerinde başarıyla yayına alınması, birbiriyle entegre çalışan üç temel Apple platformunun ve aracının doğru şekilde koordine edilmesini gerektirir. Bu ekosistemin ilk ayağı, entegre geliştirme ortamı (IDE) olan Xcode yazılımıdır. Xcode, uygulamanızın kaynak kodlarını derleyen, yerel testlerini gerçekleştiren ve en nihayetinde buluta gönderilecek olan IPA dosyası formatındaki uygulama paketini oluşturan merkezdir. Projenin yerel olarak derlenebilmesi ve Apple standartlarına göre imzalanabilmesi için macOS işletim sistemine sahip bir bilgisayar ve güncel bir Xcode sürümü teknik olarak zorunludur.

Sürecin ikinci bileşeni, Apple'ın yazılım geliştiricilere sunduğu kurumsal üyelik programıdır. Apple Developer Programına kaydolmadan uygulamayı cihazlar dışında dağıtmak veya mağazaya göndermek mümkün değildir. Geliştirici hesabı, uygulamanın dijital imza sertifikalarını oluşturmanızı ve Apple ekosistemindeki yasal kimliğinizi doğrulamanızı sağlar. Bu hesap üzerinden üretilen Distribution Certificate (Dağıtım Sertifikası) ve Provisioning Profile (Provizyon Profili), uygulamanın güvenli ve doğrulanmış bir kaynaktan geldiğini garanti altına alan şifreleme anahtarlarıdır.

Son aşama ise tüm idari ve pazarlama operasyonlarının yönetildiği App Store Connect paneli üzerinden yürütülür. App Store Connect; uygulamanızın mağaza açıklamalarını, ekran görüntülerini, fiyatlandırma politikalarını, gizlilik beyanlarını ve yaş derecelendirmelerini yapılandırdığınız web tabanlı yönetim portalıdır. Xcode üzerinden gönderilen build'ler (yapılar) bu panele düşer ve burada gerekli tanımlamalar yapıldıktan sonra Apple'ın denetim ekibine (App Review) gönderilir.

Sürecin Akış Şeması ve Önemli Duraklar

iOS uygulama yayınlama süreci, doğrusal ve birbirini takip eden adımlardan oluşan teknik bir iş akışına sahiptir. Bu süreçte yapılacak en küçük bir konfigürasyon hatası, build'in reddedilmesine veya inceleme sürecinin aksamasına yol açar. Süreç, geliştirme aşamasının tamamlanması ve lokal testlerin (simülatör ve fiziksel cihaz testleri) başarıyla sonuçlanmasıyla başlar. Ardından Apple Developer portalında gerekli tanımlamalar yapılır.

Aşama AdıKullanılan Araç / PlatformTemel Çıktı / İşlem
Kimlik ve İzin YönetimiApple Developer PortalBundle ID ve Dağıtım Sertifikası üretimi
Mağaza HazırlığıApp Store Connect paneliMetadata girişi, fiyatlandırma ve gizlilik politikası tanımı
Derleme ve İmzalamaXcode build almaIPA paketi oluşturma ve şifreleme imzası ekleme
Ön Dağıtım ve TestTestFlight beta testiİç ve dış kullanıcılara erken erişim sunulması
Resmi İncelemeSubmit for ReviewApple App Review ekibinin teknik ve tasarımsal denetimi

Kimlik ve İzin Yönetimi

Kullanılan Araç / Platform

Apple Developer Portal

Temel Çıktı / İşlem

Bundle ID ve Dağıtım Sertifikası üretimi

Mağaza Hazırlığı

Kullanılan Araç / Platform

App Store Connect paneli

Temel Çıktı / İşlem

Metadata girişi, fiyatlandırma ve gizlilik politikası tanımı

Derleme ve İmzalama

Kullanılan Araç / Platform

Xcode build alma

Temel Çıktı / İşlem

IPA paketi oluşturma ve şifreleme imzası ekleme

Ön Dağıtım ve Test

Kullanılan Araç / Platform

TestFlight beta testi

Temel Çıktı / İşlem

İç ve dış kullanıcılara erken erişim sunulması

Resmi İnceleme

Kullanılan Araç / Platform

Submit for Review

Temel Çıktı / İşlem

Apple App Review ekibinin teknik ve tasarımsal denetimi

Bu iş akışında her adımın doğrulanabilir parametrelerle tamamlanması kritik önem taşır. Örneğin, Bundle ID (Paket Tanımlayıcı) bir kez tanımlandığında ve mağazaya gönderildiğinde değiştirilemez. Benzer şekilde, vergi formları ve banka hesap bilgileri tamamlanmadan ücretli uygulama veya uygulama içi satın alma (In-App Purchase) özelliklerinin aktif edilmesi mümkün değildir. Karar vericilerin, projelerinin zaman planlamasını yaparken bu teknik bağımlılıkları göz önünde bulundurması gerekir.

Ön Koşullar ve Gerekli Hazırlıklar

Apple Developer Programına Kayıt ve Kurumsal Kimlik Doğrulama (DUNS Numarası)

Uygulamanızı App Store'da yayınlamak için öncelikle bir Apple Developer hesabı açmanız gerekir. Apple, bireysel (Individual) ve kurumsal (Organization) olmak üzere iki ana hesap türü sunar. Bireysel hesaplar, tek bir geliştiricinin kendi adına yayın yapmasını sağlar ve kayıt işlemi oldukça hızlıdır. Ancak bir şirket, startup veya ticari kuruluş adına uygulama yayınlanacaksa, kesinlikle kurumsal geliştirici hesabı tercih edilmelidir. Kurumsal hesapların en büyük avantajı, ekibe farklı rollerde (Geliştirici, Pazarlamacı, Finans Sorumlusu vb.) kullanıcılar eklenebilmesi ve mağazada uygulamanın geliştiricisi olarak doğrudan şirket tüzel kişiliğinin adının görünmesidir.

Kurumsal kayıt sürecinin en önemli ve zaman alan adımı, DUNS numarası (Data Universal Numbering System) temin edilmesidir. Dun & Bradstreet tarafından sağlanan bu dokuz haneli benzersiz numara, şirketinizin uluslararası düzeyde fiziksel ve yasal varlığını doğrular. Apple, kurumsal üyelik taleplerinde bu numarayı zorunlu tutar. DUNS numarası almak için şirketin resmi ünvanı, adresi ve yetkili iletişim bilgileriyle başvuru yapılmalıdır. Numaranın temin edilmesi ve Apple sistemlerinde aktif hale gelmesi genellikle 2 ila 7 iş günü sürebilir. Apple Developer Program ücreti ise yıllık abonelik modeliyle çalışır ve standart bireysel/kurumsal hesaplar için yıllık 99 USD olarak belirlenmiştir.

Geliştirici Sertifikaları ve Provisioning Profile Ayarları

iOS işletim sisteminin güvenlik mimarisi, yetkisiz kodların fiziksel cihazlarda çalıştırılmasını tamamen engeller. Bu doğrultuda geliştirilen uygulamanın hem test süreçlerinde hem de App Store dağıtımında çalışabilmesi için Apple tarafından imzalanmış olması gerekir. İmzalanma süreci, Apple Developer portalı üzerinden yönetilen sertifikalar ve provizyon profilleri aracılığıyla gerçekleştirilir.

İlk olarak bir Certificate Signing Request (CSR - Sertifika İmzalama Talebi) dosyası anahtarlık erişimi (Keychain Access) üzerinden macOS işletim sisteminde oluşturulur. Bu CSR dosyası Apple Developer portalına yüklenerek iOS Distribution Certificate (Dağıtım Sertifikası) üretilir. Bu sertifika, uygulamanızı imzalayan kurumun kimliğini doğrular. İkinci adımda ise Provisioning Profile (Provizyon Profili) oluşturulur. Provizyon profili; ilgili uygulamanın Bundle ID'sini, izin verilen cihazların listesini (geliştirme ve ad-hoc aşamaları için) ve dağıtım sertifikasını bir araya getiren bir dijital izin belgesidir. Xcode, derleme aşamasında bu profili okuyarak uygulamanın hedef cihazlarda sorunsuz çalışmasını sağlar.

App Store Yönergelerine (Guidelines) Uygunluk Kontrolü ve Öncelikler

Apple, App Store platformunun kalitesini ve güvenliğini korumak amacıyla son derece katı kurallar bütünü uygular. App Store yönergeleri (App Review Guidelines) olarak bilinen bu kurallar; güvenlik, performans, tasarım, iş modeli ve yasal uyumluluk olmak üzere beş ana kategoride toplanır. Uygulamanızın daha ilk incelemede reddedilmesini önlemek için kodlama aşamasından itibaren bu kurallara tam uyum gösterilmesi şarttır.

Özellikle çocuklara yönelik uygulamalarda veri toplama kısıtlamaları, kullanıcı tarafından oluşturulan içeriklerin (UGC) denetlenmesi için raporlama mekanizmaları ve uygulamaların temel işlevselliğini açıklayan net açıklamalar bu yönergelerin temelini oluşturur. Uygulamanın yalnızca bir web sitesinin basit bir webview (uygulama içi tarayıcı) sarmalayıcısı olmaması, kullanıcılara mobil platforma özgü zengin bir deneyim sunması gerekir. Aksi takdirde, "Minimum İşlevsellik" kuralı gereğince uygulamanız doğrudan reddedilecektir.

Adım 1: App Store Connect Üzerinde Uygulama Kaydının Oluşturulması

Bundle ID Tanımlama ve Uygulama Adı Seçimi

Geliştirici hesabınız aktif hale geldikten ve gerekli sertifikalar tanımlandıktan sonra, uygulamanızı App Store Connect paneli üzerinde kaydetmeniz gerekir. Bu işlemin ilk adımı, "Apps" sekmesinden "+" butonuna tıklayarak "New App" seçeneğini seçmektir. Karşınıza çıkan formda, uygulamanın platformu (iOS, macOS, tvOS vb.), adı, birincil dili ve en önemlisi Bundle Identifier (Bundle ID) bilgisi istenir.

Bundle ID, uygulamanızın tüm dünyada ve işletim sistemi düzeyinde benzersiz olmasını sağlayan kimlik dizisidir. Genellikle ters alan adı notasyonuyla (örneğin; com.sirketadi.uygulamaadi) oluşturulur. Xcode projenizdeki "Bundle Identifier" değeri ile App Store Connect'te seçeceğiniz Bundle ID birebir eşleşmelidir. Uygulama adı seçimi ise hem marka değeri hem de ASO açısından stratejik bir karardır. Ad alanında en fazla 30 karakter kullanılmasına izin verilir. Bu nedenle, uygulamanızın ana işlevini yansıtan ve telif hakkı ihlali barındırmayan net bir başlık seçilmelidir.

Fiyatlandırma, Vergi ve Ülke Bazında Kullanılabilirlik Ayarları

Uygulamanızın dünya genelinde hangi pazarlarda, hangi para birimleriyle ve ne şekilde satılacağını belirlemek finansal stratejinizin temelini oluşturur. App Store Connect panelindeki "Pricing and Availability" bölümü, bu ayarların merkezi olarak yönetildiği alandır. Burada uygulamanızı tamamen ücretsiz olarak sunabilir veya Apple'ın önceden tanımlanmış fiyatlandırma katmanlarından (Tiers) birini seçebilirsiniz.

Fiyatlandırma yapılandırılırken, her ülkenin yerel vergi oranları ve kur dalgalanmaları Apple tarafından otomatik olarak optimize edilir. Ancak bir geliştirici olarak, özellikle ABD pazarında satış yapacaksanız, vergi formları (W-8BEN veya W-8BEN-E gibi) doldurarak çifte vergilendirmeyi önleme anlaşmalarından yararlanmanız gerekir. Ayrıca uygulamanızın coğrafi dağıtım kısıtlamalarını da bu ekrandan yönetebilirsiniz. Örneğin, yalnızca Türkiye pazarında hizmet veren bir lojistik uygulamasının küresel olarak indirilebilir olmasını engellemek, sunucu maliyetlerini ve sahte kullanıcı trafiğini azaltmak açısından mantıklı bir yaklaşımdır.

Gizlilik Politikası URL'si ve Veri Toplama Beyanları (KVKK/GDPR Uyum)

Siber güvenlik ve kişisel verilerin korunması standartları gereği, App Store'a yüklenen her uygulamanın aktif bir Gizlilik Politikası (Privacy Policy) URL'sine sahip olması yasal bir zorunluluktur. Apple, kullanıcıların kişisel verilerinin nasıl işlendiğini, saklandığını ve üçüncü taraflarla paylaşılıp paylaşılmadığını şeffaf bir şekilde görmesini ister. Bu politika metninin barındırıldığı web sitesi linki, mağaza kaydına eklenmelidir.

Bununla birlikte, App Store Connect'te yer alan "App Privacy" bölümünde, uygulamanızın topladığı veri türlerini tek tek beyan etmeniz gerekir. "Data Nutrition Labels" (Veri Besin Etiketleri) adı verilen bu sistemde; konum, kişi bilgileri, finansal veriler, kullanım geçmişi gibi veri tiplerinin hangi amaçla toplandığını belirtmeniz şarttır. Eğer uygulamanız kullanıcıları farklı platformlarda takip ediyorsa veya veri paylaşıyorsa, Apple'ın App Tracking Transparency (ATT) çerçevesini kullanarak kullanıcıdan açık rıza (KVKK/GDPR uyumlu) almanız teknik olarak zorunlu tutulmuştur.

Adım 2: Metadata ve Uygulama Mağazası Görsellerinin Hazırlanması

Etkili Uygulama Açıklaması ve Anahtar Kelime Stratejisi (ASO)

Uygulamanızın teknik olarak mükemmel olması, mağaza aramalarında keşfedilmedikten sonra ticari bir başarı getirmeyecektir. Bu noktada App Store Optimization (ASO) stratejisi devreye girer. App Store Connect panelinde doldurmanız gereken üç temel metin alanı vardır: Uygulama Adı (App Name), Alt Başlık (Subtitle) ve Anahtar Kelimeler (Keywords). Bu alanlar doğrudan arama algoritması tarafından taranır ve indekslenir.

  • Uygulama Adı: Markanızın yanında en önemli anahtar kelimeyi barındırmalıdır (Örn: "Webizm - Proje Yönetimi"). Limit 30 karakterdir.

  • Alt Başlık: Uygulamanın değer önerisini netleştiren, dikkat çekici kısa bir cümleden oluşmalıdır. Limit 30 karakterdir.

  • Anahtar Kelimeler: Arama motorunda görünmek istediğiniz kelimelerin virgülle ayrılmış listesidir. 100 karakterlik bu alanda boşluk kullanılmamalı, kelimeler tekrarlanmamalıdır.

Uygulama açıklaması (Description) ise 4000 karakterlik bir limite sahiptir. Bu alan doğrudan App Store içi aramalarda indekslenmese de Google arama motoru indekslemesi (SEO) ve kullanıcının indirme kararını vermesi açısından kritik öneme sahiptir. Açıklamanın ilk üç satırı, kullanıcının "Daha Fazla" butonuna tıklamadan gördüğü alan olduğu için en çarpıcı özellikleri içermelidir.

Cihazlara Göre Ekran Görüntüleri ve Ön İzleme Videosu Gereksinimleri

Kullanıcıların bir uygulamayı indirme kararını verirken en çok etkilendikleri alan ekran görüntüleridir (Screenshots). Apple, mağazada yayınlanacak görseller için son derece sıkı çözünürlük ve içerik kuralları uygulamaktadır. Uygulamanızın çalıştığı tüm cihaz sınıfları için doğru piksel boyutlarında en az bir adet ekran görüntüsü yüklenmesi zorunludur.

Güncel gereksinimler doğrultusunda, 6.5 inç (iPhone XS Max, 11 Pro Max vb.) ve 5.5 inç (iPhone 8 Plus ve daha eski nesil cihazlar) ekran boyutları için görsel hazırlanması mecburidir. Eğer uygulamanız iPad cihazları da destekliyorsa, 12.9 inç iPad Pro ekran görüntülerinin de yüklenmesi gerekir. Görsellerde kesinlikle cihazın kendi arayüzü ve uygulamanın gerçek işlevleri gösterilmelidir. Sadece pazarlama sloganlarından oluşan, uygulamanın çalışır halini yansıtmayan hayali tasarımlar Apple inceleme ekibi tarafından reddedilme nedenidir. Ayrıca isterseniz uygulamanın işleyişini gösteren, maksimum 30 saniye uzunluğunda 3 adete kadar "App Preview" videosu da ekleyebilirsiniz.

Uygulama İçi Satın Alma (IAP) ve Abonelik Detayları

Eğer uygulamanızda dijital içerikler, premium özellikler veya abonelik modelleri sunarak gelir elde etmeyi planlıyorsanız, StoreKit framework entegrasyonunu tamamlamanız ve bu ürünleri App Store Connect üzerinde tanımlamanız gerekir. Apple, fiziksel ürün satışları (örneğin e-ticaret siteleri) dışındaki tüm dijital satışların kendi ödeme altyapısı üzerinden yapılmasını zorunlu kılar.

App Store Connect'teki "In-App Purchases" veya "Subscriptions" menüsü altından dört farklı ürün tipi oluşturabilirsiniz:

  1. Tüketilebilir (Consumable): Oyun içi altınlar veya uygulama içi krediler gibi harcandıkça tükenen ve tekrar satın alınabilen ögeler.

  2. Tüketilemeyen (Non-Consumable): Reklamları kaldırma veya premium özellik paketini ömür boyu açma gibi bir kez satın alınıp kalıcı olan özellikler.

  3. Otomatik Yenilenen Abonelikler (Auto-Renewing Subscriptions): Haftalık, aylık veya yıllık periyotlarla kullanıcının izni dahilinde otomatik olarak yenilenen servisler.

  4. Yenilenmeyen Abonelikler (Non-Renewing Subscriptions): Belirli bir süre aktif olan ancak süresi bittiğinde kullanıcının manuel olarak tekrar satın alması gereken modeller.

Her ürün için benzersiz bir Product ID (Ürün Kimliği), yerel fiyatlandırma politikası ve inceleme ekibinin ürünü test edebilmesi için bir ekran görüntüsü eklenmesi zorunludur. Apple, standart olarak bu satışlardan %30 komisyon almaktadır; ancak yıllık geliri 1 milyon USD'nin altında olan küçük işletmeler için sunulan "App Store Small Business Program" başvurusu onaylandığı takdirde bu oran %15'e düşmektedir.

Adım 3: Xcode Üzerinden Build Alma ve Uygulamayı Yükleme

Sürüm (Version) ve Yapı (Build) Numaralarının Belirlenmesi

Yazılım geliştirme döngüsünde versiyon kontrolünün doğru yönetilmesi, uygulamanın yaşam döngüsü boyunca sürdürülebilirliği açısından hayatidir. Xcode projenizin "General" ayarlarında yer alan iki temel değer vardır: Version ve Build. Bu iki değer, hem App Store Connect üzerindeki takibi hem de kullanıcıların cihazlarındaki güncellemelerin algılanmasını sağlar.

  • Version (Sürüm): Kullanıcının mağazada gördüğü sürüm numarasıdır (Örn: 1.0.0). Genellikle "Semantic Versioning" (Anlamsal Versiyonlama) standartlarına göre belirlenir. Major (Büyük Değişiklik), Minor (Yeni Özellik) ve Patch (Hata Düzeltme) mantığına dayanır.

  • Build (Yapı): İçsel takip için kullanılan benzersiz derleme numarasıdır (Örn: 1 veya 2). Aynı mağaza sürümü (1.0.0) altında birden fazla kez derleme gönderiyorsanız, her gönderimde Build numarasını artırmak zorundasınız. Aksi takdirde, Apple sunucuları yükleme işlemini mükerrer dosya gerekçesiyle reddedecektir.

Bu numaraların tutarlılığı, özellikle sürekli entegrasyon ve sürekli dağıtım (CI/CD) süreçlerinde otomasyon araçları kullanılarak (Örn: Fastlane) dinamik olarak yönetilebilir. Manuel yönetimde ise her Xcode arşivleme işleminden önce bu alanların manuel olarak kontrol edilmesi önerilir.

Archive İşlemi ve Validasyon Aşaması (Hata Kontrolü)

Kod tabanınız tamamlandığında, uygulamanın mağazaya gönderilmeye hazır nihai paketini oluşturma işlemine başlanır. Bu sürece "Arşivleme" (Archiving) adı verilir. Arşivleme işlemini başlatmak için öncelikle Xcode üzerindeki hedef cihaz seçimi alanından fiziksel bir cihaz veya "Any iOS Device (arm64)" seçeneği işaretlenmelidir. Simülatör seçili durumdayken arşivleme seçeneği aktif olmayacaktır.

Ardından üst menüden Product > Archive seçeneği tıklanarak derleme süreci başlatılır. Derleme işlemi projenin büyüklüğüne bağlı olarak birkaç dakikadan birkaç saate kadar sürebilir. İşlem başarıyla tamamlandığında karşınıza "Organizer" penceresi gelecektir. Bu pencere, oluşturduğunuz arşivi doğrulamak (Validate App) ve Apple sunucularına dağıtmak (Distribute App) için kullanacağınız ana istasyondur. "Validate App" butonuna tıklamak, uygulamanızı Apple'a göndermeden önce yerel bir ön denetimden geçirir. Bu denetim, eksik uygulama ikonları, yanlış hedef mimarileri, desteklenmeyen API kullanımları veya yetkisiz kütüphane erişimleri gibi yaygın hataları (Örn: ITMS-90078 hatası) önceden tespit ederek zaman kaybetmenizi önler.

App Store Connect'e Başarılı Bir Şekilde Uygulama Yükleme

Doğrulama aşamasını sıfır hata ile geçen arşiviniz, artık App Store Connect bulut sunucularına yüklenmeye hazırdır. Organizer penceresindeki "Distribute App" seçeneğine tıklayarak dağıtım yöntemini belirlemeniz istenir. App Store'da yayınlanacak uygulamalar için "App Store Connect" seçeneği seçilerek ilerlenir. Bir sonraki ekranda ise yükleme yöntemi olarak "Upload" tercih edilir.

Bu aşamada Xcode, projenin Provisioning Profile ve Dağıtım Sertifikası eşleşmelerini otomatik olarak doğrular. "Automatically manage signing" seçeneği işaretliyse, Xcode gerekli şifreleme anahtarlarını Apple Developer portalı ile arka planda senkronize eder. Yükleme işlemi başladıktan sonra, uygulamanın boyutuna ve internet hızınıza bağlı olarak IPA dosyası Apple sunucularına transfer edilir. Transfer başarıyla tamamlandığında bir onay ekranı belirir. Ancak, bu onay uygulamanın hemen kullanılabilir olduğu anlamına gelmez; yüklenen build, Apple sunucularında otomatik bir güvenlik ve kütüphane taramasından (Processing aşaması) geçer. Bu tarama süresi uygulamanın karmaşıklığına göre 10 dakika ile birkaç saat arasında değişebilir ve işlem bittiğinde geliştiriciye e-posta ile bildirim gönderilir.

SÜREÇ ADIMLARI

Xcode Derleme ve Yükleme Adımları

Xcode projesinin derlenmesi ve App Store Connect sunucularına aktarılması süreci.

01

Hedef Cihaz Seçimi ve Sürüm Kontrolü

Xcode üzerinde hedef cihazı 'Any iOS Device (arm64)' olarak ayarlayın ve sürüm/build numaralarını güncelleyin.

02

Arşivleme (Archive) İşlemini Başlatma

Product menüsünden Archive seçeneğine tıklayarak projenin nihai üretim paketini derleyin.

03

Doğrulama ve Buluta Dağıtım

Organizer penceresinde uygulamanızı Validate edin, ardından Distribute seçeneğiyle App Store Connect'e upload edin.

Adım 4: TestFlight ile Beta Testi Aşaması

Dahili ve Harici Test Kullanıcılarını Yönetmek

Uygulamanızı genel kullanıma sunmadan önce, gerçek dünya senaryolarında test etmek olası kritik çökmelerin ve kullanıcı deneyimi hatalarının önüne geçer. Apple, bu süreç için TestFlight adını verdiği güçlü bir beta test platformu sunar. App Store Connect'e başarıyla yüklenen ve "Processing" aşamasını tamamlayan her build, doğrudan TestFlight üzerinden test edilmeye hazır hale gelir.

TestFlight üzerinde iki farklı test grubu oluşturabilirsiniz:

  1. Dahili Test Kullanıcıları (Internal Testers): App Store Connect hesabınızda "Yönetici", "Geliştirici" veya "Pazarlamacı" gibi rollere sahip olan ekip üyelerinizdir. En fazla 100 dahili kullanıcı ekleyebilirsiniz. Dahili test aşamasında yüklenen build'ler herhangi bir Apple incelemesine tabi tutulmadan anında test kullanıcılarına ulaşır. Bu durum, hızlı iterasyonlar ve şirket içi testler için mükemmel bir yöntemdir.

  2. Harici Test Kullanıcıları (External Testers): Şirket dışındaki gerçek kullanıcılardan, iş ortaklarından veya beta topluluklarından oluşan gruptur. Tek bir uygulama için en fazla 10.000 harici test kullanıcısı tanımlayabilirsiniz. Harici test sürecini başlatmak için, uygulamanın beta sürümünün Apple'ın beta denetim ekibi tarafından onaylanması gerekir. Bu onay süreci genellikle birkaç saat içinde sonuçlanır.

Beta Test Geri Bildirimlerinin Toplanması ve Değerlendirilmesi

TestFlight, sadece uygulamanın dağıtılmasını sağlamaz; aynı zamanda yapılandırılmış bir geri bildirim mekanizması sunar. Beta kullanıcıları, uygulamayı kullanırken karşılaştıkları bir hatanın ekran görüntüsünü aldıklarında, doğrudan TestFlight uygulaması üzerinden geliştiriciye hata raporu (Crash Log) gönderebilirler. Bu raporlar, kullanıcının cihaz modelini, iOS sürümünü, pil durumunu ve hatanın gerçekleştiği kod satırını içeren teknik verileri barındırır.

Geliştirme ekibi, App Store Connect'teki TestFlight sekmesi altından bu geri bildirimleri, çökme istatistiklerini ve kullanıcı yorumlarını anlık olarak takip edebilir. Özellikle kurumsal projelerde, QA (Quality Assurance) ekipleri bu verileri analiz ederek uygulamanın kararlılık oranını (Crash-Free Rate) ölçümler. Sektör standartlarına göre, bir uygulamanın App Store'da genel yayına çıkabilmesi için bu oranın minimum %99.5 ve üzerinde olması beklenir.

Uygulamanın Yayına Çıkmadan Önceki Son Kontrolleri

Beta test sürecinin sonuna gelindiğinde, uygulamanın üretim sürümü (Production Build) için son bir kez teknik analiz yapılması gerekir. Bu aşamada, yerel veritabanlarının (CoreData, SQLite, Realm vb.) veri göçü (migration) süreçlerinde çöküp çökmediği, push bildirim (APNs) sertifikalarının sandbox (test) ortamından production (üretim) ortamına başarıyla geçirilip geçirilmediği kontrol edilmelidir.

Ayrıca, uygulamanın performans parametreleri, bellek tüketimi (Memory Leak) ve enerji kullanımı gerçek fiziksel cihazlar üzerinde Xcode Instruments aracı ile izlenmelidir. Arka planda aşırı kaynak tüketen veya cihazın ısınmasına yol açan uygulamalar, mağazaya çıktıktan sonra çok hızlı bir şekilde olumsuz yorumlar alacak ve marka itibarına zarar verecektir.

Adım 5: İncelemeye Gönderme (Submit for Review) ve Onay Süreci

App Review Ekibi İçin Gerekli Test Bilgilerinin Sağlanması

Uygulamanızın genel kullanıma açılması için son viraj, Apple'ın resmi App Review (Uygulama İnceleme) ekibine sunulmasıdır. App Store Connect panelinde "Prepare for Submission" ekranına gelerek, test edilmesini istediğiniz onaylı build'i seçmeniz gerekir. Ancak inceleme ekibinin uygulamanızı test edebilmesi için onlara gerekli tüm araçları ve erişimleri sağlamalısınız.

"App Review Information" başlığı altında, ekibin sisteme giriş yapabilmesi için aktif bir demo kullanıcı hesabı (kullanıcı adı ve şifre) tanımlamanız zorunludur. Eğer uygulamanız iki aşamalı doğrulama (SMS OTP, Authenticator vb.) gerektiriyorsa, inceleme ekibi için bu güvenlik adımlarını bypass edecek veya test kodlarıyla çalışacak özel bir mekanizma kurmalısınız. Ayrıca, uygulamanın çalışması için özel bir donanım (örneğin akıllı bir IoT cihazı veya bluetooth entegrasyonu) gerekiyorsa, uygulamanın bu donanımla nasıl etkileşime girdiğini gösteren detaylı bir demo videosu hazırlayıp "Review Notes" (İnceleme Notları) kısmına eklemelisiniz. Bu bilgilerin eksik olması, uygulamanın doğrudan "Guideline 2.1 - Information Needed" gerekçesiyle durdurulmasına yol açar.

İnceleme Süresi ve Süreci Hızlandırma Yöntemleri

Apple, geçmiş yıllara kıyasla inceleme süreçlerini ciddi oranda hızlandırmıştır. Geçmişte haftalar süren onay süreçleri, güncel veriler ışığında ortalama 24 ila 48 saat arasına düşmüştür. Bu süre hafta sonları veya küresel tatil dönemlerinde (örneğin Noel döneminde Apple ekibinin tatile girmesi) uzayabilir.

Acil durumlarda inceleme sürecini hızlandırmak için Apple'ın "Expedited Review" (Hızlandırılmış İnceleme) mekanizmasına başvurabilirsiniz. Ancak bu hak sınırlıdır ve yalnızca çok kritik siber güvenlik açıklarının kapatılması, uygulamanın çalışmasını tamamen engelleyen majör bir hatanın düzeltilmesi veya zamanı çok kısıtlı olan ve ertelenmesi mümkün olmayan uluslararası bir etkinlikle doğrudan ilişkili durumlarda onaylanır. Keyfi gerekçelerle yapılan hızlandırma talepleri Apple tarafından reddedilir.

Uygulama Durum Takibi ve İletişim

Uygulamanızı "Submit for Review" butonuna tıklayarak gönderdikten sonra, sürecin her aşaması App Store Connect paneli ve mobil uygulaması üzerinden anlık olarak izlenebilir. Uygulamanızın durumu sırasıyla şu aşamalardan geçer:

  • Waiting for Review (İnceleme Bekleniyor): Uygulama kuyruğa alınmıştır, henüz bir Apple test uzmanı tarafından açılmamıştır.

  • In Review (İncelemede): Bir test uzmanı uygulamanızı indirmiş, test bilgilerini kullanarak incelemeye başlamıştır. Bu aşamada uygulamanın aktif olarak test sunucularınıza istek gönderdiğini görebilirsiniz.

  • Ready for Sale (Satışa Hazır): Uygulama onaylanmış ve App Store'da yayınlanmıştır.

  • Rejected (Reddedildi): Uygulama yönergelere uymadığı gerekçesiyle reddedilmiştir.

Eğer uygulamanız reddedilirse, panelle entegre çalışan "Resolution Center" (Çözüm Merkezi) üzerinden inceleme ekibiyle doğrudan yazılı iletişime geçebilirsiniz. İnceleme uzmanı, ret gerekçesini ilgili ekran görüntüleri, kilitlenme raporları ve ihlal edilen yönerge maddesiyle birlikte size iletir. Bu alandan ekibin sorularını yanıtlayabilir, ek belgeler sunabilir veya hatayı düzelttiğiniz yeni bir derleme (build) yükleyerek süreci kaldığı yerden devam ettirebilirsiniz.

Apple Tarafından Sık Karşılaşılan Reddedilme Nedenleri ve Çözümleri

App Store Yönergeleri İhlalleri (Privacy, Performance, Design)

Apple'ın uygulama mağazasında kaliteyi koruma tutkusu, geliştiricilerin en çok "App Review Guidelines" (Uygulama İnceleme Yönergeleri) nedeniyle ret almasına yol açar. Bu retlerin arkasında genellikle üç ana başlık bulunur: Gizlilik (Privacy), Performans (Performance) ve Tasarım (Design).

  • Gizlilik İhlalleri (Guideline 5.1.1): Kullanıcıdan gereksiz izinler talep edilmesi (örneğin, bir fotoğraf düzenleme uygulamasının kullanıcının konum verisini veya rehberini istemesi) en yaygın ret nedenlerinden biridir. İstenen her izin (kamera, konum, bildirim vb.) için Info.plist dosyasında kullanıcıya gösterilecek olan açıklama metninin (Usage Description) son derece açık, dürüst ve işlev odaklı yazılması zorunludur.

  • Performans Sorunları (Guideline 2.1): Test uzmanının inceleme sırasında uygulamanın çökmesiyle (crash), donmasıyla veya sonsuz yükleme ekranında kalmasıyla karşılaşması durumudur. Apple, kararsız çalışan hiçbir uygulamanın mağazada yer almasına izin vermez.

  • Tasarım Eksiklikleri (Guideline 4.0): iOS platformunun yerel tasarım standartlarına (Human Interface Guidelines) uyulmaması, arayüzün çok karmaşık olması veya uygulamanın kullanıcıya mobil web sitesinden farklı hiçbir katma değer sunmamasıdır.

Eksik Bilgi veya Test Edilemeyen Uygulamalar

Geliştiricilerin sıklıkla düştüğü hatalardan biri de, uygulamayı teslim ederken arka plandaki servislerin veya veritabanlarının test ortamına hazır olduğunu varsaymalarıdır. Eğer uygulamanız üyelik gerektiriyor ve siz inceleme ekibine çalışmayan, süresi dolmuş veya hatalı bir test hesabı verdiyseniz, uygulama saniyeler içinde "Guideline 2.1 - Performance: Information Needed" maddesinden durdurulur.

Aynı şekilde, uygulamanın çalışabilmesi için coğrafi konum kısıtlaması varsa (örneğin sadece Türkiye sınırları içinde çalışan bir harita servisi), ABD'de bulunan Apple test uzmanının bu haritayı ve özellikleri görebilmesi için simüle edilmiş konum verileri veya özel bir test arayüzü sunulmalıdır. Test uzmanı, uygulamanın temel fonksiyonlarını deneyimleyemediği anda süreci sonlandırır.

Reddedilme Sonrası Yapılması Gerekenler ve Yeniden Gönderme

Bir uygulamanın reddedilmesi, projenin başarısız olduğu anlamına gelmez; bu durum iOS ekosisteminin doğal bir parçasıdır. Önemli olan, ret bildirimini profesyonel bir yaklaşımla analiz etmek ve doğru aksiyonu almaktır. Resolution Center üzerinden gelen mesajı okuduğunuzda, Apple uzmanının tam olarak neyi test edemediğini veya hangi kuralı ihlal ettiğinizi belirttiğini görürsünüz.

Eğer sorun sadece bir bilgi eksikliği veya yanlış yazılmış bir açıklama metni ise, kod tabanına dokunmadan sadece App Store Connect üzerinden gerekli düzeltmeleri yapıp inceleme uzmanına Resolution Center üzerinden cevap yazarak süreci devam ettirebilirsiniz. Ancak sorun tasarımsal veya teknik bir çökme hatasından kaynaklanıyorsa, yerel geliştirme ortamında hatayı simüle edip çözmeniz gerekir. Düzeltilen kod sonrasında sürüm numarasını değiştirmeden sadece Build numarasını artırarak (Örn: 1 yerine 2) yeni paketi Xcode ile yüklemeli ve güncel build'i seçerek incelemeye yeniden göndermelisiniz (Resubmit).

Sıkça Sorulan Sorular

App Store'a uygulama yüklemek ücretli mi?

App Store'a uygulama yüklemek için Apple Developer Programına üye olmanız gerekir ve bu üyelik yıllık 99 USD ücrete tabidir.

App Store geliştirici hesabı ne kadar?

Bireysel ve standart kurumsal geliştirici hesabı yıllık 99 USD iken, şirket içi dağıtım sağlayan Enterprise hesabı yıllık 299 USD'dir.

App Store uygulama onay süresi ne kadar sürer?

Apple'ın güncel inceleme altyapısı sayesinde onay süreçleri genellikle 24 ila 48 saat arasında tamamlanmaktadır.

Kendi yaptığım uygulamayı App Store'a nasıl yüklerim?

macOS işletim sisteminde Xcode kullanarak uygulamanızı arşivlemeli, sertifikalarla imzalamalı ve App Store Connect paneli üzerinden göndermelisiniz.

Apple uygulamamı neden reddetti?

Yaygın nedenler arasında eksik test hesap bilgileri, tasarım standartlarına uymama, çökme (crash) hataları ve yetersiz gizlilik politikası açıklamaları yer alır.

DUNS numarası nedir ve kurumsal hesap için neden zorunludur?

DUNS, kurumsal kimliğinizi uluslararası düzeyde doğrulayan dokuz haneli benzersiz bir numaradır ve Apple tarafından kurumsal güvenlik için zorunlu tutulur.

App Store komisyon oranları ve vergi kesintileri nasıl çalışır?

Standart komisyon oranı %30 iken, yıllık geliri 1 milyon USD'nin altında olan geliştiriciler için bu oran %15'e düşürülebilmektedir.

TestFlight dışındaki kullanıcılar uygulamayı nasıl test edebilir?

Harici kullanıcılar için App Store Connect paneli üzerinden TestFlight dışı Ad-Hoc veya özel Enterprise provizyon profilleriyle sınırlı dağıtım yapılabilir.

Son Adım

Dijital projenizi bugün planlayalım

Web, yazılım, e-ticaret, mobil uygulama, entegrasyon, SEO veya GEO ihtiyacınızı net bir kapsama dönüştürelim.

App Store'a Uygulama Nasıl Yüklenir? | Webizm