Kesalahan Masuk Kode di macOS High Sierra Xcode - garpu sumber daya, informasi Finder, atau detritus serupa tidak diizinkan

265

Sudah mencoba: Kesalahan Tanda Masuk pada macOS Sierra, Xcode 8

Silakan lihat gambar yang menunjukkan kesalahan masukkan deskripsi gambar di sini

CodeSign /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app
    cd "/Volumes/Development/Project/Top Best Games/19. Lets Flow/35/let's FLOW - source/proj.ios_mac"
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Distribution: New Free Games (2CHN583K4J)"
Provisioning Profile: "Super Flow Flipp AppStore"
                      (c6c30d2a-1025-4a23-8d12-1863ff684a05)

    /usr/bin/codesign --force --sign E48B98966150110E55EAA9B149F731901A41B37F --entitlements /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Intermediates/Flow.build/Debug-iphoneos/Super\ Flow\ Flip.build/Super\ Flow\ Flip.app.xcent --timestamp=none /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app

/Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super Flow Flip.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1

Di bagian Daftar Kode memungkinkan saya untuk memilih profil dan sertifikat ... tetapi masih memberikan kesalahan. masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Bagaimana cara mengatasi masalah ini?

Prosesor iPhone
sumber
1
Apakah Anda membuat bersih dan "alt" bersih?
thorb65
cara? Saya baru saja membuat ulang sertifikat dari akun xcode dan membuat profil di situs web dan mencoba ... masih belum berhasil.
iPhoneProcessor
Arnold Roas menjawab di bawah ini melakukan trik untuk proyek saya. Tetapi Anda juga mungkin harus melakukan Produk> Bersihkan di XCode agar kompilasi berhasil sesudahnya.
Fredrik Johansson
plus untuk cocos2d-x
fnc12

Jawaban:

586

Solusi 1:

Situs Web apel Developer Jawaban atas masalah Berikut .

Jalankan perintah di bawah ini di terminal: Folder root proyek goto pertama

 xattr -cr <path_to_project_dir>

Bersihkan Xcode dan Re Build. Bersulang

Solusi 2:

Cukup buka direktori root proyek dan jalankan perintah ini xattr -cr.

xattr -cr .

Bersihkan Xcode dan Re Build. Selesai

Solusi 3:

Anda dapat memperbaiki masalah ini dengan mencari file yang menyimpan informasi pencari.

Di terminal, goto direktori root proyek dan jalankan

ls -alR@ . > kundapura.txt

Ini menciptakan kundapura.txt di direktori saat ini. Sekarang cari com.apple.FinderInfo dan hapus atribut ini untuk semua file. Anda bisa melakukannya seperti ini

xattr -c <filename>

Contoh: xattr -c guru.png

Setelah Anda menghapus semua itu maka tanda kode berfungsi. Bersihkan Xcode dan Re Build. Bersulang

Solusi 4: Terinspirasi oleh Jawaban Mark McCorkle

Di terminal, direktori root proyek goto dan jalankan satu per satu perintah

  find . -type f -name '*.jpeg' -exec xattr -c {} \;
  find . -type f -name '*.jpg' -exec xattr -c {} \;
  find . -type f -name '*.png' -exec xattr -c {} \;
  find . -type f -name '*.json' -exec xattr -c {} \;

Bersihkan Xcode dan Re Build. Selesai

Guru
sumber
7
Kesalahan tanda kode diperbaiki ini di Xcode 8. Solusi hebat.
iPhoneProcessor
4
Saya punya 110 file dengan itu. Apa yang akan menjadi perintah bash yang secara otomatis akan memperlakukan mereka semua?
Fawkes
2
Terima kasih, Bekerja untuk saya !!
Amit Ajmera
5
Ini adalah penyelamat. Saya menghabiskan waktu berjam-jam untuk ini.
Jackson
4
Terima kasih banyak untuk berbagi, menyelamatkan saya berjam-jam jika tidak berhari-hari!
G Chris DCosta
171

Kesalahan berasal dari atribut di dalam file gambar Anda. Ini terjadi dari perancang grafis kami yang menyimpan gambar dari photoshop dengan atribut.

Ini adalah perintah sederhana untuk menemukan semua file png Anda dan menghapus atributnya. Jalankan ini di direktori root proyek Anda dari terminal. Bersihkan dan bangun kembali; masalah terpecahkan.

find . -type f -name '*.png' -exec xattr -c {} \;
Mark McCorkle
sumber
12
Ini harus menjadi jawaban yang diterima. Lebih sederhana, lebih cepat, dan tidak membutuhkan usaha manual. Saya memiliki 80 file dengan masalah, menurut jawaban @ NatureFriend.
Roger Oba
3
Terima kasih! Jam yang saya habiskan untuk mencari jawaban atas kesalahan aneh ini - sungguh buang-buang waktu!
lppier
Satu solusi terminal-less yang lebih cepat bagi saya adalah hanya menyeret semua gambar di ImageOptimizer (yang juga menghapus semua atribut yang tidak berguna).
blackjack75
Saya telah menyimpan ikon baru dari pixelmator dan memiliki masalah yang sama. Terima kasih.
Guy Lowe
Ini bekerja untuk saya .. Saya mendapatkan izin yang ditolak pada perintah 'xcattr -cr' di atas (bahkan diarahkan untuk melakukannya melalui dokumentasi Apel yang tercantum di atas: developer.apple.com/library/archive/qa/qa1940/_index.html Menjalankan Xcode 9.3 tentang High Sierra 10.13.4
Randoramma
95

Jika Anda memiliki kesalahan ini ketika codesigning aplikasi:

garpu sumber daya, informasi Finder, atau detritus serupa tidak diizinkan Command / usr / bin / codesign gagal dengan kode keluar 1

Buka folder root proyek Anda dan jalankan

find . | xargs -0 xattr -c

Ini akan menghapus atribut untuk semua file.

Di Sierra, aturan tentang apa yang bisa dalam bundel yang ditandatangani telah diperketat, dan garpu sumber daya tidak lagi diizinkan. AppleScript telah menyimpan informasi dalam garpu sumber daya selamanya, meskipun informasi itu telah lama tidak digunakan. Dengan Sierra, saat Anda menyimpan skrip, informasi fork sumber daya ini tidak akan lagi disimpan.

Ini berarti Anda tidak dapat menandatangani kode skrip yang terakhir disimpan dalam versi sebelum Sierra; Anda harus menyimpan di Sierra untuk dapat masuk Sierra.

Orang-orang yang kemungkinan akan terpengaruh adalah siapa yang menggabungkan skrip lain dalam skrip mereka (cordova?). Mereka tidak akan dapat menandatangani skrip penampung sampai semua skrip tertanam telah disimpan di bawah Sierra.

MEMPERBARUI:

Sepertinya ini juga berfungsi:

xattr -rc .

Jika Anda memiliki kesalahan izin yang tidak mencukupi, cobalah untuk menambahkan sudo: sudo xattr -rc .

Arnold Roa
sumber
4
Saya mencobanya di terminal dan "tidak cukup ruang untuk berargumen"
Fawkes
1
Ini bekerja sebagai pesona! Juga harus melakukan Produk> Bersihkan di XCode, tetapi kemudian proyek saya dibangun!
Fredrik Johansson
Terima kasih kawan, itu berhasil. Dalam kasus saya masalahnya adalah saya dapat menguji di perangkat tanpa masalah tetapi ketika saya mencoba di simulator itu tidak berfungsi dan menunjukkan masalah di atas. Solusi Anda memperbaiki masalah saya.
Mahmud Ahsan
xattr -rc. Kerja!
matt
Saya membangun dengan Corona SDK dan menghadapi masalah yang sama. xattr -rc Bekerja untuk saya.
Rais Iqbal
31

Cara termudah untuk menangani atribut pada file sumber Anda adalah membuat Xcode membersihkan arsip sebelum menjalankan codesign. Untuk melakukan ini:

  1. Pilih target Anda dalam XCode
  2. Pilih tab Bangun Fase
  3. Tekan simbol +
  4. Pilih Fase Skrip Run Baru
  5. Masukkan yang berikut ini untuk skrip:

    xattr -cr ~ / Library / Developer / Xcode / DerivedData || echo Clear

Sekarang ketika Anda membangun target Anda, itu akan menghapus semua atribut yang akan merusak codesign. Dengan menghapus pada tahap ini Anda tidak perlu mengubah kode sumber / direktori proyek Anda.

Bagian "|| echo Clear" dari skrip memastikan bahwa pembangunan proyek berlanjut meskipun kesalahan xattr.

Metode ini bagus jika Anda menggunakan program seperti DropBox di repositori kode Anda yang menambahkan atribut, karena itu tidak mengubah proyek sumber Anda, hanya arsip yang dibuat.

Anda mungkin perlu mengubah jalur agar sesuai dengan direktori DerivedData Anda - jalur ini akan ditampilkan di sebelah kesalahan codesign.

xattr codesign xcode fix

A.Badger
sumber
1
Masalahnya hanya muncul bagi saya dalam proyek yang dibuat dari proyek yang identik menggunakan ⌘-D di Finder. Untuk beberapa alasan, tidak ada solusi yang lebih populer yang bekerja untuk saya. Yang ini.
clozach
1
TERIMA KASIH! setelah 2 jam mencari solusi, ini berhasil.
Carter Cobb
1
Akhirnya! Setelah berjam-jam mencoba solusi lain, ini memperbaikinya !! Coba ini dulu, tetapi gantikan jalur yang ditunjukkan oleh kesalahan
codesign
bagi saya, masalahnya adalah gambar dalam kode sumber ... jadi saya menambahkan skrip run yang menjalankan xattr -cr "$ PROYEKTIF"
Little Watchman
terima kasih banyak, ini masih berfungsi. Dalam kasus saya, saya menambahkan xattr -cr ~ / Users / msc / OneDrive / 01 Work / APP / Flutter / lts-flutter / build / ios / Debug-iphoneos || echo Clear
mactrix
26

Saya telah menggunakan perintah berikut. Gunakan jendela terminal. Arahkan ke Proyek Anda dan jalankan berikut:

xattr -rc .
Ram G.
sumber
Ya, kadang-kadang hanya membersihkan attrs di dalam direktori Project membantu .. Lame Apple, mengapa membuat hal
Anton Malyshev
Selain jawaban terpilih teratas ini juga berfungsi sebagai alternatif
Lance Samaria
Saya juga harus membersihkan folder proyek <cmd + K> setelah itu agar berfungsi
Lance Samaria
21

Ada jawaban resmi Apple untuk masalah ini dalam T&J Teknis QA1940 .

Ini adalah perubahan pengerasan keamanan yang diperkenalkan dengan iOS 10, macOS Sierra, watchOS 3, dan tvOS 10.

Penandatanganan kode tidak lagi memungkinkan file apa pun dalam satu bundel aplikasi memiliki atribut diperluas yang berisi garpu sumber daya atau info Finder.

Untuk melihat file mana yang menyebabkan kesalahan ini, jalankan perintah ini di Terminal: xattr -lr <path_to_app_bundle>

Anda juga dapat menghapus semua atribut yang diperluas dari bundel aplikasi Anda dengan perintah xattr: xattr -cr <path_to_app_bundle>

<path_to_app_bundle>dapat diganti dengan direktori proyek Xcode Anda. Sebagai contoh~/Development/MyProject

kawan
sumber
Setelah mengerjakan hampir semua solusi yang diusulkan lainnya xattr -lr <path_to_app_bundle>akhirnya mengarah ke file yang tepat. Mendapat Localizable.strings dari agensi dengan Finder-Tag dan yang menyebabkan Codesign gagal.
JanR
Saya menghabiskan 2 hari untuk ini dan solusi ini akhirnya berhasil untuk saya!
bhakti123
16

Semua tentang menghapus file baik-baik saja, tetapi membosankan untuk beberapa proyek.

aplikasi grafis, (seperti photoshop dalam versi lama) menulis info tambahan (sekarang kami menyebutnya metadata ..) dengan cara lama di file eksternal, atau mereka datang dari OSX yang lebih lama, file seperti:

"com.apple.ResourceFork" dan "com.apple.FinderInfo", saat membuka ritsleting folder, misalnya.

Xcode 8 menolak untuk menambahkannya ke build (karena Anda menambahkannya ke proyek dengan "git --add." Mungkin ..) Anda dapat menemukannya di terminal secara rekursif dan menghapusnya, tetapi bisa membosankan.

Saya menulis utilitas gratis kecil untuk menghapusnya .. semoga bisa membantu ..

https://itunes.apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12

ingconti
sumber
Ini berhasil untuk saya. Terima kasih banyak untuk aplikasi bermanfaat Anda!
Biru
Yang satu ini adalah satu-satunya solusi yang bekerja dengan saya, meskipun aplikasi telah berkali-kali "mungkin karena banyaknya file proyek" tetapi telah membersihkan file dan proyek akhirnya bekerja. Terima kasih!
XIII
Mengunduh aplikasi Anda dan itu membersihkan semuanya untuk saya! Terima kasih!
Bobby
Punya +1. Terima kasih
Megaetron
Saya akan memperbaiki crash untuk proyek besar segera setelah saya punya waktu luang!
ingconti
11

Solusi sederhana: -

Bagaimana saya melakukannya [Bekerja untuk saya]

Langkah 1: - Buka folder ini - dari finder Anda tekan opsi Go -> Go to Folder

kemudian ketik jalur proyek Anda seperti contoh ini: - Perpustakaan / Pengembang / Xcode / DerivedData / yourprojectname / Build / Products / Debug-iphoneos

Sekarang Anda dapat melihat jendela sembul dengan daftar File yang tersedia, Di sana Anda melihat fileApp.app Anda [Jangan lakukan apa-apa hanya menunggu langkah 2].

Langkah 2: - Buka Terminal baru dan ketik hanya cd lalu seret langkah 1 aplikasi Anda ke terminal, sekarang Anda akan mendapatkan jalur untuk aplikasi, sekarang tekan tombol enter.

Langkah 3: - Sekarang ketikkan perintah ini **

xattr -rc.

Jangan lewatkan "." (Dot) tekan tombol enter.

Itu dia, Buka proyek Xcode Anda dan bersihkan dan jalankan lagi.

Abdu
sumber
10

----- Jika Anda tidak dapat menerapkan solusi di atas, karena kurangnya pengetahuan bash atau yang lainnya.

Saya memiliki masalah ini segera setelah saya mengaktifkan iCloud Drive di Sierra saya. Dan proyek saya ada di folder yang disinkronkan dengan iCloud Drive. Saya kira inilah yang menambahkan atribut-atribut tambahan itu.

Solusi sementara:

Nonaktifkan iCloud Drive untuk folder tempat proyek Anda.

Fawkes
sumber
Saya pindah dari iCloud Drive ke Desktop dan berfungsi dengan baik. Terima kasih
drasick
Ini adalah bagian dari solusi bagi saya. Saya punya proyek di desktop saya yang sedang dicadangkan ke iCloud di bawah Sierra. Saya masih perlu mengetikkan xattr -rc. di terminal untuk menghapus file yang menyinggung setelah memindahkan proyek dari desktop. Tidak ada solusi lain yang berhasil untuk langkah ini
Roger Pingleton
Ini juga masalah bagi saya: iCloudDrive menyebabkan kesalahan yang sangat menjengkelkan ini, saya melaporkan bug ke Apple -> 31740606
LukeSideWalker
Ini pada dasarnya adalah masalah saya juga, tetapi saya tidak harus menonaktifkan iCloud untuk folder proyek saya, atau memindahkan folder proyek, atau yang seperti itu. Saya baru saja masuk ke Xcode Prefs-> Lokasi-> Lanjutan dan memilih opsi "Unik" untuk Membangun Lokasi. Saya telah menggunakan lokasi pembangunan di subfolder dari file proyek xcode, yang ada di drive iCloud. Saya pikir defaultnya adalah Unik, dan saya tidak tahu mengapa saya pernah mengubahnya, mungkin untuk membuatnya lebih mudah untuk menemukan executable setelah build.
daver
10

Bagi mereka (seperti saya) yang hanya mencoba mengembangkan aplikasi tanpa harus menghapus atribut yang diperluas pada setiap photoshop baru yang dibuat PNG ditambahkan ke target macOS, Anda dapat menonaktifkan sementara penandatanganan kode dengan menambahkan pengaturan bangunan yang ditentukan pengguna:

CODE_SIGNING_ALLOWED = No 

Jelas, seseorang yang mendistribusikan suatu aplikasi pada akhirnya harus berurusan dengan masalah ini tetapi ini memungkinkan pengembangan dalam kasus-kasus seperti milik saya di mana itu tidak selalu mudah untuk menghilangkan penandatanganan kode di Sierra (pada OS X / Xcode sebelumnya lebih mudah untuk melakukannya).

Per komentar RGriffith, berikut adalah beberapa tangkapan layar untuk mereka yang tidak yakin bagaimana pengaturan pembuatan kustom ditambahkan.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Bobjt
sumber
Di mana Anda menambahkan ini?
RGriffiths
4

Anda perlu menghapus folder bundel aplikasi dan membangun kembali aplikasi seperti yang dijelaskan di bawah ini.

Aplikasi saya disebut: augment

Di jendela terminal, buka folder aplikasi Anda misalnya: cd / Users / nama pengguna / Library / Developer / Xcode / DerivedData /

Pada terminal terminal jalankan perintah untuk folder aplikasi Anda mis: xattr -cr augment-flmbiciuyuwaomgdvhulunibwrms

Bersihkan> Bangun> Jalankan.

Ada juga aplikasi gratis di Mac Appstore yang disebut "CleanDetritus" yang akan menghapusnya.

velhala
sumber
1
Saya menggunakan Flutter untuk menghasilkan aplikasi iOS dan Bersihkan> Bangun> Jalankan dari Xcode memecahkan kesalahan "sumber daya garpu, informasi Finder, atau detritus serupa yang tidak diizinkan" pada konsol bergetar.
Juan Valera
Berhasil, terima kasih! Solusi bagi saya adalah menjalankan "xattr -rc." dalam folder proyek data turunan sebagai gantinya di folder proyek.
BIOS-K
2

Masalah ini datang kepada saya kemarin.

(What's wrong) Saya memperbarui sumber daya gambar dengan secara manual mengganti file di finder dan saya gagal dengan kesalahan kompilasi ini.

(What's right)Jangan perbarui gambar dengan cara ini. Setelah itu saya menyeret gambar ke 'xcassets' di Xcode. Tidak ada lagi kesalahan yang muncul.

ManuQiao
sumber
2

Masalahnya adalah dalam data yang diturunkan, Anda harus membersihkan data yang diturunkan dan kemudian membersihkan proyek dan membangun. Silakan periksa tautan ini .

Yogesh Dalavi
sumber
1

Masalah saya adalah setiap perubahan yang saya lakukan dalam kode dan jalankan kembali kesalahan muncul kembali. Kemudian saya menemukan solusi untuk menjalankan perintah secara otomatis setiap kompilasi / eksekusi kode.

Berkat @ orang kaya saya menemukan "Run Script". Lalu saya menempatkan perintah "xattr -cr." di lapangan.

Solusi XCODE

Andrey
sumber
1

Perbaikan paling sederhana mungkin jika Anda menggunakan git . Mencoba:

$ git stash
$ git stash pop

Git tidak menyimpan metadata file, yang di atas akan menghapus semua itu.

emp
sumber
Saya memiliki masalah ini di bawah Xcode 9. Solusi di atas memperbaiki masalah ini. Anda harus memiliki proyek di bawah kontrol sumber git dan belum melakukan file apa pun.
Anessence
0

Masalah saya adalah saya menggunakan cordova untuk membangun aplikasi sekitar 1 tahun yang lalu, tetapi itu tidak kompatibel dengan versi baru xcode, jadi saya hanya menggunakan cordova build iosdan itu bekerja lagi.

Frederik Witte
sumber
0

Salah satu solusi terbaik adalah Pergi ke terminal ketik ini

xattr -cr "Full path of your project"

Untuk menemukan path lengkap klik kanan Anda pada proyek Xcode-> dapatkan info -> salin path dan ganti dengan. Kemudian ketik perintah di bawah ini

xattr -cr "Full path of your project"

Bersihkan dan bangun.

Rajesh Maurya
sumber
ini proyek saya, jangan gunakan itu
kawan
Ini menggagalkan rencana saya. dan memperbaiki masalah itu saya menghapus file .scodeproj secara tidak sengaja dan kemudian saya membuat proyek baru dan mentransfer file sebelumnya
Naveed Ahmad
Kemudian itu terjadi karena kesalahan Anda. Saya mencoba kode tempat tinggal dan tidak memiliki masalah.
Rajesh Maurya
Bro setelah menggunakan perintah di atas dalam kasus saya membuat masalah bagi saya. kemudian untuk menyelesaikan itu saya terjebak dalam masalah lain.
Naveed Ahmad
0

Jika perintah xattr bukan triknya, ini mungkin disebabkan oleh bug XCode 9: mari kita coba untuk menghapus dan menambahkan kembali folder sumber daya (itu adalah .xcassets dalam kasus saya) yang berisi file-file yang terkena dampak dari Xcode. (Anda harus memahami file mana yang terpengaruh sebelumnya melalui perintah xattr -lr)

Joe Aspara
sumber
0

Buka terminal dan jalankan perintah ini.

xattr -cr "path ke .app file"

Idrees Ashraf
sumber
0

Saya juga menghadapi masalah yang sama, diperbaiki dengan hanya me-restart Macbook saya.

Irfan
sumber
0

Saya menemukan bahwa jika saya tambahkan color tagpada folder di bawahDerivedData , itu akan memberikan kesalahan di atas ketika melakukan debug pada perangkat.

Hapus color Tagperbaikan ini untuk saya.

masukkan deskripsi gambar di sini

JerryZhou
sumber
0

Anda dapat menghapus data yang diturunkan Xcode -> Preferences

Dan klik panah di bawah ini Derived Data, dan kosongkan foldernyaDerived Data

Mickael Belhassen
sumber
0

Saya tidak tahu apa yang terjadi pada saya, tetapi ketika saya menjalankan aplikasi bergetar di simulator, saya menemukan kesalahan. Saya menggunakan flutter cleanperintah dan menghapus data yang diturunkan dan kemudian semuanya berjalan dengan baik.

Ankur Lahiry
sumber