Cara yang tepat untuk memperbarui sertifikat distribusi untuk iOS

303

Sertifikat distribusi saya kedaluwarsa pada tanggal 7 Juni, bersama dengan semua file penyediaan saya. Bagaimana cara memperbaruinya dengan benar? Haruskah saya mencabutnya sekarang dan meminta yang baru? Jika saya melakukan itu, apakah semua aplikasi langsung saya akan dihapus?

pengguna1413558
sumber
7
Untuk alasan apa pun, setelah tidak menggunakan akun ini selama bertahun-tahun, saya mendapat pemberitahuan tentang balasan ini. Saya belum mati. Saya juga ingin mengucapkan terima kasih kepada semua orang di StackOverflow selama bertahun-tahun karena membantu saya. Saya menulis pertanyaan ini ketika saya berusia 14 (sekarang 21). Sejak itu, saya terus membuat aplikasi iOS, dan akan segera memulai peran penuh waktu di Apple (impian saya selama yang bisa saya ingat). Sekali lagi terima kasih kepada semua orang yang telah membantu!
user1413558
cerita yang bagus! ya tahun-tahun berlalu! Anda bahkan tidak dapat membayangkan bagaimana pemrograman dilakukan sebelum QA online. sorak-sorai
fattie
@ Fat Mengapa peringatan itu? UI kecil berubah di samping halaman Apple, jawaban yang diterima masih benar. Tidak semuanya otomatis menjadi salah hanya karena sudah tua.
Theo
hai @Theo, saya pikir ada diskusi panjang (sekarang dihapus) jadi komentar saya (saya baru saja menghapusnya!) tidak masuk akal, terima kasih telah menunjukkan. Perhatikan bahwa dalam kasus khusus ini, jawaban lama Berdetak 5 tahun memiliki informasi yang salah, seperti yang dijelaskan oleh SLBarth.
Fattie

Jawaban:

357

Aplikasi langsung Anda tidak akan dihapus. Tidak ada yang akan terjadi pada apa pun yang hidup di app store.

Begitu mereka secara resmi kedaluwarsa, satu-satunya hal yang akan terpengaruh adalah kemampuan Anda untuk menandatangani kode (dan dengan demikian membuat bangunan baru dan memberikan pembaruan).

Mengenai sertifikat distribusi Anda, begitu habis masa berlakunya, sertifikat itu hilang begitu saja dari bagian 'Sertifikat, Identifikasi & Profil' di Pusat Anggota. Jika Anda ingin memperbaruinya sebelum kedaluwarsa, cabut sertifikat yang sekarang dan Anda akan mendapatkan tombol untuk meminta yang baru.

Mengenai profil penyediaan, jangan khawatir tentang itu sebelum kedaluwarsa, tetap gunakan saja. Cukup mudah untuk memperbaruinya begitu habis masa berlakunya.

Ketenangan pikiran adalah bahwa tidak ada yang akan terjadi pada aplikasi langsung Anda di toko.

Andy Obusek
sumber
7
Terima kasih, mereka kedaluwarsa hari ini. Memperbarui mereka tanpa masalah.
user1413558
30
Hanya fyi untuk orang lain. Saya mencabut sertifikat yang digunakan untuk distribusi perusahaan dan TIDAK diberi opsi untuk memperbarui sertifikat. Itu baru saja hilang. Aplikasi sedang down (tidak dapat diinstal) sampai saya membangunnya kembali dengan sertifikat baru.
foldinglettuce
34
Hei, jangan mencabut sertifikat in-house Anda !! Aplikasi internal Anda tidak akan berfungsi setelah reboot / 3 hari, kecuali jika Anda dapat memperbarui semua aplikasi Anda dalam periode waktu itu. Apple memungkinkan Anda membuat 2 aplikasi internal sehingga dapat saling tumpang tindih dan kemudian Anda memperbarui aplikasi baru dengannya. Jangan mencabutnya. Satu-satunya hal yang dapat Anda cabut adalah App-Store Cert tanpa menghentikan aplikasi yang ada.
mskw
13
Sebenarnya, Anda tidak dapat memperbarui sertifikat, Anda harus membuat yang baru - lihat developer.apple.com/library/ios/#documentation/IDEs/Conceptual/…
mklement0
2
Tautan yang diperbarui ke dokumen apple tentang ini: developer.apple.com/library/ios/documentation/IDEs/Conceptual/…
qix
348

Ketika sertifikat Anda kedaluwarsa, sertifikat itu hilang begitu saja dari bagian 'Sertifikat, Identifikasi & Profil' di Pusat Anggota. Tidak ada tombol 'Perbarui' yang memungkinkan Anda untuk memperbarui sertifikat Anda. Anda dapat mencabut sertifikat dan membuat sertifikat baru sebelum habis masa berlakunya . Atau Anda bisa menunggu hingga kedaluwarsa dan menghilang, lalu buat sertifikat baru. Dalam Panduan Distribusi Aplikasi Apple :

Mengganti Sertifikat Kedaluwarsa

Ketika sertifikat pengembangan atau distribusi Anda kedaluwarsa, hapus dan minta sertifikat baru dalam Xcode.

Ketika sertifikat Anda kedaluwarsa atau dicabut, profil penyediaan apa pun yang menggunakan sertifikat kadaluwarsa / dicabut akan dianggap sebagai 'Tidak Valid'. Anda tidak dapat membuat dan menandatangani aplikasi apa pun menggunakan profil bawaan yang tidak valid ini. Seperti yang dapat Anda bayangkan, saya lebih suka mencabut dan membuat ulang sertifikat sebelum berakhir.

T: Jika saya melakukan itu, apakah semua aplikasi langsung saya akan dihapus?

Aplikasi yang sudah ada di App Store terus berfungsi dengan baik. Sekali lagi, di Panduan Distribusi Aplikasi Apple :

Penting: Menciptakan kembali sertifikat pengembangan atau distribusi Anda tidak memengaruhi aplikasi yang telah Anda kirim ke toko juga tidak memengaruhi kemampuan Anda untuk memperbaruinya.

Begitu…

T: Bagaimana cara memperbaruinya dengan benar?

Seperti disebutkan di atas, tidak ada pembaruan sertifikat. Ikuti langkah-langkah di bawah ini untuk mencabut dan membuat ulang sertifikat baru, bersama dengan profil penyediaan yang terpengaruh. Instruksi telah diperbarui untuk Xcode 8.3 dan Xcode 9.

Langkah 1: Cabut sertifikat yang kedaluwarsa

Login ke Pusat Anggota > Sertifikat, Identifiers & Profil, pilih sertifikat yang kedaluwarsa. Perhatikan tanggal kedaluwarsa sertifikat, dan klik tombol 'Cabut'.

Pilih sertifikat yang kedaluwarsa dan klik tombol Cabut

Langkah 2: (Opsional) Hapus sertifikat yang dicabut dari Gantungan Kunci Anda

Secara opsional, jika Anda tidak ingin sertifikat yang dicabut ada di sistem Anda, Anda dapat menghapusnya dari sistem Anda. Sayangnya, fungsi 'Hapus Sertifikat' di Xcode> Preferensi> Akun> [Apple ID]> Kelola Sertifikat ... tampaknya selalu dinonaktifkan, jadi kami harus menghapusnya secara manual menggunakan Keychain Access.app (/ Aplikasi / Utilitas / Akses Keychain. aplikasi).

Secara opsional hapus sertifikat yang dicabut menggunakan Keychain Access.app

Saring berdasarkan 'login' Gantungan Kunci dan Kategori 'Sertifikat'. Temukan sertifikat yang baru saja Anda cabut di Langkah 1.

Bergantung pada sertifikat yang baru saja Anda cabut, cari 'Mac' atau 'iPhone'. Sertifikat distribusi Mac App Store dimulai dengan "Pengembang Mac Pihak Ketiga", dan sertifikat distribusi iOS App Store dimulai dengan "Distribusi iPhone".

Anda dapat menemukan sertifikat yang dicabut berdasarkan nama tim, jenis sertifikat (Mac atau iOS) dan tanggal kedaluwarsa sertifikat yang telah Anda catat di Langkah 1.

Langkah 3: Minta sertifikat baru menggunakan Xcode

Di bawah Xcode> Preferensi> Akun> [ID Apple]> Kelola Sertifikat ..., klik tombol '+' di kiri bawah, dan pilih jenis sertifikat yang sama yang baru saja Anda cabut untuk membiarkan Xcode meminta yang baru untuk Anda .

Biarkan Xcode meminta sertifikat baru untuk Anda di Xcode> Preferensi> Akun> ID Apple> Kelola Sertifikat ...

Langkah 4: Perbarui profil penyedia Anda untuk menggunakan sertifikat baru

Setelah itu, kembali ke Pusat Anggota > Sertifikat, Identifiers & Profil> Profil Penyedia> Semua. Anda akan melihat bahwa setiap profil penyediaan yang menggunakan sertifikat yang dicabut sekarang dicerminkan sebagai 'Tidak Valid'.

Perhatikan bahwa setiap profil penyediaan yang menggunakan sertifikat yang dicabut sekarang dicerminkan sebagai 'Tidak Valid'

Klik pada profil yang sekarang 'Tidak Valid', klik 'Edit', lalu pilih sertifikat yang baru dibuat, lalu klik 'Hasilkan'. Ulangi ini sampai semua profil penyediaan dibuat kembali dengan sertifikat baru.

Pilih sertifikat yang baru dibuat, dan klik Generate

Langkah 5: Gunakan Xcode untuk mengunduh profil bawaan yang baru

Kiat : Sebelum Anda mengunduh profil baru menggunakan Xcode, Anda mungkin ingin menghapus profil bawaan yang ada dan mungkin tidak valid dari Mac Anda. Anda dapat melakukannya dengan menghapus semua profil dari~/Library/MobileDevice/Provisioning Profiles

Kembali di Xcode> Preferensi> Akun> [ID Apple], klik tombol 'Unduh Semua Profil' untuk meminta Xcode untuk mengunduh semua profil penyediaan dari akun pengembang Anda.

Klik Unduh Semua Profil untuk Xcode untuk mengunduh semua profil yang baru dibuat

junjie
sumber
1
Hai Junjie, terima kasih! Saya menghadapi masalah ini dengan Xcode 7. Apa yang terjadi pada aplikasi yang dirilis oleh profil penyediaan distribusi AdHoc, jika saya mencabut sertifikat distribusi? Apakah mereka masih hidup? Terima kasih
Frade
3
@Frade menurut Apple: Sertifikat Distribusi iOS (in-house, aplikasi penggunaan internal), Pengguna tidak lagi dapat menjalankan aplikasi yang telah ditandatangani dengan sertifikat ini. Anda harus mendistribusikan versi baru aplikasi Anda yang ditandatangani dengan sertifikat baru. Lihat developer.apple.com/support/certificates
junjie
Saya bertanya tentang AdHoc, tetapi mungkin situasinya sama. Terima kasih
Frade
3
@ junjie Apa yang terjadi jika aplikasi yang diterbitkan di toko memiliki hak pemberitahuan push? Apakah masih dapat mengirim pemberitahuan push setelah sertifikat kedaluwarsa?
Otávio
4
@ Otávio sertifikat distribusi aplikasi Anda (apa yang kami hadapi dalam pertanyaan ini) terpisah dari sertifikat APNS Anda. sertifikat APNS bukan bagian dari biner aplikasi. Anda dapat mencabut / memperbarui sertifikat APNS Anda tanpa memperbarui biner aplikasi Anda. server dorong Anda yang memerlukan sertifikat APNS.
junjie
21

Pada Januari 2020 dan Xcode 11.3.1 -

  • Buka Xcode
  • Buka Preferensi Xcode (Xcode-> Preferensi atau Cmd-,)
  • Klik pada Akun
  • Di sebelah kiri, klik ID pengembang Anda
  • Di kanan bawah, klik Kelola Sertifikat ...
  • Di sudut kiri bawah, klik panah di sebelah kanan tanda + (plus)
  • Pilih Distribusi Apple dari menu

Xcode akan secara otomatis membuat sertifikat Distribusi Apple, memasangnya di Akses Keychain, dan memperbarui informasi penandatanganan Xcode

(Catatan: sertifikat Distribusi Apple tunggal sekarang disediakan bukan sertifikat dan setara Distribusi iOS sebelumnya .)

leanne
sumber
penasaran: dapatkan email saya dari apple untuk memperbarui Sertifikat Distribusi iOS. tidak ada info yang harus saya buat sebagai sertifikat Distribusi Apple.
ekkescorner
Email tidak menyebutkannya, @ekkescorner. Ada di dokumen online.
leanne
2
alur kerja baru ini untuk membuat ulang sertifikat kedengarannya terlalu mudah ;-) thx lagi
ekkescorner
Terima kasih @leanne atas jawabannya. Seharusnya ada opsi kedaluwarsa untuk jawaban kuno yang tidak relevan di atas dalam SO.
RobMac
11

Sangat sederhana untuk memperbarui sertifikat Anda. Pergi ke pusat anggota pengembang Anda dan pergi ke profil Penyedia Anda dan lihat apa sertifikat Aktif dan Tidak Aktif dan pilih Sertifikat tidak aktif dan tekan tombol Edit lalu tekan tombol menghasilkan. Sekarang sertifikat Anda berhasil diperpanjang untuk 1 tahun lagi. Terima kasih

Shanmugasundharam
sumber
@Shanmugasundharam, Haruskah kita mendorong versi baru di app store setelah membuat profil Provisioning.
Niraj Paul
Ini masih memerlukan file .csr yang dihasilkan dari xcode, setidaknya, dari apa yang saya temukan. Dari developer.apple.com/account, saya pergi ke "Sertifikat, ID & Profil" -> "Profil". Saya melihat ReleaseProfile dan TestingProfile. Keduanya menunjukkan "Tidak Valid" di bawah kolom "Kedaluwarsa". Saya klik pada ReleaseProfile, lalu "Edit". Di bawah "Sertifikat" dikatakan "Tidak Ada Sertifikat tersedia" dengan tombol "Buat Sertifikat". Saya klik itu. Saya kemudian pilih "Distribusi iOS" dan "Lanjutkan". Sekarang, untuk membuatnya, saya perlu "Pilih File", artinya mengunggah file CSR, yang saya anggap hanya dapat dihasilkan dari xcode.
Brent212
Menemukan bahwa saya dapat menghasilkan CSR hanya dengan menjalankan, di Linux: **** openssl req -node -newkey rsa: 2048 -kunci private_key.key -out cer_sign_request.csr **** Tidak bisa percaya ada begitu banyak jawaban untuk "bagaimana menghasilkan sertifikat csr" yang memerlukan xcode tanpa menyebutkan solusi sederhana ini yang tidak perlu membersihkan mac lama saya dan menjalankan IDE besar.
Brent212
@NirajPaul Aplikasi Anda masih akan berfungsi untuk pengguna yang mengunduhnya dari toko, dan itu bahkan akan bekerja untuk Anda jika Anda mengunduhnya dari toko. Ini hanya memengaruhi pengguna yang menempatkan aplikasi pada perangkat menggunakan profil bawaan (yaitu Anda membuat dan menginstalnya di perangkat Anda dari xCode). Pengguna masa lalu, sekarang, dan masa depan tidak akan melihat sesuatu yang berbeda. stackoverflow.com/a/7128502/3493877 Sumber dari sini
Shanmugasundharam
0

Ini adalah utas yang sangat membantu, saya mengikuti langkah yang sama dengan @junjie yang disebutkan tetapi bagi saya sesuatu yang aneh terjadi, di bawah ini adalah langkah-langkah yang saya lakukan.

  1. Pergi ke portal pengembang dan mencabut sertifikat yang akan kedaluwarsa.
  2. Pergi ke XCode6.4 dan dalam pengaturan Akun, sertifikat masih menunjukkan valid, saya menjadi gila.
  3. Lalu saya membuka XCode7, di sana sertifikat ditunjukkan dengan tombol "Reset" alih-alih membuat dan saya menekan tombol reset dan kemudian di portal saya bisa melihat hadiah sertifikat diperpanjang. Ini yang dikatakan Apple tentang tombol Reset

Jika Xcode mendeteksi masalah dengan identitas penandatanganan, Xcode menampilkan tindakan yang sesuai dalam preferensi Akun. Jika Xcode menampilkan tombol Buat, identitas penandatanganan tidak ada di Pusat Anggota atau di Mac Anda. Jika Xcode menampilkan tombol Reset, identitas penandatanganan tidak dapat digunakan pada Mac Anda — misalnya, tidak ada kunci privat. Jika Anda mengklik tombol Reset, Xcode mencabut dan meminta sertifikat yang sesuai.

  1. Saya mencoba membuat Appa Appa dengan itu, hanya untuk menguji dan itu berfungsi dengan baik sehingga saya selamat, tetapi masih tidak yakin apa yang terjadi. Mungkin saya memiliki beberapa akun yang dikonfigurasi di Mac saya, tidak tahu.
anoop4real
sumber