Saya mencoba menambahkan profil penyediaan baru ke Xcode saya, untuk menguji aplikasi di perangkat. Berikut langkah-langkah yang saya ikuti:
Menghapus semua sertifikat dan profil penyediaan
Buat / Tambahkan Sertifikat Pengembang IOS
Tambahkan Perangkat IOS Saya Secara Online
Buat Profil Penyediaan IOS
Tambahkan Profil Penyediaan IOS
Aplikasi Bersih
Bangun Lalu Jalankan Aplikasi
Setel Penandatanganan Kode dan Profil Penyediaan Dalam Pengaturan Build
Banyak Googling> tidak berhasil
Inilah kesalahan yang saya dapatkan:
CSSM_SignData returned: 800108E6
/Users/alexpelletier/Library/Developer/Xcode/DerivedData/MyExpense-efnqzvoqwngzcmazaotyalepiice/Build/Products/Debug-iphoneos/MyExpense.app: errSecInternalComponent
Command /usr/bin/codesign failed with exit code 1
ios
xcode
certificate
provisioning-profile
Alex Pelletier
sumber
sumber
Jawaban:
Buka Keychain Access , lalu di menu File pilih Lock All Keychains .
Kemudian kembali ke Xcode dan bersihkan dan bangun kembali. Ini akan meminta kata sandi Anda lagi untuk membuka kunci rantai kunci.
Setelah ini, dengan asumsi Anda tidak memiliki masalah kompilasi lain, itu akan berhasil!
sumber
Sepertinya ada bug dalam mekanisme penandatanganan kode, memulai ulang Mac Anda akan menyelesaikan masalah
sumber
Ini terjadi saat rantai kunci masuk dikunci. Untuk membuka kunci rantai kunci login, jalankan:
Jika rantai kunci Anda dilindungi kata sandi, tentukan kata sandi menggunakan
-p
opsi.Kemudian coba operasi pembuatan atau penandatanganan kode lagi. Kode kesalahan yang dipermasalahkan dijelaskan dalam dokumen Apple sebagai kesalahan internal, jadi sangat mungkin ini terjadi dalam kasus lain juga.
sumber
codesign
gagal dan ini adalah perintah ajaib yang menyelamatkan saya !!!Memiliki masalah yang sama di
High Sierra
/Xcode 9.4.1
, semua upaya untuk masuk diakhirierrSecInternalComponent
Kalau tidak:
jalankan perintah kode tanda pada terminal mac dan "Selalu izinkan" / usr / bin / kode tanda akses ke kunci
Jika mencoba masuk dari ssh / CI Anda juga perlu menjalankan
sebelum mencoba untuk menandatangani app bundle
sumber
security unlock-keychain -p <password> login.keychain
dari CI.~/.bash_profile
sehingga rantai kunci terbuka pada startup klien SSH tetapi Anda tidak memerlukan referensi ke sana dari skrip CI AndaSaya menemui masalah yang sama, saya memulai ulang macOS saya, dan berhasil.
Di China, kami memiliki pepatah di antara pengembang:
Terkadang pepatah di atas akan sangat membantu Anda!
sumber
Jika itu membantu orang lain, saya mengalami
errSecInternalComponent
kesalahancodesign
karena saya menjalankannya melalui sesi ssh ke mesin macOS saya. Menjalankan perintah yang sama dari jendela terminal pada mesin macOS itu sendiri berfungsi.Mungkin ini karena
codesign
membutuhkan akses ke kunci pribadi dari rantai kunci masuk.Berjalan
security unlock-keychain login.keychain
(seperti yang dijelaskan oleh jawaban cbracken ) dari sesi yang sama juga harus berfungsi.sumber
Jika mencoba masuk dari perintah ssh run:
sebelum mencoba untuk menandatangani app bundle
atau dari UI
Perbarui kontrol akses kunci menjadi "Izinkan semua aplikasi untuk mengakses item ini"
Terima kasih untuk @Equilibrium dan @Jon McClung
sumber
Saya memiliki masalah yang sama. Menemukan masalahnya adalah dengan penandatanganan kode aplikasi.
sumber
Saya menjalankan
security unlock-keychain login.keychain
dan kata sandi masuk saya tidak berfungsi. Jadi saya reboot, lalu jalankan Xcode lagi dan berhasil. Menjalankan perintah juga berfungsi. Masalah aneh.sumber
Seperti yang ditunjukkan oleh @Equilibrium di salah satu komentar, jika Anda berada di baris perintah env. seperti Jenkins (kasus saya), Anda mungkin perlu meneruskan kata sandi ke perintah buka kunci keamanan yang disebutkan dalam solusi.
Jadi, alih-alih menggunakan,
menggunakan:
di mana rantai kunci jalur untuk masuk bisa $ HOME / Library / Keychains / login.keychain (kasus saya) atau cukup login.keychain
sumber
untuk siapa saja yang mengalami masalah ini dari jenkins dan ssh:
kemungkinan tinggi bahwa Anda belum memberikan akses ke kunci pribadi di rantai kunci, saya mencoba tetapi tidak yakin mengapa semua ini tidak berfungsi:
akhirnya diselesaikan dengan:
1.ssh [user] @ [jenkinsServerIP] -L 5900: localhost: 5900, login ke server jenkins
2. buka 'vnc: // localhost'
ini akan meluncurkan layar jarak jauh, jika server jenkins Anda mengizinkan ini ...
lalu buka keychain.app untuk memberikan akses / usr / bin / codesign ke kunci pribadi
semoga berhasil
sumber
Coba saja sekali menggunakan terminal mac tetapi tidak dari sesi ssh
Dan pilih selalu izinkan di dialog yang diminta. Dan kemudian Anda bisa xcodebuild di sesi jarak jauh.
sumber
Mengklik kanan pada kunci pribadi yang terkait dengan sertifikat penandatanganan kode di rantai kunci, lalu mengklik 'izinkan semua aplikasi' alih-alih mengandalkan prompt, perbaiki untuk saya, karena pembuatan dilakukan melalui ssh.
sumber
Saya harus:
1) hapus sertifikat yang terkait dengan proyek
2) Kembali ke Xcode dan cabut sertifikat aplikasi
3) Xcode membutuhkan sertifikat baru
4) Kunci semua Gantungan Kunci
5) Bersihkan proyek
6) Bangun kembali
Itu dia. Semoga bisa membantu siapa pun.
sumber
Metode di atas tidak berguna bagi saya.
Saya menyelesaikannya dengan:
Itu dia. Semoga bisa membantu siapa pun.
sumber