MacOS High Sierra Xcode'da Kod İşareti Hatası - kaynak çatalı, Bulucu bilgisi veya benzeri detritusa izin verilmiyor


265

Zaten denenmiş: macOS Sierra, Xcode 8'de Kod İşareti Hatası

Lütfen hata gösteren resme bakın resim açıklamasını buraya girin

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

Kod İşareti bölümünde profil ve sertifika seçmeme izin veriyor ... ama yine de hata veriyor. resim açıklamasını buraya girin

resim açıklamasını buraya girin

Bu sorun nasıl çözülür ?


1
temiz ve "alt" temiz yaptınız mı?
thorb65

anlamına geliyor? Ben sadece xcode hesaplarından sertifikaları yeniden oluşturulan ve web sitesinde profilleri yeniden oluşturulan ve yeniden denedim ... hala şans yok.
iPhoneProcessor

Arnold Roas cevabı aşağıda benim projem için hile yaptı. Ancak derlemenin daha sonra başarılı olması için XCode'da bir Ürün> Temizle de yapmanız gerekebilir.
Fredrik Johansson

cocos2d-x için artı
fnc12

Yanıtlar:


586

Çözüm 1:

Apple Geliştirici Web Sitesi Yukarıdaki sorunun yanıtları Burada .

Terminalde aşağıdaki komutu çalıştırın: First goto projects root folder

 xattr -cr <path_to_project_dir>

Temiz Xcode ve Yeniden Oluştur. Şerefe

Çözüm 2:

Sadece proje kök dizinine gidin ve bu komutu xattr -cr çalıştırın.

xattr -cr .

Temiz Xcode ve Yeniden Oluştur. Bitti.

Çözüm 3:

Bulucu bilgilerini içeren dosyaları bularak bu sorunu çözebilirsiniz.

Terminalde, proje kök dizinine git ve yürüt

ls -alR@ . > kundapura.txt

Bu, geçerli dizinde kundapura.txt dosyasını oluşturur. Şimdi com.apple.FinderInfo öğesini arayın ve tüm dosyalar için bu özellikleri temizleyin. Böyle yapabilirsin

xattr -c <filename>

Misal: xattr -c guru.png

Hepsini temizledikten sonra kod işareti çalışır. Temiz Xcode ve Yeniden Oluştur. Şerefe

Çözüm 4: Mark McCorkle'nin Cevabından Esinlendi

Terminalde, projenin kök dizinine gidin ve birer birer komut çalıştırın

  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 {} \;

Temiz Xcode ve Yeniden Oluştur. Bitti.


7
Xcode 8'de bu sabit kod işareti hatası. Harika bir çözüm.
iPhoneProcessor

4
Bununla 110 dosyam var. Hepsini otomatik olarak tedavi edecek bir bash komutu ne olurdu?
Fawkes

2
Teşekkürler, benim için çalıştı !!
Amit Ajmera

5
Bu bir cankurtaran. Bunun için saatler geçirdim.
Jackson

4
Paylaştığınız için çok teşekkür ederim, günler olmasaydı saatlerimi kurtardım!
G Chris DCosta

171

Hata, resim dosyalarınızdaki özelliklerden kaynaklanmaktadır. Bu, grafik tasarımcımızın photoshop'tan niteliklerle görüntüleri kaydetmesi oldu.

İşte tüm png dosyalarınızı bulmak ve özniteliklerini kaldırmak için basit bir komut. Terminalden projelerinizin kök dizininde çalıştırın. Temizleyin ve yeniden inşa edin; sorun çözüldü.

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

12
Bu kabul edilen cevap olmalı. Daha basit, daha hızlı ve manuel çaba gerektirmez. @ NatureFriend'in cevabına göre problemli 80 dosyam vardı.
Roger Oba

3
Teşekkür ederim! Bu garip hatanın cevabını bulmaya çalıştığım saatler - ne kadar muazzam bir zaman kaybı!
lppier

Benim için daha hızlı bir terminalsiz çözüm, sadece ImageOptimizer'daki tüm görüntüleri sürüklemekti (bu da tüm gereksiz özellikleri de çöpe atıyordu).
blackjack75

Pikselden yeni bir simge kaydetmiştim ve aynı sorunu yaşadım. Teşekkürler.
Guy Lowe

Bu benim için çalıştı .. Yukarıdaki 'xcattr -cr' komutunda izin alınıyordum (yukarıda listelenen Elma dokümantasyonuyla bile yönlendirilmişti: developer.apple.com/library/archive/qa/qa1940/_index.html Xcode'u Çalıştırma 9.3 High Sierra'da 10.13.4
Randoramma

95

Bir uygulamayı kodlarken bu hatayla karşılaşırsanız:

kaynak çatalı, Finder bilgisi veya benzeri detritusa izin verilmiyor Command / usr / bin / codesign çıkış kodu ile başarısız oldu 1

Proje kök klasörünüze gidin ve yürütün

find . | xargs -0 xattr -c

Bu, tüm dosyalar için öznitelikleri temizler.

Sierra'da, imzalı bir pakette neler olabileceğine ilişkin kurallar sıkılaştırıldı ve kaynak çatallarına artık izin verilmiyor. AppleScript bilgileri uzun süre kullanılmamasına rağmen, kaynak çatallarına sonsuza kadar kaydetmektedir. Sierra ile, bir komut dosyasını kaydettiğinizde, bu kaynak çatal bilgisi artık kaydedilmez.

Bu, Sierra'dan önceki bir sürümde en son kaydedilen bir komut dosyasını kodlayamayacağınız anlamına gelir; Sierra'da oturum açabilmek için Sierra'da kaydetmeniz gerekir.

Etkilenmesi muhtemel insanlar, komut dosyalarında (cordova?) Diğer komut dosyalarını bir araya getiren kişilerdir. Yerleşik tüm komut dosyaları Sierra altında kaydedilinceye kadar kap komut dosyasını imzalayamayacaklar.

GÜNCELLEME:

Bu da işe yarıyor gibi görünüyor:

xattr -rc .

Yetersiz izin hatası varsa sudo başlığını eklemeyi deneyin: sudo xattr -rc .


4
Ben terminalde denedim ve "argüman için yeterli alan yok"
Fawkes

1
Bu bir cazibe olarak çalıştı! Ayrıca bir Ürün> XCode temiz, ama sonra benim proje inşa etmek zorunda kaldı!
Fredrik Johansson

Teşekkürler dostum, işe yarıyor. Benim durumumda, sorun olmadan cihazda test edebilirim ama simülatörde denediğimde işe yaramaz ve yukarıdaki sorunu gösterir. Çözümünüz benim sorunumu çözdü.
Mahmud Ahsan

xattr -rc. İş!
matt

Corona SDK ile inşa ediyordum ve aynı sorunla karşı karşıyaydım. xattr -rc Benim için çalıştı.
Rais Iqbal

31

Kaynak dosyalarınızdaki öznitelikleri işlemenin en kolay yolu, kodun çalıştırılmadan önce Xcode'un arşivi temizlemesidir. Bunu yapmak için:

  1. XCode'da hedefinizi seçin
  2. Derleme Aşamaları sekmesini seçin
  3. + Sembolüne basın
  4. Yeni Çalıştırılan Komut Dosyası Fazını Seç
  5. Komut dosyası için aşağıdakini girin:

    xattr -cr ~ / Kütüphane / Geliştirici / Xcode / DerivedData || echo Temizle

Şimdi hedefinizi oluşturduğunuzda, kod işaretini bozmuş olabilecek tüm özellikler temizlenir. Bu aşamada temizleyerek kaynak kodunuzu / proje dizininizi değiştirmeniz gerekmez.

Komut dosyasının "|| echo Clear" kısmı, xattr hataları olsa bile proje derlemesinin devam etmesini sağlar.

Kod deponuzda öznitelikleri ekleyen DropBox gibi programları kullanırsanız, kaynak projenizi değiştirmediği için, yalnızca yerleşik arşiv bu yöntem kullanışlıdır.

Yolu, DerivedData dizininizle eşleşecek şekilde değiştirmeniz gerekebilir - bu yol, kod işareti hatasının yanında gösterilir.

xattr kod işareti xcode düzeltme


1
Sorun benim için yalnızca Finder'da ⌘-D kullanarak aynı olan bir projeden oluşturulan bir projede ortaya çıkıyor. Bir nedenden dolayı, daha popüler çözümlerin hiçbiri benim için işe yaramadı. Bunu yaptı.
clozach

1
TEŞEKKÜR EDERİM! 2 saat çözüm aradıktan sonra bu işe yaradı.
Carter Cobb

1
En sonunda! Diğer çözümleri denedikten sonra saatlerce düzeltildi !! Önce bunu deneyin, ancak
kod işareti

benim için sorun kaynak kodunda bir görüntü oldu ... bu yüzden bu xattr -cr "$ PROJECT_DIR"
Küçük Bekçi

çok teşekkürler, bu hala çalışıyor. Benim durumumda xattr -cr ~ / Users / msc / OneDrive / 01 Work / APP / Flutter / lts-flutter / build / ios / Debug-iphoneos || echo Temizle
mactrix

26

Aşağıdaki komutu kullandım. Terminal penceresini kullanın. Projenize gidin ve aşağıdakileri yürütün:

xattr -rc .

Evet, bazen sadece Proje dizini içindeki attreleri temizlemek yardımcı olur .. Lame Apple, neden bu kadar berbat şeyler yapmak
Anton Malyshev

En çok oy alan cevaba ek olarak bu da alternatif olarak çalıştı
Lance Samaria

Ayrıca daha sonra bunun çalışması için <cmd + K> proje klasörünü temizlemek zorunda kaldım
Lance Samaria

21

Bu sorunun Teknik Soru ve Cevap QA1940'ında resmi Apple yanıtı var .

Bu, iOS 10, macOS Sierra, watchOS 3 ve tvOS 10 ile sunulan bir güvenlik sertleştirme değişikliğidir.

Kod imzalama artık uygulama paketindeki hiçbir dosyanın kaynak çatalını veya Finder bilgilerini içeren genişletilmiş bir özelliğe sahip olmasına izin vermez.

Hangi dosyaların bu hataya neden olduğunu görmek için Terminal'de şu komutu çalıştırın: xattr -lr <path_to_app_bundle>

Ayrıca xattr komutuyla genişletilmiş tüm özellikleri uygulama paketinizden kaldırabilirsiniz: xattr -cr <path_to_app_bundle>

<path_to_app_bundle>Xcode projenizin dizini ile değiştirilebilir. Örneğin~/Development/MyProject


Neredeyse tüm diğer önerilen çözümler üzerinde çalıştıktan sonra xattr -lr <path_to_app_bundle>nihayet doğru dosyalara yol açar. Ajanstan Finder-Tags içeren ve Codesign'ın başarısız olmasına neden olan bir Localizable.strings var.
JanR

Bu konuda 2 gün harcadım ve bu çözüm sonunda benim için çalıştı!
bhakti123

16

Dosyaları temizlemekle ilgili her şey yolunda, ancak birden fazla proje için sıkıcı.

grafik uygulamaları (eski sürümlerde photoshop gibi) harici dosyalarda eski bir şekilde ek bilgiler (şimdi meta veri olarak adlandırıyoruz ..) yazıyorlar veya eski OSX'ten geliyorlar, örneğin:

Örneğin, klasörü açarken "com.apple.ResourceFork" ve "com.apple.FinderInfo".

Xcode 8, bir yapıya eklemeyi reddediyor ("git --add" ile bir projeye eklediğiniz gibi.) Terminalde özyinelemeli olarak bulabilir ve silebilirsiniz, ancak sıkıcı olabilirsiniz.

Silmek için küçük bir ücretsiz yardımcı program yazdım .. umarım yardımcı olabilir ..

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


Benim için çalıştı. Yararlı uygulamanız için çok teşekkürler!
Mavi

Bu uygulama, muhtemelen "proje dosyalarının çok sayıda olması nedeniyle" birçok kez çökmesine rağmen, dosyaları temizledi ve proje sonunda çalışıyordu, ancak benimle çalışan tek çözüm oldu. Teşekkürler!
XIII

Uygulamanızı indirdi ve benim için her şeyi temizledi! Teşekkür ederim!
Bobby

+1. Teşekkür ederim
Megaetron

Biraz boş zamanım olacak büyük projenin çökmesini düzeltirim!
ingconti

11

Basit çözüm: -

Nasıl yaptım [Benim için çalışıyorum]

Adım 1: - Bu klasöre gidin - bulucunuzdan Git -> Klasöre Git seçeneğine basın

daha sonra proje yolunuzu şu örnek gibi yazın: - Kütüphane / Geliştirici / Xcode / DerivedData / projenizin adı / Derleme / Ürünler / Debug-iphoneos

Şimdi mevcut Dosya listesini içeren bir pencere pop görebilirsiniz, orada App.app dosyanızı görüyorsunuz [Hiçbir şey yapmayın sadece 2. adımı bekleyin].

Adım 2: - Yeni Terminal'i açın ve sadece cd yazın, ardından 1.Adınızı yourApp.app'nizi terminale sürükleyin, şimdi uygulamanın yolunu alacaksınız, şimdi enter düğmesine basın.

Adım 3: - Şimdi bu komutu yazın **

xattr -rc.

Kaçırmayın "." (Dot) enter düğmesine basın.

Hepsi bu, Xcode projenize gidin ve temizleyip tekrar çalıştırın.


10

----- Yukarıdaki çözümleri uygulayamıyorsanız, bash bilgisi veya başka bir şeyden dolayı.

Sierra'mda iCloud Drive'ı etkinleştirir etkinleştirmez bu sorunla karşılaştım. Ve projem iCloud Drive ile senkronize edilen bir klasördeydi. Sanırım bu ek özellikleri ekleyen şey budur.

Geçici çözüm:

Projenizin bulunduğu klasör için iCloud Drive'ı devre dışı bırakın.


İCloud Drive'dan Masaüstüne taşındım ve düzgün çalışıyor. Teşekkürler
drasick

Bu benim için çözümün bir parçasıydı. Masaüstümde Sierra altında iCloud'a yedeklenen bir projem vardı. Hala xattr -rc yazmam gerekiyordu. terminalde projeyi masaüstünden çıkardıktan sonra rahatsız edici dosyaları silmek için. Bu adım için diğer çözümlerin hiçbiri işe yaramadı
Roger Pingleton

Bu da benim için sorun oldu: iCloudDrive bu gerçekten sinir bozucu hataya neden oluyor, Apple'a bir hata bildirdim -> 31740606
LukeSideWalker

Bu da benim sorunumdu, ancak proje klasörüm için iCloud'u devre dışı bırakmak veya proje klasörünü veya bunun gibi bir şeyi taşımak zorunda kalmadım. Az önce Xcode Prefs-> Locations-> Advanced'e girdim ve Yapı Konumu için "Benzersiz" seçeneğini seçtim. İCloud sürücüsündeki xcode proje dosyasının alt klasöründe bir yapı konumu kullanıyordum. Ben varsayılan varsayılan olduğunu düşünüyorum, ve ben neden hiç değiştirdim bilmiyorum, belki bir derleme sonra yürütülebilir bulmak daha kolay hale getirmek için.
daver

10

MacOS hedefine eklenen her yeni photoshop'ta oluşturulan PNG'de genişletilmiş öznitelikleri kaldırmak zorunda kalmadan (benim gibi) bir uygulama geliştirmeye çalışanlar için, kullanıcı tanımlı bir oluşturma ayarı ekleyerek kod imzalamayı geçici olarak devre dışı bırakabilirsiniz:

CODE_SIGNING_ALLOWED = No 

Açıkçası, bir uygulamayı dağıtan bir kişinin sorunla başa çıkması gerekir, ancak bu, Sierra gibi kod imzasını atlamanın mutlaka kolay olmadığı durumlarda benimki gibi durumlarda gelişmeyi sağlar (geçmiş OS X / Xcode'da bunu yapmak daha kolaydı).

RGriffith'in yorumuna göre, özel oluşturma ayarının nasıl eklendiğinden emin olmayanlar için birkaç ekran görüntüsü.

resim açıklamasını buraya girin

resim açıklamasını buraya girin


Bunu nereye ekliyorsunuz?
RGriffiths

4

Uygulama paketi klasörünü silmeniz ve aşağıda açıklandığı gibi uygulamayı yeniden oluşturmanız gerekir.

Uygulamamın adı:

Terminal penceresinde, uygulama klasörünüze gidin örn. Cd / Kullanıcılar / kullanıcı adı / Kütüphane / Geliştirici / Xcode / DerivedData /

Terminal penceresinde uygulama klasörünüz için komutu çalıştırın örn .: xattr -cr augment-flmbiciuyuwaomgdvhulunibwrms

Temiz> Yapı> Çalıştır.

Ayrıca Mac Appstore'da "CleanDetritus" adlı ücretsiz bir uygulama da var.


1
İOS uygulamasını oluşturmak için Flutter kullanıyorum ve Clean> Build> Xcode'dan çalıştır, flutter konsolunda "kaynak çatalı, Finder bilgisi veya benzeri detritusa izin verilmiyor" hatasını çözdü.
Juan Valera

İşe yaradı, teşekkürler! Benim için çözüm "xattr -rc" yürütüyordu. türetilen veri proje klasöründe yerine proje klasöründe.
BIOS-K

2

Bu sorun dün bana geldi.

(What's wrong) Bulucudaki dosyayı el ile değiştirerek görüntü kaynaklarını güncelledim ve bu derleme hatasıyla başarısız oldum.

(What's right)Görüntüyü bu şekilde güncelleme. Bundan sonra görüntüleri Xcode'da 'xcassets' e sürükledim. Tekrar hata görünmez.


2

Sorun türetilmiş verilerde, türetilmiş verileri temizlemeniz ve sonra projeyi temizlemeniz ve derlemeniz gerekir. Lütfen bu bağlantıyı kontrol edin .


1

Benim sorunum kodda yapmak ve hata tekrar tekrar yürütmek her değişiklik. Sonra her kod derleme / yürütme komutu otomatik olarak yürütmek için bir çözüm bulmak.

@ Rich-able sayesinde "Run Script" i keşfettim. Sonra "xattr -cr" komutunu koydum. alan içerisinde.

XCODE Çözümü


1

Git'i kullanıyorsanız en basit düzeltme olabilir . Deneyin:

$ git stash
$ git stash pop

Git dosya meta verilerini saklamaz, yukarıdakiler hepsini kaldırır.


Xcode 9 altında bu sorunu yaşadım. Yukarıdaki çözüm sorunu düzeltti. Git kaynak denetimi altında projeniz olmalı ve henüz herhangi bir dosya işlememiş olmalısınız.
Anessence

0

Benim sorunum, yaklaşık 1 yıl önce uygulamayı oluşturmak için cordova kullandım, ancak xcode'un yeni sürümü ile uyumlu değildi, bu yüzden basitçe kullandım cordova build iosve tekrar çalıştı.


0

En iyi çözümlerden biri terminal tipine git

xattr -cr "Full path of your project"

Xcode projesinin sağ yolunu bulmak için proje-> bilgi al -> yolu kopyala ve değiştirin. Sonra aşağıdaki komutu yazın

xattr -cr "Full path of your project"

Temizleyin ve inşa edin.


bu tuğla benim projem, kullanma çocuklar
Naveed Ahmad

Bu benim şemamı kapladı. ve bu sorunu çözerek yanlışlıkla .scodeproj dosyasını kaldırdım ve sonra yeni bir proje oluşturdum ve önceki dosyaları aktardım
Naveed Ahmad

Sonra hatanız yüzünden oldu. Ben abode kodu denedim ve herhangi bir sorun yok.
Rajesh Maurya

Kardeşim yukarıdaki komutu kullandıktan sonra benim durumumda bir sorun yarattı. sonra çözmek için başka bir konuya sıkıştım.
Naveed Ahmad

0

Xattr komutları hile yapmazsa bunun nedeni bir XCode 9 hatası olabilir: Xcode'dan etkilenen dosyaları içeren kaynak klasörü (benim durumumda bir .xcassets'tir) kaldırmaya ve yeniden eklemeye çalışalım. (xattr -lr komutu ile daha önce etkilenen dosyaların hangileri olduğunu anlamalısınız)


0

Terminali açın ve bu komutu çalıştırın.

xattr -cr ".app dosyasına giden yol"


0

Aynı sorunu yaşıyorum, sadece Macbook'umu yeniden başlatarak düzeltildi.


0

Aşağıdaki color tagklasöre DerivedDataeklersem, cihazda hata ayıklama yaparken yukarıdaki hatayı verecektir.

color TagBu hatayı benim için düzelt.

resim açıklamasını buraya girin


0

Türetilen verileri kaldırabilirsiniz Xcode -> Preferences

Ve aşağıdaki oku tıklayın Derived Datave klasörü boşaltınDerived Data


0

Bana ne olduğunu bilmiyorum, ancak simülatörde flutter uygulamasını çalıştırırken hata ile karşılaştım. flutter cleanKomut kullandım ve türetilen verileri kaldırdım ve sonra her şey yolunda gidiyor.

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.