iOS için el ile kod imzalama
Bu makalede, iOS için kod imzalamasının nasıl olacağını öğreneceksiniz. Paketleme projenizi oluşturup derlerken platformlardan biri olarak iOS'i seçtiyseniz iOS için uygulamanızı imzalamanız gerekir.
Önemli
iOS için paketlenmiş mobil uygulamalarınızı dijital olarak imzalamak amacıyla Xcode kullanımı desteklenmez. iOS için paketlenmiş mobil uygulamalarınızı doğru şekilde imzalamak amacıyla aşağıdaki yönergeleri izleyin.
Önkoşullar
Başlamak için aşağıdaki bilgiler gerekir:
- Uygulama Kimliği
- Aygıt UDID'leri (yalnızca test ve geliştirme için)
Ayrıca iOS'te kod imzalama için bir macOS aygıtı da gerekir.
Mac'inizi hazırlama
Aşağıdaki yapılandırmayla Mac'inizi ayarlayın.
- Xcode'u yükleyin. Daha fazla bilgi: Xcode
- macOS için PowerShell'i yükleyin. Daha fazla bilgi: macOS'te PowerShell'i yükleme
- Apple Developer Program'a kaydolma
- Uygulamalarınızı kuruluş içinde dağıtmak için Apple Enterprise Developer programına kaydolmanız gerekir.
Uygulama kimliği oluşturma
https://developer.apple.com adresine giderek ve Hesap sekmesini seçerek geliştirici hesabınızda oturum açın.
Sertifikalar, Kimlikler ve Profiller > Tanımlayıcılar'a gidin.
+ öğesini seçerek yeni tanımlayıcı oluşturun.
Uygulama Kimlikleri'ni seçin ve Devam et'i belirleyin.
Tür olarak Uygulama'yı seçin ve Devam et'i belirleyin.
Uygulama Kimliğini kaydedin:
- Açıklama - Uygulamanızın adı.
- Paket Kimliği - Açık Paket Kimliği'ni seçin.
- Paketleme projesini oluştururken kullandığınız paket kimliğini girin. Daha fazla bilgi: Paket kimliği
- Aşağıdaki özellikleri etkinleştirin:
- İlişkili Etki Alanları
- iCloud
- NFC Etiketi Okuma
- Anında İletme Bildirimleri
- Devam'ı seçin.
Uygulama kimliğini gözden geçirip kaydedin.
Dağıtım sertifikası oluşturma
Dağıtım sertifikası oluşturmak için ilk olarak yeni bir sertifika imzalama isteği oluşturun.
Sertifika İmzalama İsteği (CSR) oluşturma
Mac'inizde Uygulamalar klasörü >İzlenceler'e gidin >Anahtar Zinciri Erişimi'ni açın.
Anahtar Zinciri Erişimi>Sertifika Yardımcısı>Sertifika Yetkilisinden Sertifika İste'yi seçin.
Sertifika Bilgileri'ni aşağıda açıklandığı gibi doldurun ve Devam et'i seçin.
- Kullanıcı E-posta Adresi alanına, bu sertifikayla tanımlanacak Apple ID e-posta adresinizi girin.
- Ortak Ad alanına adınızı girin.
- İstek grubunda, Diske kaydet'i seçin.
- Dosyayı Mac'inize kaydedin.
Dağıtım sertifikası oluşturma
https://developer.apple.com adresinden Hesap sekmesini seçerek geliştirici hesabınızda oturum açın.
Sertifikalar, Kimlikler ve Profiller > Sertifikalar'a gidin.
+ öğesini seçerek yeni sertifika oluşturun.
App Store ve Geçici>Sürdür'ü seçin.
Not
Bir Enterprise Developer Hesabınız varsa bir Kuruluş Dağıtım Sertifikası oluşturma seçeneğiniz olacaktır.
Önceki adımlarda oluşturulan Sertifika İmzalama İsteği (CSR) dosyasını yükleyin.
Devam'ı seçin ve sertifikayı Mac'inize indirin.
Anahtar Zinciri Erişimi'ne yüklemek için indirilen .cer dosyasına çift tıklatın.
Sertifikanın Adını not alın (genellikle iPhone Distribution: Ad (Takım Kimliği) gibidir). Bu değer imzalama için sağlanması gereken kod imzalama kimliğidir.
IPA'nın yüklenmesi gereken tüm cihazları ekleme
Not
Bu adım ancak uygulamayı dış kullanıcılara dağıtıyorsanız gereklidir. Uygulama yalnızca iç kullanıcılara yönelik ise bu gerekli değildir.
https://developer.apple.com adresinden Hesap sekmesini seçerek geliştirici hesabınızda oturum açın.
Bir veya daha fazla cihaz eklemek için + öğesini seçin.
Aygıt Adı ve Aygıt Kimliği (UDID) değerini girin.
Kaydet'i seçin.
İpucu
Ayrıca, bir UDID listesini yükleyerek birden fazla cihazı birlikte de kaydedebilirsiniz.
iOS Sağlama Profili oluşturma
https://developer.apple.com adresine giderek ve Hesap sekmesini seçerek geliştirici hesabınızda oturum açın.
+ öğesini seçerek yeni profil oluşturun.
Geçici>Devam et'i seçin.
Not
Üretim testi ve geliştirme amacıyla App Store dağıtım yöntemini kullanın.
Daha önce oluşturduğunuz uygulama kimliğini seçin ve Devam et'i seçin.
Daha önce oluşturduğunuz sertifikayı seçin ve Devam et'i seçin.
Uygulamanızı yüklemek istediğiniz tüm test cihazlarını seçin ve Devam et'i seçin.
Sağlama profilini gözden geçirip adlandırın. Sağlama profilinin adını not alın.
Profili oluşturun ve Mac'inize indirin.
İndirilen dosyayı (*.mobileprovision) Xcode'a kaydetmek için çift tıklayın.
iOS Arşivini imzalama
iOS-Archive. zip dosyasını App Center'dan indirip açın. Bu, Paket kimliği adını taşıyan bir klasör oluşturur. Aşağıdaki örnekte, paket kimliği; com.single.wrap'tir.
Kurumsal sertifikayla oturum açtığınızda, Distribution-exportOptions.plist dosyasını Xcode ile açın ve dosya içindeki yöntem alanının değerini kurumsal olarak değiştirin.
Not
Key Vault imzalanmasında kurumsal imzalar desteklenmez.
Terminali açın ve dizini açılmış klasörle değiştirin.
PowerShell'i başlatmak için terminale
pwsh
girin."CodeSigningIdentity" ve "ProvisioningProfilePath" parametrelerinin değerleriyle
./SignAndGenerateIPA.ps1
komutunu çalıştırın.Not
'CodeSigningIdentity', Apple geliştirici web sitesinde oluşturulan sertifikanın adıdır. 'CodeSigningIdentity' için değeri aramak için .mobileprovision dosyasına sağ tıklayın (bu hazırlama profilidir), ardından Daha Fazla Bilgi'yi seçin. Aşağı kaydırın ve Önizleme'yi seçin. 'CodeSigningIdentity' değeriniz .mobileprovision dosyasında Sertifikalar altındaki Ad alanında depolanır.
İpucu
"ProvisioningProfilePath", bir önceki adımda iOS Hazırlama Profili Oluşturma Apple geliştirici web sitesinden indirdiğiniz hazırlama profili dosyasının yoludur. Örneğin bilgisayarınızda /Users/username/Downloads/MyProvisioningProfile.mobileprovision konumunda bulunabilir.
Betik tamamlandığında, com.single.wrap.ipa benzeri bir .ipa dosyası oluşturulur.
- ./SignAndGenerateIPA.ps1 komutu başarısız olursa, sıkıştırılmış klasör ve dosyalar bozulmuş olabileceğinden bu klasör ve dosyaları silin. Yeniden imzalamayı denemeden önce iOS-Archive.zip dosyasını tekrar ayıklayın.
.ipa dosyasını, Finder uygulamasını kullanarak kayıtlı cihazlara yükleyin. Dosyayı App Center gibi bir dağıtım hizmetinde de barındırabilirsiniz. Microsoft Intune'u kullanarak dağıtmak için bkz. Microsoft Intune'a iOS/iPadOS iş kolu uygulaması ekleme. Bir uygulamaya Intune uygulama koruma hizmetine erişim verme hakkında bilgi edinmek için bkz. Uygulamanıza Intune uygulama koruma hizmetine erişim izni verme.