Makale

Bir Expo Uygulamasını App Store’da Yayınlamak

Apple Developer kaydından App Store incelemesine kadar bir Expo uygulamasını yayınlamak için pratik bir rehber.

Bir Expo Uygulamasını App Store’da Yayınlamak

Expo uygulamamı Google Play’de yayınlama sürecinden daha önce geçmiştim. O makaleyi okuduysanız Google Play ile App Store’un çok farklı canavarlar olduğunu bilirsiniz. Apple’ın kendi ekosistemi, araçları, inceleme süreci ve işleri zorlaştırmanın kendine özgü yolları var.

Bu, bir Apple Developer hesabı oluşturmaktan “Submit for Review”a tıklamaya kadar bir Expo uygulamasını iOS App Store’da yayınlamak için adım adım rehberim. Başlamadan önce bilmeyi dilediğim her şeyi kapsıyor.

Ön Koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

  • Çalışan bir Expo projesi (managed veya bare workflow)
  • Bir Mac veya ona erişim. EAS Build bunu aşabilse de Apple, iOS uygulamalarını yerel olarak derlemek için macOS gerektirir.
  • Kurulu Xcode (en son kararlı sürüm)
  • Bir Apple ID

❇️ Adım 1: Apple Developer Program’a Kaydolun

İlk engel bu. Android’in tek seferlik 25 $’lık ücretinden farklı olarak Apple yılda 99 $ alır.

  1. Şu adrese gidin: developer.apple.com
  2. “Account”a tıklayın ve Apple ID’nizle oturum açın
  3. Apple Developer Program’a kaydolun
  4. Kişisel veya kurumsal bilgilerinizi girin
  5. 99 $’lık ücreti ödeyin

Onaylandıktan sonra, bundan sonraki her şey için iki ana panonuz olan App Store Connect ve Apple Developer Portal’a erişiminiz olur.

❇️ Adım 2: Uygulamanızı App Store Connect’te Kurun

App Store Connect, uygulama sayfanızı, derlemelerinizi, fiyatlandırmanızı ve gönderimlerinizi yönettiğiniz yerdir.

  1. Şu adrese gidin: appstoreconnect.apple.com
  2. “+” düğmesine tıklayın, ardından “New App”i seçin.
  3. Uygulama ayrıntılarını girin:
    • Platform: iOS
    • Name: uygulamanızın görünen adı (dikkatli seçin; değiştirmek zordur)
    • Bundle ID: Expo yapılandırmanızdaki değerle tam olarak eşleşmelidir
    • SKU: benzersiz bir dahili tanımlayıcı
  4. “Create”e tıklayın.

Uygulama kaydınız artık App Store Connect’te canlı. Henüz bir derleme yok - yalnızca uygulama kapsayıcısı.

❇️ Adım 3: Expo Projenizi iOS için Yapılandırın

app.json (veya app.config.js) dosyasını açın ve iOS bölümünün eksiksiz olduğundan emin olun:

{
  "expo": {
    "name": "Your App Name",
    "slug": "your-app-slug",
    "version": "1.0.0",
    "ios": {
      "bundleIdentifier": "com.yourname.yourapp",
      "buildNumber": "1",
      "supportsTablet": true,
      "infoPlist": {
        "NSCameraUsageDescription": "We need camera access to...",
        "NSPhotoLibraryUsageDescription": "We need photo access to..."
      }
    }
  }
}

İki kez kontrol edilmesi gereken önemli noktalar:

  • bundleIdentifier, App Store Connect’te kayıtlı değerle tam olarak eşleşmelidir.
  • Sürüm aynı kalsa bile her yüklemede buildNumber değerini artırın.
  • Uygulamanızın kullandığı her izni net bir açıklamayla infoPlist’e ekleyin. Bunlar eksik veya belirsizse Apple uygulamanızı reddedebilir.

❇️ Adım 4: Sertifikaları ve Provisioning Profile’ları Yönetin

Apple’ın Android’den en çok ayrıldığı ve birçok geliştiricinin saatlerini kaybettiği yer burası. İki şeye ihtiyacınız var:

  • Derlemenin sizden geldiğini kanıtlayan bir Distribution Certificate
  • Uygulamanızın Bundle ID’sini sertifikanıza bağlayan ve dağıtımı yetkilendiren bir Provisioning Profile

Seçenek A: EAS halletsin (önerilir)

EAS Build kullanıyorsanız bunların hepsini otomatik olarak yönetebilir:

npx eas-cli credentials

EAS sizden Apple hesabınızda oturum açmanızı isteyecek, ardından her şeyi sizin için oluşturup saklayacak.

Seçenek B: Xcode veya Apple Developer Portal ile elle yapın

  1. Apple Developer Portal’da Certificates, IDs & Profiles bölümünü açın.
  2. Yeni bir iOS Distribution Certificate oluşturun.
  3. Bundle Identifier’ınızla eşleşen bir App ID oluşturun.
  4. İkisini bağlayan bir Distribution Provisioning Profile oluşturun.

💡 Öğrendiğim ders: Mümkünse birden fazla geliştirici sertifikası tutmaktan kaçının. Apple hesap başına kaç sertifikanız olabileceğini sınırlar ve bir sertifikayı iptal etmek, onu kullanan tüm provisioning profile’ları geçersiz kılar.

❇️ Adım 5: Uygulamanızı Derleyin

EAS Build kullanmak (önerilir)

npm install -g eas-cli
eas login
eas build:configure

eas.json dosyasını production için yapılandırın:

{
  "build": {
    "production": {
      "ios": {
        "distribution": "store"
      }
    }
  }
}

Ardından derlemeyi başlatın:

eas build --platform ios --profile production

EAS uygulamanızı bulutta derler, kod imzalamayı halleder ve yüklemeye hazır bir .ipa dosyası sağlar. Bu adım için Mac’e ihtiyacınız yok.

Xcode kullanmak (yerel derleme)

npx expo run:ios --configuration Release

Ya da ios/ klasörünü Xcode’da açın, hedef olarak “Any iOS Device”ı seçin ve Product → Archive’ı seçin.

❇️ Adım 6: Derlemenizi App Store Connect’e Yükleyin

Seçenek A: EAS Submit (en kolayı)

eas submit --platform ios --latest

Seçenek B: Transporter — Mac App Store’dan indirin, oturum açın, .ipa dosyanızı ekleyin ve “Deliver”a tıklayın.

Seçenek C: Xcode Organizer — arşivledikten sonra Window → Organizer’ı açın, arşivinizi bulun ve Distribute App → App Store Connect → Upload’ı seçin.

❇️ Adım 7: TestFlight ile Test Edin

App Store’a göndermeden önce her zaman TestFlight ile test edin.

  1. App Store Connect’te TestFlight’ı açın.
  2. Derlemeniz işlendikten sonra Internal Testers ekleyin (ekibinizden en fazla 100 kişi).
  3. External Testers için önce Beta App Review’a gönderin (genellikle 1–2 gün).

❇️ Adım 8: App Store Sayfanızı Hazırlayın

Göndermeden önce Apple’ın hepsini istediği öğeler:

  • Name (en fazla 30 karakter) ve Subtitle (en fazla 30 karakter)
  • Category (birincil ve isteğe bağlı ikincil)
  • Privacy Policy URL’si (zorunlu)
  • Description (en fazla 4.000 karakter; ilk birkaç satırı etkili yazın)
  • Keywords (toplam en fazla 100 karakter, virgülle ayrılmış)

Ekran görüntüleri — Apple belirli boyutlar ister:

  • iPhone 6.9 inç (iPhone 16 Pro Max) — zorunlu
  • iPhone 6.7 inç (iPhone 14 Plus / 15 Plus) — isteğe bağlı ama önerilir
  • iPad Pro 13 inç (M4) — uygulamanız iPad’i destekliyorsa zorunlu

❇️ Adım 9: Fiyatlandırma ve Kullanılabilirliği Ayarlayın

  1. Pricing and Availability’yi açın.
  2. Free’yi seçin veya bir fiyat kademesi belirleyin.
  3. Uygulamayı dağıtmak istediğiniz bölgeleri seçin (varsayılan tüm bölgelerdir).
  4. Bir kullanılabilirlik tarihi belirleyin (isteğe bağlı).

❇️ Adım 10: Uygulama Gizlilik Anketini Doldurun

Apple veri uygulamalarınızı beyan etmenizi ister. Bu bilgi App Store sayfanızdaki Privacy Nutrition Label’a dönüşür. App Store Connect’te App Privacy’yi açın ve dürüstçe yanıtlayın: hangi verileri topluyorsunuz, bunlar kullanıcının kimliğine bağlı mı ve takip için kullanılıyor mu.

❇️ Adım 11: İnceleme için Gönderin

Review Information altında Apple inceleyicisi için bir not bırakın. Uygulamanız giriş gerektiriyorsa test kimlik bilgilerini buraya girin. Ardından Add for Review → Submit to App Review’u seçin.

❇️ Adım 12: Yayınlayın!

Onaylandıktan sonra uygulamanızın durumu “Ready for Sale” olur. Gönderim sırasında şu seçeneklerden birini belirlersiniz:

  • Elle yayınla: uygulamanın ne zaman yayına gireceğini siz kontrol edersiniz.
  • Otomatik yayınla: uygulama onaylanır onaylanmaz yayına girer.

🎉 Tebrikler—uygulamanız App Store’da.

❇️ Toparlarken

App Store süreci Google Play’den daha opak ama ilkinden sonraki yayınlar çok daha sorunsuz hâle geliyor. En büyük zaman kayıpları:

  1. Sertifikalar ve provisioning — EAS’ın halletmesine izin verin.
  2. Ekran görüntüleri — bunlar için gerçek tasarım zamanı ayırın.
  3. İlk inceleme — 1–3 gün tanıyın ve hiçbir şeyin çökmediğinden emin olun.

Apple’ın ekosisteminin öğrenme eğrisi daha dik ama App Store kitlesi değerli ve bir kez içeri girdikten sonra kalite standartları sizin lehinize çalışıyor. Yayınlarken bol şans! 🚀

Bunu faydalı bulduysanız şu yazıyı da yazdım: Expo Uygulamamı Google Play’de Yayınlamak — Android için aynı adım adım anlatım. Uygulamalarımı şurada da bulabilirsiniz: vladsiu.com.