Menjalankan aplikasi iOS menyebabkan kesalahan runtime untuk kerangka kerja "kode tanda tangan tidak valid"

33

Setiap kali saya mencoba menjalankan aplikasi ini ia membangun OK, dan menginstal tetapi segera setelah itu menjalankan aplikasi istirahat dan mencetak pesan kesalahan ini. XCode 11 dan iOS 13.

dyld: Library not loaded: @rpath/StandardCyborgFusion.framework/StandardCyborgFusion
  Referenced from: /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/StandardCyborgExample
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion: code signature invalid for '/private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion'

Saya telah melihat banyak posting serupa di sini dan di forum Pengembang Aplikasi tentang masalah ini tetapi tidak ada yang memiliki penjelasan atau perbaikan yang valid. Saya sudah mencoba

  • Membersihkan dan membangun
  • Mulai ulang XCode
  • Mulai ulang Mac
  • Menyetel Ulang Gantungan Kunci sepenuhnya
  • Memverifikasi semua pengaturan Kepercayaan sertifikat gantungan kunci berada di "Gunakan Bawaan Sistem"
  • Mengatur ulang pabrik Mac saya

UPDATE 1: Tampaknya ada masalah dengan perangkat iOS saya. Aplikasi dapat memulai pada simulator, tetapi simulator tidak baik untuk tujuan pengembangan saya jadi saya harus membuat ini berfungsi pada perangkat saya. Saya baru-baru ini memperbarui iPhone XR saya ke iOS 13.3.1.

UPDATE 2: Menemukan grup lain yang tampaknya memiliki masalah yang sama https://github.com/flutter/flutter/issues/49504 .

Aidan Rosswood
sumber
dari mana StandardCyborgFusion.framework berasal? hubungi pengembangnya ...
user3441734
1
apakah Anda mencoba menautkan atau menyematkan kerangka kerja?
The Pedestrian
1
Kesalahan ini terjadi pada semua aplikasi. Bukan kerangka spesifik.
Aidan Rosswood
Menambahkan pembaruan. Tampaknya perangkat khusus karena bekerja pada simulator, dan seorang teman saya dapat menyusun kerangka kerja yang sama pada perangkatnya.
Aidan Rosswood
1
StandardCyborgFusion.framework Anda bukan kode yang ditandatangani, atau tidak dikompilasi untuk arsitektur arm64. Anda masih belum memberi tahu kami bagaimana Anda mendapatkan kerangka kerja. Juga, jika ada yang memberi tahu Anda untuk me-restart Xcode untuk memperbaiki masalah kompilasi / penautan, downvote mereka.
Claus Jørgensen

Jawaban:

25

Saya menggunakan CocoaPods, dan bagi saya ini memperbaiki kesalahan (Jawaban Wasa22 tentang masalah github):

  1. Buka podfile
  2. Beri komentar use_frameworks!
  3. Tambahkan use_modular_headers!
  4. Di Terminal, lakukan pembaruan pod -> instal pod
  5. Dalam Xcode, Bersihkan (Command-Shift-K) -> Build and Run.

Sumber: https://github.com/Alamofire/Alamofire/issues/3051

Paul11100
sumber
Solusi ini benar-benar berfungsi!
RapsIn4
Belum punya waktu untuk memverifikasi apakah ini berfungsi karena saya baru saja meminjam akun pengembang teman tetapi saya akan menandainya sudah benar. Saya akan sangat menghargai jika orang lain dapat mengkonfirmasi bahwa ini juga berlaku untuk mereka.
Aidan Rosswood
Bagaimana jika saya tidak memiliki podfile, apa yang dapat saya lakukan dalam kasus ini?
abdou31
1
berkomentar use_frameworks dan menjalankan perintah pembaruan pod sudah cukup
Lahiru Prasanna
27

Ini adalah masalah dengan iOS 13.3.1. Semua kerangka kerja dinamis yang dikompilasi untuk rilis terbaru iOS 13.3.1 mengalami masalah ini ketika dijalankan pada akun profil pribadi / akun pengembang. Solusinya, disalin dari jmagman dari Github, ada di bawah ini.

Kamu bisa:

  1. Gunakan profil penyediaan Tim non-Pribadi (akun pengembang berbayar).
  2. Jalankan pada simulator 13.3.1.
  3. Tes pada perangkat iOS nyata yang menjalankan 13,3 atau lebih rendah.
  4. Instal profil beta di perangkat pengujian Anda dan instal iOS 13.4 beta 3. (Tetap)
  5. Tunggu iOS 13.4 dirilis.

Semoga masalah ini segera diperbaiki.

Aidan Rosswood
sumber
Saya menurunkan versi dari iOS 13.3.1 ke 13.3. Tidak bisa tinggal dan menunggu sampai Apple memperbaikinya.
Starsky
Huh ... sepertinya saya tidak dapat mencadangkan data saya saat menggunakan iOS 13.3.1 dan kemudian Memulihkannya di iOS 13.3. Itu menyedihkan ((Pemulihan harus dilakukan di bawah versi iOS yang sama. Jadi, ini bukan solusi juga ...
Starsky
Saya berharap saya akan menemukan jawaban ini lebih cepat. . . Saya menghabiskan 3 jam mencoba mengkonfigurasi pengaturan build saya, binari, dan membangun fase. . . Mendapatkan akun berbayar menyelesaikannya presto
Marcus Kim
Apple klasik, membuat bug yang mendorong Anda untuk membeli sesuatu.
Darius Buhai
Terima kasih banyak atas jawaban yang jelas dan benar, +1.
mAc
3

Ini tampaknya diperbaiki pada iOS 13.4 beta 3. Anda dapat menginstal profil beta atau menunggu rilis iOS 13.4.

Jenn
sumber
1
Pada 24 Maret Apple merilis iOS 13.4. Pembaruan ini mencakup perbaikan untuk masalah tanda tangan kode! Silakan merujuk ke iOS 13.4 beta 3 untuk informasi lebih lanjut.
Rover
2

Saya melihat 2 cara untuk memperbaikinya.

  1. Turunkan ke iOS 13.3. iOS 13.3.1 memecah tanda tangan pihak ketiga kecuali Anda memiliki akun pengembang berbayar. Jika memungkinkan (dapatkan iphone murah yang didedikasikan untuk pengembangan)

  2. Perbarui Mac OS, Xcode, dan iOS ke versi Beta terbaru (Perbarui siapa pun di antara mereka tidak akan berfungsi, karena iOS beta memerlukan Xcode beta terbaru, dan Xcode memerlukan Mac OS Catalina terbaru)

zhuangr
sumber
0

Jika Anda menjalankan dari Xcode Anda akan melihat kesalahan seperti:

/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820-A146- 
 A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter: code signature 
invalid for '/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820- 
A146-A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter'

solusi yang disediakan oleh jmagman di Github

jmagman telah meningkat ke Apple (FB7562472) dan akan membuat semua orang tahu jika mereka mendengar sesuatu. lebih detail tentang github

parikhparth23
sumber
0

Saya mengalami masalah ini ketika mencoba membangun ke perangkat iOS saya yang sebenarnya (tetapi bekerja dengan baik di simulator). Saya menghabiskan setidaknya 10 jam mencoba untuk memperbaiki bug ini. Mencoba segalanya di semua forum, tidak ada yang berhasil. Tapi inilah yang akhirnya berhasil untuk saya!

  • Memutakhirkan dari iOS 13.3.1 ke iOS 13.4.1

Saya tidak bisa membayangkan ini, tetapi benar bahwa iOS 13.3.1 mematahkan tanda tangan pihak ketiga kecuali Anda memiliki akun pengembang berbayar!

Menukar
sumber
Anda hanya perlu meningkatkan Perangkat iOS Anda ke 13.4.x. Setelah meningkatkan, saya dapat menjalankan beberapa proyek contoh tanpa penyesuaian lainnya.
corban