İOS Uygulamaları Manuel Olarak Nasıl Derlenir?

Bu makalede, bir uygulamayı iTunes’da nasıl yayınlayacağımızı göreceğiz.

Yayınlamadan Önce Bilmeniz Gerekenler

Bir iOS uygulamasını yayınlamak için bir Mac bilgisayara ihtiyacınız vardır, çünkü Xcode yazılımını kullanmanız gerekir. Aslında bir Mac bilgisayar olmadan bunu yapabilirsiniz, ancak Mac OS’yi yüklemek ve Mac OS’de Xcode’u yüklemek için bilgisayarınızda Mac’i taklit etmeniz gerekir. İşte bununla ilgili bir makale:
https://www.udemy.com/blog/xcode-on-windows/

Tek bir geliştirici hesabının altındaki bir iOS yayınında 4 dosya gerekir, sertifikaları imzalayan bir dosya ve 3 sertifika. Sertifikaları imzalayacak dosya ve 3 sertifikadan biri, tek bir geliştirici hesabı altında yayınlanan tüm uygulamalar için kullanılır ve yeni bir uygulama yayınlayacağınız her iki sertifika da oluşturulmalıdır.
Tek bir geliştirici hesabı altında yayınlanan tüm uygulamalar için kullanılanlar:
Bu 2 dosya bir kez oluşturulacaktır (ilk defa bu geliştirici hesabının altında yayınlanacaksınız). Bunlar CertSigningRequest (CSR) ve iOS dağıtım sertifikasıdır (iOS_Distribution). CSR, Keychain Access’ten bilgisayarınızdan (Mac olması gerekir) oluşturulur ve iOS_Distribution, developer.apple.com adresindeki Üye Merkezi’nden oluşturulur.
Bu iki öğe, bilgisayarınızdaki bu geliştirici hesabının ana sertifikalar klasöründe saklanmalıdır (bu hesap altında diğer uygulamaları yayınlamak isterseniz, kuruluş açısından daha iyi olacaktır). Bu nedenle, bu örneği ele alırsak, kendi geliştirici hesabına sahip olan “Ahmet Ç” isimli müşteri için, bilgisayarınızda şu organizasyonlarla bu klasörler olacaktır:

  • IOS uygulamaları
    Ahmet Ç
    * Sertifikalar -> Ahmet Ç hesabı için CSR ve iOS_Distribution, bunları oluşturduktan sonra burada saklanmalıdır
    * Ahmet Ç ilk uygulama
    * Sertifikalar
    * Ekran Görüntüleri

İOS Uygulamaları Manuel Olarak Nasıl Derlenir?

Bu hesap altında yayınlanacak çeşitli uygulamalar varsa, bu CSR ve iOS_Distribution sertifikasını Ahmet Ç için yayınlayacağınız tüm uygulamalar için kullanacaksınız. Bir kez oluşturursunuz ve her seferinde Ahmet Ç için kendi hesabında bir uygulama yayınladığınızda kullanırsınız. Bilgileriniz için, Mac’inizde CSR’yi oluşturmak için Keychain Access, Uygulamalar> Yardımcı Programlar’dadır.

Diğer iki sertifika Apple Push Services sertifikası ve Mobil Hazırlama Profili’dir. Onları uygulama klasöründeki sertifika klasöründe saklayacaksınız. Dolayısıyla, önceki örneği düşünürsek, kendi geliştirici hesabına sahip olan “Ahmet Ç” isimli müşteri için:

  • IOS Uygulamaları
    * Ahmet Ç
    * Sertifikalar
    * Ahmet Ç İlk Uygulama
    * Sertifikalar -> Apple Push Services sertifikası ve Ahmet Ç 1. uygulaması için Mobil Hazırlama Profili oluşturulduktan sonra burada saklanmalıdır
    * Ekran Görüntüleri

İTunes’daki uygulama sayfasını doldurmak için bazı ekran görüntülerine ihtiyacınız olacak. Bunları Xcode ile ve özellikle Xcode ile birlikte verilen iOS Simulator ile yapabileceksiniz. İos_source klasöründeki Xcode projesini açın, daha sonra, örneğin iPhone 8 Plus hedefini seçin ve Oynat düğmesini tıklayın:

Klavyenizden CMD + S’yi kullanarak bu hedefe yönelik uygulamanın ekran görüntüsünü alın ve ekran görüntüsü istediğiniz her hedef için bunu yapın. Bir hedeften diğerine geçmeden önce Xcode’daki “stop” düğmesine tıklamayı unutmayınız.

 

İOS Uygulamasını Derlemek İçin Adım

Yayınlayacağınız geliştirici hesabıyla ilgili öğeleri oluşturun.

Bir CSR dosyası ve bir iOS Dağıtım sertifikası oluşturmanız gerekir. Ve bu öğeleri, bu geliştirici hesabının altında yayınlayacağınız sonraki tüm uygulamalar için kullanabileceksiniz -> oluşturulduktan sonra bunları değerli bir şekilde saklayın.

Mac’inizin anahtarlık erişim aracından oluşturulmalıdır. Uygulamalar> Yardımcı Programlar> Anahtarlık Erişimi’nden açın:

Menüden “Anahtarlık erişimi”> “Sertifika Asistanı”> “Sertifika Yetkilisinden Sertifika İsteme” yi seçin:

Açılan pencerede, geliştirici hesabının e-posta adresini (veya başka bir e-posta adresini girmez, herhangi bir etkisi yoktur) girin ve geliştirici hesabınızın adını girin ve “Diske kaydedildi” yi seçin:

Bu CSR’yi, geliştirici hesabınızın sertifikalarıyla ilgili bir klasöre diskinize kaydedin.

Pencereyi kapatın.

– Geliştirici hesabıyla https://developer.apple.com/membercenter/index.action adresinden bağlantı kurun.

– “Sertifikalar, Tanımlayıcılar ve Profiller” e tıklayın.

– Soldaki menüdeki “Sertifikalar” menüsünde bulunan “Üretim” üzerine tıklayın:

– Ardından sağ üstte bulunan  simgesine tıklayın.

– “App Store ve Ad Hoc” u seçin ve “devam” a tıklayın:

– Tekrar “Devam” a tıklayın

– İOS Dağıtım sertifikanızı daha önce oluşturduğunuz CSR dosyasıyla imzalayın.

– Oluşturulan iOS Dağıtım sertifikasını indirin.

– Anahtar Zinciri Erişimi’ne eklemek için iOS Dağıtım sertifikasını (ios_distribution.cer) çift tıklatın.

Yayınlayacağınız Uygulama İle İlgili Öğeleri Oluşturun

Bu sertifika sayesinde uygulamanıza push bildirimleri, uygulama içi satın alma ve diğer hizmetleri ekleyebileceksiniz. Bizim durumumuzda, sadece push bildirim servisi ilginçtir.

– Soldaki “Tanımlayıcılar” menüsünden “Uygulama Kimliği” ni tıklayın:

– Sağ üstte bulunan  simgesine tıklayın.

– Uygulama adınızı ve uygulamanın paket kimliğini girin:

– Aşağıya inin ve “Uygulama Servisleri” listesinden “Push Bildirimleri” ni seçin:

– “Devam” ı tıklayın

– “Kayıt” üzerine tıklayın ve “Bitti” ye tıklayın.

– Ardından, listede yeni oluşturduğunuz uygulama kimliğini bulun ve “Düzenle” yi tıklayın.

– “Üretim SSL Sertifikası” bölümünde en alttaki ve Push Bildirimler bölümünde “Sertifika Oluştur” a tıklayın.

– “Devam” ı tıklayın

– “Dosya Seç” i tıklayın ve bu geliştirici hesabı için daha önce oluşturduğunuz CSR dosyasını yükleyin (bu geliştirici hesabı için iOS Dağıtım sertifikası oluşturmak için kullandığınız CSR ile aynı)

İOS Uygulamaları Manuel Olarak Nasıl Derlenir?

– Yeni oluşturulmuş olan Apple Push Services sertifikasını (aps.cer) indirin. Bu sertifikayı Mac’inizdeki bu uygulama ile ilgili bir klasörde saklayın.

– “Bitti” ye tıklayın

– Anahtarlık Erişimine eklemek için Apple Push Services sertifikasını (aps.cer) çift tıklatın.


– Sol menüdeki “Temel Hazırlık Profilleri” nden “Dağıtım” a tıklayın.

– Sağ üstteki  simgesine tıklayın

– “Dağıtım” altında “App Store” u seçin:

– Uygulamanızın uygulama kimliğini seçin ve “Devam” ı tıklayın.

– Önceden oluşturduğunuz Apple Push Services Sertifikasını imzalamak için kullandığınız CSR ile ilişkili iOS Dağıtım sertifikasını seçin (Bu uygulamanın aps.cer dosyasını imzalamak için kullanılan CSR ile oluşturulan iOS Dağılımını kullanmak çok önemlidir. Bunu unutmayın ve başka bir CSR ile bu uygulama için yeni bir aps.cer oluşturduğunuzda, bu CSR ile yapılan iOS Dağıtım sertifikasıyla da yeni bir provizyon profili oluşturmanız gerekmektedir ve ardından App Store’da uygulamanızın bir güncellemesini yayınlayın.).

– “Devam” ı tıklayın

– Temel hazırlık profilini adlandırın ve “Devam” ı tıklayın.

– Yeni oluşturulmuş olan temel hazırlık profilini indirin. Bu sertifikayı Mac’inizdeki bu uygulamayla ilgili klasörde saklayın ve daha önce oluşturulmuş olan Apple Push Hizmetleri sertifikasını içere klasörde.

Uygulamayı Derleme

– İOS kaynak kodunuzu indirin

– Klasörü açın, Xcode içinde .xcworkspace dosyasını açın.

– Dosyayı Xcode içinde derleyebilirsiniz.

– Mac’inizdeki Anahtarlık Erişimine gidin

– Soldaki menüden “Sertifikalar” ı seçin

– Sağ üstteki arama çubuğunda, uygulamanızın paket kimliğini girin

– “Apple Push Servisleri” sertifikanızın solundaki oku tıklayın, altında özel bir anahtar bulunmalıdır.

– Özel anahtarı ve sertifikayı seçin

– Üzerlerine sağ tıklayın

– “2 öğeyi dışa aktar…” ı seçin

– Masaüstünüzü hedef olarak seçin (başka bir konum olabilir, ancak sonra size vereceğimiz kodu ayarlamanız gerekecektir)

– Kendi parolanızı seçin

– Mac’inizin Terminal konsolunu açın (Uygulamalar> Yardımcı Programlar> Terminalden)

– Terminalde, masaüstünüzde bulunduğunuzdan emin olun (“Desktop” görüntülendikten sonra kullanıcı adınız olmalıdır)

– Bu komutu girin:

“openssl pkcs12 -in Certificates.p12 -out certificat.pem -nodes -clcerts”

(Eğer terminal “Certificates.p12” diye bir dosya olmadığını söylerse, masaüstünüze gidin ve bu .p12 sertifikasının adının ne olduğunu kontrol edin ve komut satırında Certificates.p12 yerine bu ismi girin)

– Sertifikanızı masaüstünüze aktarmak için daha önce kullandığınız şifreyi girin.

– Masaüstünüzde şu anda iki sertifika var: ca Certificates.p12 ve bir sertifika.pem.

– Bu dosyaları Mac’inizdeki uygulamanızın klasörüne taşıyın (yetkilendirme profili ve aps.cer ile birlikte)

– Bu sertifikayı arka ofisinizdeki uygulama sayfasında yükleyin.

İOS Uygulamaları Manuel Olarak Nasıl Derlenir?

– Tamamdır!

Push bildirimleri göndermek için şunları seçmelisiniz:

  1. Bu durumda ios ve android için gönderebilirsiniz .pem sertifikası ve her ikisi için de yayınlanmış durumu olması gerekir.
  2. Sadece Android’e gönderebilir, .pem sertifikası olmamalı ve ios için durumun “beklemede” olması gerekir.

1 ve 2 durumlarında bir .pem sertifikası oluşturmanız gerekir.

.Pem sertifikası oluşturmaya devam etmeden önce durum 2 ile ilgili kısa bir açıklama yapalım. Durum 2’de ios için kesinlikle bir sertifika bulunmamalıdır, eğer daha önce yüklediyseniz lütfen hem dosyalarınızdan hem de veritabanınızdan kaldırın. Önceden yüklediğiniz .pem sertifikasını kaldırmak için öncelikle veritabanınızda “push_certificate” tablosuna gidin, bu tablodaki satırı .pem sertifikasını kaldırmak istediğiniz uygulamanın “uygulama kimliği” ile arayın. .Pem sertifikasının adını alacaksınız, “cert_55c311wqc 5e2.pem” gibi bir şey olacaktır. Bu dosya adını kopyalayın. Veritabanındaki bu satırı silin (tabloyu kaldırmadığınızdan emin olun! Sadece uygulama ile ilgili bu .pem sertifikasını içeren satır). Daha sonra dosya yöneticinize veya Filezilla’ya gidin, var/apps/iphone’a gidin ve kopyaladığınız .pem sertifikasını kontrol edin. Dosyayı silin. Bitirdiniz.

.Pem sertifikası oluşturmaya bakmaya devam edelim.

  1. Tüm sertifikalar birbirine bağlı olduğundan, Apple Push Hizmetleri sertifikası, yetkilendirme profili oluşturmak için kullanılan iOS Dağıtım sertifikası oluşturmak için kullanılan CSR ile imzalanmalıdır. Bu, bu öğelerden birini değiştirirseniz uygulamanızın push gönderemeyeceği anlamına gelir. Örneğin, bir .pem sertifikası oluşturduysanız ve tekrar oluşturmak istiyorsanız, bu uygulamanın provizyon profilini oluşturmak için kullanılan iOS Dağıtım sertifikası oluşturmak için kullanılandan başka bir CSR ile imzalarsanız, Temel hazırlık profilini düzenlemek ve doğru iOS Dağıtımına (kullanmakta olduğunuz CSR ile oluşturulan) bağlamak ve daha sonra uygulamanızın bir güncellemesini App Store’a göndermeniz ve Apple’ın uygulamanızı  onaylamasını beklemeniz gerekir.
  2. .Pem sertifikanız iyi oluşturulmalı ve 4 bölüm içermelidir:

– friendlyName: Apple Push Hizmetleri

– friendlyName: iPhone Dağıtımı

– Ve sonra “Anahtar Nitelikler: <Öznitelik Yok>” tuşlarıyla ilgili iki bölüm

.Pem’iniz bu bölümleri içermiyorsa, bir şeyleri kaçırdınız demektir ve çalışmaz.

.pem sertifikaları hakkında “Bir şey daha”…:

Bu makalede, .pem sertifikalarının üretiminin nasıl oluşturulacağı gösterilmektedir. Push bildirimlerinin işe yaraması için, UygulamaSepetinizin Üretim modunda olması gerekir. Uygulamanızı Appstore’da yayınlamadan push bildirimlerini test etmek isterseniz, geliştirme sertifikaları oluşturmanız gerekir (Bu konuda destek getirmiyoruz. İnterneti veya Apple dokümantasyon kılavuzlarını kontrol ettiğiniz için teşekkürler) ve UygulamaSepetinizi Geliştirme moduna getirin.

Bu makaleyi yararlı buldunuz mu?