Mobile App WikiMobile App Wiki
WikiApp DiscoverDiscuss

Wiki

    mobileapp.wiki

    Wiki

    • ASO17
    • Monetizasyon14
    • Mağaza Politikaları20
    • Metrikler15
    • Geliştirme25
    • Pazarlama15
    • Hukuk9
    • UI/UX14
    • Test & QA10
    • Altyapı10

    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 Signing (iOS)

    İç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 içeriği nasıl buldunuz?

    Paylaş

    ← Önceki

    React Native

    Sonraki →

    Flutter

    İlgili İçerikler

    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ı.

    Android Kapalı Test

    Android Kapalı Test hizmeti için androidtesti.com platformunu ziyaret edin.

    androidtesti.com