Mobile App Wiki

Mobile App Wiki

mobileapp.wiki

Ana Sayfa

Kategoriler

mobileapp.wiki

Mobile App Wiki

Mobil uygulama geliştirme bilgi tabanı

GizlilikAna SayfaSitemapRSS
© 2026 mobileapp.wiki
Ana Sayfa/Geliştirme/Code Signing (iOS)
Geliştirme3 dk okuma

Code Signing (iOS)

iOS uygulama imzalama süreci rehberi. Certificate ve provisioning profile yönetimi, automatic ve manual signing, Fastlane Match ve CI/CD entegrasyonu.

code signingioscertificateprovisioning profilexcodefastlane matchapple developerimzalama

İçindekiler

Code Signing Nedir?Temel KavramlarCertificate (Sertifika)Provisioning ProfileApp IDSigning SüreciAutomatic vs Manual SigningAutomatic (Önerilen)ManualFastlane MatchSık Karşılaşılan SorunlarEntitlements2026 İtibariyle Güncel Durumİlgili Konular

Code Signing Nedir?

Apple, App Store'da veya cihazlarda çalıştırılan her uygulamanın dijital olarak imzalanmasını zorunlu kılar. Bu imza, uygulamanın güvenilir bir geliştiriciden geldiğini ve değiştirilmediğini doğrular. Code signing olmadan hiçbir uygulama iOS cihazlarda çalışamaz.

Temel Kavramlar

Certificate (Sertifika)

  • Apple Developer hesabınızla ilişkilendirilmiş dijital kimlik
  • Development: Test cihazlarında çalıştırma için
  • Distribution: App Store'a gönderme için
  • Keychain'de saklanır, private key + public key çifti içerir
  • Süresi dolabilir (genellikle 1 yıl), yenilenmesi gerekir

Provisioning Profile

  • Certificate + App ID + Device ID'leri birleştiren dosya
  • Development: Belirli test cihazlarında çalıştırma
  • Ad Hoc: Belirli cihazlara dağıtım (100 cihaz limiti)
  • App Store: Store'a gönderim için
  • Enterprise: Kurumsal uygulamalar için (299$/yıl hesap)

App ID

  • Uygulamayı benzersiz olarak tanımlayan identifier
  • Bundle ID formatında: com.sirketadi.uygulama
  • Wildcard (*) veya explicit olabilir
  • Explicit App ID push notification, IAP gibi özellikler için gerekli

Signing Süreci

  1. Certificate oluştur: Apple Developer Portal veya Xcode üzerinden
  2. App ID tanımla: Developer Portal'da benzersiz identifier belirle
  3. Provisioning Profile oluştur: Certificate + App ID + (Devices) birleştir
  4. Xcode'da ayarla: Signing & Capabilities bölümünde yapılandır
  5. Build ve arşivle: Xcode ile Archive al ve Export et

Automatic vs Manual Signing

Automatic (Önerilen)

  • Xcode otomatik olarak certificate ve profile yönetir
  • "Automatically manage signing" seçeneği işaretli
  • Çoğu durum için yeterli ve pratik
  • Team seçimi yeterli, geri kalanını Xcode halleder

Manual

  • Kendin certificate ve profile seçersin
  • CI/CD pipeline'ları için gerekli olabilir
  • Daha fazla kontrol ama daha karmaşık
  • Birden fazla target veya extension olduğunda tercih edilebilir

Fastlane Match

Team'lerde code signing yönetimi için en iyi çözüm:

  • Certificates ve profiles'ı Git repo'da şifrelenmiş saklar
  • Tüm team aynı certificate'ları kullanır
  • CI/CD'de kolayca entegre edilir
  • Yeni geliştirici ekleme çok kolay

Sık Karşılaşılan Sorunlar

SorunÇözüm
"No signing certificate found"Certificate'ı yeniden indirin veya Xcode'da hesabı yenileyin
"Provisioning profile doesn't match"Profile'ı yeniden oluşturun, App ID ve entitlement'ları kontrol edin
"Code signing entitlements error"Capabilities ayarlarını kontrol edin, push notification vb.
CI/CD'de signing başarısızKeychain erişimini kontrol edin, certificate/profile yollarını doğrulayın

Entitlements

Uygulamanın kullanabileceği özellikleri tanımlayan dosya:

  • Push Notifications
  • App Groups (widget, extension veri paylaşımı)
  • iCloud
  • Associated Domains (Universal Links)
  • In-App Purchase
  • HealthKit, HomeKit vb.

2026 İtibariyle Güncel Durum

  • Xcode Cloud ile otomatik signing yönetimi daha da kolaylaştı
  • EAS Build, Expo projeleri için certificate yönetimini tamamen otomatikleştiriyor
  • Apple, certificate süresini bazı durumlarda uzattı
  • Managed signing dışında manual signing gerekliliği azaldı

Code signing karmaşık görünebilir ama doğru kurulumla sorunsuz çalışır. Fastlane Match veya EAS ile otomatikleştirmek en pratik yaklaşımdır.

İlgili Konular

  • Deep Linking & Universal Links
  • Device Testing (Cihaz Testi)
  • Apple Developer & Google Play Hesabı Oluşturma

Bu makaleyi nasıl buldunuz?

Paylaş

← Önceki

React Native

Sonraki →

Flutter

İlgili Makaleler

React Native

Meta'nın JavaScript tabanlı cross-platform framework'ü React Native rehberi. iOS ve Android native uygulama geliştirme, Expo ve New Architecture.

Flutter

Google'ın Dart tabanlı cross-platform UI toolkit'i Flutter rehberi. Tek codebase ile iOS, Android, Web ve Desktop uygulama geliştirme stratejileri.

Expo

React Native için hızlı geliştirme platformu Expo rehberi. EAS Build, OTA güncelleme, cloud build, managed workflow ve SDK modülleri detayları.

CI/CD (Mobil)

Mobil uygulamalar için CI/CD pipeline rehberi. EAS Build, Fastlane, Bitrise, Codemagic ve GitHub Actions ile sürekli entegrasyon ve dağıtım.

TestFlight

Apple'ın resmi beta test platformu TestFlight rehberi. Internal ve external test grupları, build yükleme yöntemleri ve CI/CD entegrasyonu detayları.