Dağıtım sertifikası / özel anahtar yüklenmemiş


112

Xcode 9.1'i kullanarak, bir iOS uygulaması oluşturduktan sonra, onu arşivlemek ve beta testi için appStore'a yüklemek istiyorum. Ancak düğmeyi tıklayıp Upload to the App Store...seçim yaptıktan sonra şu sorunu alıyorum Automatically manage signing:

"Benim Adım" bir iOS Dağıtım sertifikasına sahip ancak özel anahtarı yüklü değil. Özel anahtarın bir kopyasını almak için bu sertifikayı oluşturan kişiyle iletişime geçin.

Bu "özel anahtarın neden yüklenmediğini" bilmiyorum, ancak Dağıtım sertifikası farklı bir bilgisayarda veya başka bir yerde oluşturulmuş olabilir. Her durumda:

Eksik özel anahtarı almanın ve yüklemenin en basit yolu nedir? İşlerin yürümesini sağlamak için.

Yanıtlar:


89

Yalnızca bir dağıtım sertifikanız olabilir. Apple tarafından bilinen bir genel anahtarı, bazı bilgisayarların anahtar zincirinde yaşayan özel bir anahtarla birleştirir. Bu dağıtım sertifikası başka bir bilgisayarda oluşturulmuşsa, özel anahtar o bilgisayarın anahtar zincirindedir. Ve bu dağıtım sertifikası onsuz çalışmaz.

Dolayısıyla, bu dağıtım sertifikasını bu bilgisayarda kullanmak için, o bilgisayarı bulmanız , Anahtar Zinciri Erişimini açmanız, özel anahtarı bulup dışa aktarmanız, postayla göndermeniz veya başka bir şekilde bu bilgisayara almanız ve bu bilgisayarın anahtar zincirine aktarmanız gerekir.

Xcode'da Hesaplar ön bölmesine giderseniz ve Ekibinize çift tıklarsanız, bu konuda size yardımcı olan bir iletişim kutusu görürsünüz. Dağıtım sertifikanızı görürseniz ve Anahtar Zincirinde Değil yazıyorsa, sertifikayı oluşturan kişiye e-posta göndermenize ve ondan size göndermesini istemenize olanak tanıyan bir menü öğesi almak için bu sertifikayı kontrol tuşuna basarak tıklayabilirsiniz. Bu kişi, Sertifikayı Ver'i seçmek için aynı içe aktarmayı kullanabilir ve dışa aktarılan sertifikayı size e-posta ile gönderebilir.

Her iki durumda da özel anahtar veya dışa aktarılan sertifika şifrelenecektir. Kullanmak için şifreyi bilmeniz gerekir.


1
Önerin üzerine ilk denemem işe yaramadı. Büyük ihtimalle doğru yapmadığım için. Sahip olduğum bir sorum, sertifikanın oluşturulduğu Anahtar Zinciri Erişimi'ne giderken. Özel anahtarı nasıl bulabilirim? Görünüşe göre Anahtar Zinciri Erişimi, bazı yerlerde hepsi aynı adı taşıyan zilyonlarca nesneyi gösteriyor. Bu yüzden o bölümü gerektiği gibi yaptığımdan emin değilim.
Michel

39
Pekala, kendime şu anda sorduğum soruyu soran bir mail göndermenin etkili olma ihtimali çok yüksek değil :)
Michel

1
Ama yine de cevabınızın beni doğru yola soktuğunu düşünüyorum, bu yüzden biraz daha derinlemesine incelemem gerekiyor.
Michel

Sonunda bu sorunu çözme yolumu buldum. Ama maalesef tüm imza işini bitirmedim. Ayrı bir soruyla farklı bir gönderi yaptım: stackoverflow.com/questions/47258499/…
Michel

Bunun için teşekkürler @matt! Benim durumumda, cihazımda oluşturduğum CSR'yi kullanarak bir iOS Dağıtım sertifikası oluşturdum, ancak daha sonra anahtar zincirine yüklediğimde sertifikaya bağlı özel anahtar yok. Derleyebilirim ama özel anahtarın nerede olduğunu bilmiyorum, bu yüzden p12 dosyasını takım arkadaşlarıma veremedim. Farklı bir durum olmasına rağmen, Xcode Hesapları bölmesine gitme konusundaki tavsiyeleriniz sayesinde, onu p12'ye aktarabildim. :) Şimdi, her şey yolunda, ancak Anahtar Zincirindeki sertifika ile birlikte gösterilmediği için gizli anahtarın nerede saklandığını merak ediyorum.
KarenAnne

331

Güncel (Temmuz 2020) (xcode 10-12)

  1. Xcode - Tercihler - Hesaplar - Sertifikaları Yönet'e gidin
  2. +Sol alttaki simgesine tıklayın ve ardındanApple development
  3. Biraz bekleyin, ardından tıklayın Done

Bu kadar. Developer.apple.com adresinde de eski sertifikanızı iptal etmek isteyebilirsiniz .

Eski cevap

Adım 1: - xcode -> ürün -> arşivler -> Sertifikayı yönet'i tıklayın görüntü açıklamasını buraya girin

Adım 2: - ios dağıtımını ekleyin görüntü açıklamasını buraya girin


8
Bu işe yaramıyor çünkü artı işaretini tıkladığımda hiçbir şey olmuyor. 'İOS Dağıtımı' için bir seçenek verilmiyor.
arnoldbird

2
Sertifikaları Yönet'e Xcode> Tercihler> Hesaplar aracılığıyla erişirsem, artı işareti yukarıdaki 2. Adımda gösterildiği gibi etkindir.
arnoldbird

12
Bu en iyi cevap olacaktır
kishorekumaru

2
Vay be: -D. Benim için düzelt. Ya bu mümkün olmamalı ya da Xcode bunu yapmak için sizi rahatsız etmemeli.
Joshua R.

3
Şu anda Xcode 10.3'te Xcode - Tercihler - Hesaplar - Sertifikaları Yönetin
Anton

28

Bu cevap, "Tek Adam" Ekibinin "Takım" hakkında çok fazla bilgi okumadan bu sorunu hızlı bir şekilde çözmesi içindir.

Adım 1) Web tarayıcısına gidin, geliştirici hesabınızı açın. Sertifikalar, Tanımlayıcılar ve Profiller'e gidin. Sertifikalar / Üretim'i seçin. Burada listelenen özel anahtarı olmayan sertifikayı göreceksiniz. İptal Et'i tıklayın. Ve bu sertifikayı kaldırmak için talimatları izleyin. görüntü açıklamasını buraya girin Adım 2) İşte bu! Uygulamanızı doğrulamak için Xcode'a geri dönün. Şimdi sizden yeni bir sertifika oluşturmanızı isteyecek. Artık uygulamalarınızı mutlu bir şekilde yüklüyorsunuz.


12

DÜZENLEME: Diğer bilgisayarın öldüğünü düşündüm, bu yüzden cevabımı düzeltiyorum:

Sertifikayı ilk bilgisayardan özel anahtarıyla dışa aktarmalı ve yeni bilgisayara almalısınız.

İCloud yolunu tercih ediyorum, iCloud'a yedekle ve yeni bilgisayarda al.

Herhangi bir nedenle yapamazsanız, Apple geliştiriciler sitesinde sertifikayı iptal edebilir, ardından Xcode'un sizin için yeni bir tane oluşturmasına izin verebilirsiniz, ayrıca yeni bir özel anahtar oluşturup Anahtar Zincirinizde saklayacaktır. tercih ettiğiniz şekilde yedeklediğinizden emin olun


2
Bu korkunç bir tavsiye.
matt

6
Bildiğim kadarıyla sertifika iptal edildiğinde kötü bir şey olmuyor .. Başka bir şey biliyor musun?
Yitzchak

Evet; özel anahtarı bilgisayar 1'den bilgisayara 2 aktarabilir. Önerdiğiniz şey, dağıtım sertifikasının diğer bilgisayarda çalışmayı durdurmasına neden olacaktır! Neden bu iyi bir şey?
matt

2
Diğer bilgisayarın öldüğünü sanıyordum
Yitzchak

9

Buraya yeni bir Üretim Sertifikası ekleyin , ardından .cer dosyasını indirin ve Anahtar Zinciri'ne eklemek için çift tıklayın.

Artık her şey yoluna girecek, Xcode'u yeniden başlatmayı unutmayın !!!


1
benim için hata hala ortaya çıktı, güncellenmesi ve çalışması için artıya tıklamak zorunda kaldı
Zack

8

İnsanların bilgisayardan anahtarın üretilmesi konusundaki cevabı doğrudur. Ancak işler hala başarısız oluyorsa, bir sertifika yükledikten sonra Xcode'u yeniden başlatmayı deneyin.


7

Developer.apple.com için tüm dağıtım sertifikasını iptal edin ve uygulamanızı Xcode'da doğrulayın, daha sonra kullanmak için anahtarı dışa aktarmanızın ardından yeni bir dağıtım sertifikası oluşturma seçeneği olacaktır.

Bu benim için çalışıyor.


6

Sadece bundan geçen herkes için yukarıdaki cevaplar doğrudur ancak özellikle birden fazla sertifikanız varsa biraz kafa karıştırıcı olabilir. Attığım adımlar şunlardı:

  1. Öncelikle, gerçek dağıtım sertifikasında özel anahtarı olmayan tarihi not alın. Ardından diğer bilgisayardaki anahtarlık uygulamasına gidin ve arama çubuğuna iOS yazın. Doğru olanı bulmanız için tüm iOS Geliştirici ve Dağıtım anahtarlarınızı gösterecektir.

  2. Sertifikayı ortaya çıkarmak için her iOS Dağıtım girişinin sağ okuna tıklayın ve doğru tarihe sahip olanı bulun ve sağ tıklayıp dışa aktarmayı seçerek bunu dışa aktarın.

  3. Ardından, yeni bilgisayarın anahtar zincirine aktarın ve en azından Xcode 9.3 ile, anında onu tanır ve hatayı düzeltir, böylece artık başarınızı yükleyebilirsiniz.


Teşekkürler! Varsayılan görünümde, sertifikayı ortaya çıkarmak için anahtarı genişletmenize izin veren sol oku görmediğinizi eklemek isterim. Kategori panelinde Anahtarları seçmeniz gerekir. Ancak o zaman sertifikayı seçip dışa aktarabilirsiniz. Bunun yerine özel anahtarı dışa aktarırsanız, diğer bilgisayara aktarırken bir hata alırsınız.
Clafou

4

Sertifikayı yeni bir bilgisayarda kullanıp kullanmıyorsanız. Yapılacak en kolay şey, projeyle ilgili önceki sertifikayı iptal etmek olacaktır. Ardından mağazaya yeniden yükleyin. Xcode yeni bir tane oluşturacaktır.


3

Benim durumumda Xcode, anahtar zincirinden sertifikalara erişmiyordu, şu adımları izledim:

  1. anahtar zincirinden sertifikaları silin.
  2. mac'u yeniden başlatın.
  3. yeni sertifikalar oluşturun.
  4. yeni sertifikalar yükleyin.
  5. temiz derleme klasörü.
  6. proje inşa et.
  7. tekrar derleme klasörünü temizleyin.
  8. şimdi arşivleyin. Çalışıyor İşte bu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.