Xcode 10, Komut CodeSign sıfır olmayan bir çıkış koduyla başarısız oldu


124

Her konsol kurduğumda bu mesajı gösteriyor.

CodeSign /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app (hedefte: Desker) cd / Users / admin / Desktop / AppStoreBuild / Project201 export CODESIGN_ALLOCATE = / Applications / Xcode.app / Contents / Geliştirici / toolchain / XcodeDefault.xctoolchain / usr / bin / codesign_allocate

İmza Kimliği: "-"

/usr/bin/codesign --force --sign - --entitlements /Users/admin/Desktop/AppStoreBuild/Project201/build/Project.build/Debug-iphonesimulator/Project.build/Project.app.xcent --timestamp=none /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app

/Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app: kaynak çatalı, Finder bilgisi veya benzer detrituslara izin verilmiyor Komut CodeSign sıfır olmayan bir çıkış koduyla başarısız oldu

... Bu başarısızlığın nedenini belirlemenin herhangi bir yolu var mı? Simülatörde de çalıştırmayı denediğimde İmza Kimliği: "-" gösteriyor. neden simülatörde kimlik imzalamaya ihtiyacımız var? Ve bir şey daha, Xcode'dan çıkıp yeniden başlatırsam, kodu değiştirdiğimde düzgün bir şekilde inşa edilecek veya bir yöntem eklediğimde tekrar başarısız olacak.

Yanıtlar:


345

Bu sorunu yaşadım ve Xcode cihazda derlenemedi, ancak simülatörde iyi çalıştı.

Şu adımlarla çözdüm:

  1. Anahtar zinciri erişimini açın.
  2. 'Oturum açma' anahtar zincirini kilitleyin.
  3. Kilidini açın, PC hesap şifrenizi girin.
  4. Ürün menüsünde Projeyi Temizle.
  5. Tekrar Yapın.

Ve ondan sonra her şey yolunda gidiyor.


18
benim durumumda kilidi açılmıştı ... bu yüzden sadece kilitledim ve sonra temizledim ve oluşturdum ve Xcode benden şifremi girmemi istedi. Çalışma
Jad

1
Bu benim için mükemmel bir çözüm, benim durumumda xcode10.1'i ayrı olarak yükledim ve daha önce xcode 10.0'ım vardı. Bundan sonra, @omanosoft tarafından sağlanan çözümü yaptıktan sonra yukarıdakileri verdi - çalıştı
Abhijit Chakra

Benim için nokta 4 olmadan işe yaradığını ekler misiniz? Uzunluğu önlemek için temizler ve oluşturur.
Crazy Barney

1
Beni kurtaran çözümünüzü bulmam yarım günümü alıyor, teşekkür ederim sevgili arkadaşım.
Bachir Mehemmel

2
Benim durumumda, iletişim kutusu şifreyi girmek için birden çok kez açılır. Her seferinde PC hesabı şifremi girdim ve 7-10 kez erişim kabul edildi.
Adrian Buciuman

57

Listelenen çözümlerin hiçbiri benim için işe yaramadı. Başka bir iş parçacığında , projeye "kaynaklar" adlı bir klasör dahil edilmesinin bu hataya neden olduğu belirtildi. "Kaynaklar" klasörümü yeniden adlandırdıktan sonra hata ortadan kalktı.


3
Bu benim için de çalıştı. Finder'dan bir "Kaynaklar" klasörünü projeme sürükledim ve mavi bir "Kaynaklar" klasörü oluşturan varsayılan "Klasör referansı oluştur" u kullandım. Bunu sildim, aynı "Kaynaklar" klasörünü Finder'dan tekrar projeme sürükledim, ancak bu sefer "Grup oluştur" u seçtim ve şimdi projem imzalama hatası olmadan derleniyor.
Mark Petereit

1
Teşekkürler arkadaşlar, bu çok yardımcı oldu
Bay T

Firebase modüllerini talimatlarına göre ekledikten sonra aynı sorunla karşılaştım. Resources klasörünü FirebaseResources olarak yeniden adlandırdım ve iyi çalıştı. Teşekkür ederim.
countrycoder

Güzel, başka bir kod tabanını kopyalarken aynı sorunu yaşadım. Garip, diğer kod tabanında herhangi bir sorun yoktu, ancak üzerine kopyalandığında yeni bir projenin etkilenmesine neden oldu. Kaynaklar klasörünü yeniden adlandırmak hile yaptı.
matthew

birisi bana bu kaynak klasörünü nerede ve nasıl bulabileceğimi söyleyebilir mi
pratteek shaurya

41

Ayrıca, "kaynak çatallaması, Bulucu bilgileri veya benzer ayrıntılara izin verilmiyor" hatasıyla kod imzalama başarısız olur.

Düzeltmek için aşağıdaki komut dosyasını konsolda çalıştırın:

$ xattr -cr <path_to_app_bundle>

Apple belgeleri: https://developer.apple.com/library/archive/qa/qa1940/_index.html


sorun için haftalarca arama yapmak ve Apple'dan destek istemek - başarılı olmadan. Çözümünüz için teşekkürler! Benim için mükemmel çalışıyor - SEVERAL projeler için.
Christian Krueger

Bunun için şerefe. Sorunum düzeltildi.
takma tonlar

<path_to_app_bundle> yerine gerçek uygulama paketinizin yolunu değiştirme.
xuzepei

15

Bu sadece bugün başıma geldi, ancak bilgi alma bölümünde 'uzantıyı gizle' işaretli bir .png resmi ekledikten sonra. (Sağ tıklama resmi) Bu resim, Xcode projemin dosya dizinine eklendi.

Kutu işaretlenmediğinde ve .png görüntüsünü Xcode dizinine yeniden eklerken, daha sonra Temizledim ve Oluşturdum ve bundan sonra iyi çalıştı, bana sorarsanız çok garip bir hata.


1
Uzantısı olmayan bir .jpg ile aynı sorunu yaşadım. Bunu ekledikten sonra düzeltildi.
eivindml

1
Bana zaman kazandırdığın için teşekkürler. Bu hatayı gizli bir uzantıya sahip bir resimle ilişkilendirdiğiniz için tebrikler.
Marcy

1
Bu sorunu bir png ile yaşadım, ancak uzantı göründü. Görüntü, "katman kompozisyonlarını dosyalara dışa aktar" kullanılarak photoshop'tan dışa aktarıldı. Görüntüyü silmek ve "farklı dışa aktar" seçeneğini kullanarak yeniden dışa aktarmak sorunu çözdü.
Hermes

PNG görüntüsüyle aynı sorun!
Bay T

7

Projeyi temizlemeyi deneyin:

1. shift + cmd + k
2. shift + cmd + Alt + k 

Ardından projenizi yeniden çalıştırmayı deneyin. Umarım bu sorunu çözer.


1
Yaptı. temiz başarılı oldu. Ben başarısız
Test Test

1
başarısız kardeş inşa et.
Test

1
Benim durumumda bir cazibe olarak çalıştı!
Heitor

5

Bu sorun .dae ve .png dosyalarını ekledikten ve .dae'yi XCode Editor ile SceneKit sahne dosyası formatına (.scn) dönüştürdükten sonra başıma geldi.

Biraz daha araştırma yaptıktan sonra çözümü burada buldum - https://forums.developer.apple.com/thread/109951#336225

Sorunu çözmek için adımlar:

  1. XCode'da Tercihler'e gidin
  2. Yerler sekmesine tıklayın
  3. Komut Satırı Araçlarında, XCode 10.1 açılır listesinden seçin

3

Xcode'da: Mevcut kullanıcının Tercihler Çıkışına gidin.

Xcode'u kapat

Anahtar Zincirinde: Oturum Açma ve Tüm öğelere git

        - Sort by kind
             - remove "Apple Worldwide Developer Relation Certification Authority"
             - remove "Developer ID Certification Authority"
             - remove "iPhone Developer ...."

Xcode'u açın

Tercihler'e gidin ve kullanıcı apple hesabınıza giriş yapın

  • Bu, daha önce sildiğiniz geliştirici sertifikalarınızı yeniden yükleyecektir Projeyi yeniden oluşturun (Başarılı bir yapı olmalıdır)

Derlemeyi yerel cihazınızda çalıştırın


3

Benim durumumda aşağıdaki hatalar vardı:

İmza Kimliği: "-"

… ..Mobile.app: kaynak çatalı, Bulucu bilgileri veya benzer kalıntılara izin verilmez

Komut CodeSign, sıfır olmayan bir çıkış koduyla başarısız oldu

sorun, kaynaklar klasöründe varsayılanlarda gizlenmiş .png uzantılı bazı dosyalarım olmasıydı.

FINDER'da dosyayı bulun, işaretleyin -> cmd + i -> unchek Uzantıyı gizle

bundan sonra, Xcode -> kmd + shift + K'ye dönün ve yeniden oluşturun.

Umarım yardımcı olmuşumdur!


Çok teşekkürler! Bu yardımcı olur.
ZavtraMen

Diğer çözümleri denedim. Benim için işe yarayan tek çözüm bu.
andrewbuilder


3

Fix

Derlenmiş uygulama paketinde değil, kaynak dosyalarınızdaki genişletilmiş dosya özniteliklerini kaldırın:

  1. Açık Terminal

  2. Dizini kaynak dosyalarınızın kök dizinine değiştirin

    $ cd / Kullanıcılar / rjobidon / Belgeler / Benim \ Projem

  3. Tüm genişletilmiş öznitelikleri listeleyin

$ xattr -lr .
  1. Tüm genişletilmiş öznitelikleri kaldırın
$ xattr -cr .

Xcode hataları

  • "Komut CodeSign, sıfırdan farklı bir çıkış koduyla başarısız oldu"
  • "Kaynak çatalı, Bulucu bilgileri veya benzer ayrıntılara izin verilmez"

Sebep olmak

Apple bir güvenlik sertleştirme değişikliği getirdi, bu nedenle kod imzalama artık bir uygulama paketindeki herhangi bir dosyanın kaynak çatalı veya Finder bilgisi içeren genişletilmiş bir özniteliğe sahip olmasına izin vermiyor.

Kaynaklar


2

Bu soruna neyin neden olduğundan emin değilim, ancak sorunu başarıyla çözmek için kullandığım yöntemlerden biri kakao kapsüllerimde kapsül güncellemesini çalıştırmaktı.

Hata (yine de benim için) bölmelerden birinin imzalanmasıyla ilgili bir sorun gösteriyordu. Bölmeleri güncellemek, bu imzalama sorununu çözdü.

pod update [PODNAME] //For an individual pod

veya

pod update //For all pods.

Umuyoruz ki, bu aynı "Komut CodeSign sıfırdan farklı bir çıkış koduyla başarısız oldu" hatasını alan birine yardımcı olacaktır.


Bir pod dosyam yok - dosya adının ve uzantının ne olması gerektiğinden bile emin değilim. Temizleyebilir misin?
Ride Güneş

Merhaba @RideSun, Projenize henüz pod eklememiş olabilirsiniz. Pod dosyası, "Podfile" olarak adlandırılır. Uzantısı yoktur, varsayılan olarak bir TextEdit dosyası olacaktır.
paul_f

2

Her şeyi denedikten sonra, çözümüm bazı PNG dosyalarını kaldırmak, oluşturmak ve çalıştırmak (tamam) ve PNG görüntülerini tekrar eklemek oldu. Tuhaf!


Benzer bir şey. .PNG uzantısı olmayan 5 .PNG dosyası eklendi, ilk birkaç yapı çalıştı, ardından IB'deki kontrolleri düzenledikten sonra yukarıdaki imzalama hatası "kaynak çatalı, Bulucu bilgisi veya benzer kalıntılara izin verilmiyor" mesajı ile oluştu. Döküntü? Bu kelimeyi kim kullanıyor? Dosyaların adlarını .PNG uzantısına sahip olacak şekilde değiştirerek sorunu çözdü.
Chris Walken

1

Diğer cevapların hiçbiri işe yaramadı. Yaptığım şey bu:

  1. sertifikamı anahtar zincirinden sildim;
  2. Xcode açıldı, sertifikayı yeniden oluşturdu;
  3. uygulamayı cihazda başarıyla çalıştırdı.

1

Benim için anahtarlığa gitmem, "oturum açma" anahtar zincirini seçmem, iOS Geliştirici: myname anahtarına çift tıklamam, erişim denetimi sekmesine tıklamam ve radyo düğmesini Tüm uygulamaların bu öğeye erişmesine izin ver olarak değiştirmem gerekiyordu.


1

Bu soruna projemin Release şemasında oluşturulması neden oldu. Başka şeylerden de kaynaklanabilir. XCode'da Ürün> Şema> Şemayı Düzenle'ye giderek derleme şemasını değiştirmeyi deneyin. Solda bulunan "Çalıştır" Bölümünde, "Yapılandırma Yapılandırması" nı "Hata Ayıkla" olarak değiştirin. Umarım bu yardımcı olacak.


1

Yukarıdaki çözümlerden hiçbiri benim için işe yaramadı. Bazı tahmin çalışmalarından sonra denedim (Xcode v10.2.1 cocoapods v1.7.1)

pod deintegrate

bunu takiben

pod install

Sonra:

  • Çalışma alanını Xcode'da açtı
  • Temizlenmiş yapı klasörü
  • Projeyi oluşturun

Derleme hatası yok.


1

Benim için çözüm şuydu: "Otomatik olarak yönet işareti" işaretinin üzerinde:

  1. hedefin takım açılır menüsünde "Yok" u seçin

  2. doğru geliştirme ekibini yeniden seçin

Hemen hemen her öneriyi denedikten sonra, bunun işe yaradığını buldum, çünkü Xcode imzalama işini sıfırdan kuruyor.


1

Popüler çözümlerin hiçbiri işe yaramadı.
Benim durumumda, hatayı şuraya giderek çözdüm:

XCode -> Tercihler -> Hesaplar -> Sertifikaları Yönetin

ve iOS geliştirmeye bir (+) ekledi .


1

Çözümümü göndereceğim. Bu çözüm benim için çalıştı, çünkü öncekilerin hiçbiri işe yaramadı. Sorun ilk olarak XCode cli araç setinin son güncellemesinden hemen sonra meydana geldi (bunun onay önyargısı olup olmadığından emin değiliz).

Bazı talimatları denedim (yani, Anahtar Zinciri Hilesinin Kilidini Açma).

Bir hata durumunda benim için ne işe yaradı:

  • Command CodeSign failed with a nonzero exit code (Something.framework)

    • DD İçeriğini Çöp Kutusu; rm -rf / Kullanıcılar / dx / Kitaplık / Geliştirici / Xcode / DerivedData / *
    • XCode'u yeniden başlatın
    • Derleme Aşamaları => Link Binary With Libraries
      • Something.framework,
    • Yerleştirme değerini ayarlayın General => Something.framework => EMBED
      • Do not embed
    • Basın Cmd+B(Proje Oluştur)
    • Umarım Başarılıdır

Yukarıdaki adımları gerçekleştirdiğimde, uygulamayı gerçekten başarılı bir şekilde oluşturdum, ancak Xcode bana şunu hatırlatıyor: neden: görüntü bulunamadı . Sorunu aşağıdaki adımla çözeceğim: HEDEFLER - Derleme Aşamaları - Çerçeveli İkili Bağlantı - Something.framework- Durum -> Optianl
Xuyee Wang

1

Apple Worldwide Developer Relations Certification Authority sertifikamın yanlış yapılandırılması nedeniyle bu sorunu yaşıyordum .

"Her Zaman Güven" den "Sistem Varsayılanlarını Kullan" a geçerek sorunu çözdüm

Adım adım:

  1. KeyChain'i açın
  2. "Giriş" anahtar zincirine tıklayın (kilidinin açıldığından emin olun - eğer kilitliyse Sağ tıklayın ve "Anahtar Zinciri Kilidini Aç" ı seçin)
  3. Sertifikalar'a tıklayın ve Apple Worldwide Developer Relations Certification Authority sertifikasını bulun
  4. Üzerine sağ tıklayın ve Bilgi al'ı seçin
  5. Güven bölümünü genişletin ve aşağıdaki ekran görüntüsüne göre Sistem Varsayılanlarını Kullan için ayarları değiştirin

görüntü açıklamasını buraya girin


1

Bunun nedeni, Kod imzalamanın artık bir uygulama paketindeki herhangi bir dosyanın bir kaynak çatalı veya Finder bilgisi içeren genişletilmiş bir özniteliğe sahip olmasına izin vermemesidir.

Bu hataya hangi dosyaların neden olduğunu görmek için, .app klasörüne gidin, normalde şuna benzer: / Users / XXXX / Library / Developer / Xcode / DerivedData / MyProject-ckbzynxqjmstxigbdwwkcsozlego / Build / Products / Debug-maccatalyst / (benimki Catalyst projesidir) Terminalde,

cd <above path>
xattr -lr .

Bazı dosyaların genişletilmiş özniteliğe sahip olduğunu göreceksiniz:

./MyProject.app/Contents/Resources/shopping_cart.png: com.apple.lastuseddate # PS: 00000000 BE 31 D5 5E 00 00 00 00 D0 40 FE 39 00 00 00 00 | .1. ^ ..... @ 0,9 .... |

Ardından proje klasörünüze veya bu dosyalar için başvurulan klasöre gidin, genişletilmiş özniteliği kaldırın:

cd /Users/XXXX/Work/MyProject
xattr -cr .

Başvurulan tüm klasörleri temizledikten sonra, Xcode'a gidin ve yeniden oluşturun.


0

Ben de art.scnassets klasörüne .jpg ve .png resimlerinin bir karışımını ekledikten, kod değişiklikleri yaptıktan ve bu değişiklikleri Xcode'un Kaynak Kontrolü> Tüm Değişiklikleri At ... menüsünden kaldırdıktan sonra bu hatayı gördüm.

Bu iş parçacığındaki diğer düzeltmeleri denedim ama sonuçta eklenen .jpg / .png dosyalarını silmem, projeyi temizlemem ve hataları ortadan kaldırmak için projeyi yeniden oluşturmam gerekti. Daha sonra orijinal .jpg / .png dosyalarını okudum ve şimdi kodu sorunsuz bir şekilde yeniden oluşturuyorum.


Diğer projemden birkaç hızlı dosya ve ayrıca bir png resmi ekledim. Bu png imaj projesini sildikten sonra başarıyla derleyin
Prashant


0

Bir .scnassets grubundaki iki .aiff dosyasını kopyaladıktan sonra bu hata oluştu. Dosyaların silinmesi ve "Temiz Yapı Klasörü" benim durumumdaki sorunu çözer.


0

Bunun kimseye yardımcı olup olmayacağından emin değilim - ancak Find Implicit Dependencieskontrol ettiğinizden emin olun . Bazen bu, projenizin belirli şeyleri nerede arayacağınızı "izini kaybetmesine" neden olabilir.


görüntü açıklamasını buraya girin


Bunu yaptıktan sonra, projenizi de temizlemenizi ve yeniden inşa etmenizi öneririm.

görüntü açıklamasını buraya girin


0

Bu benim için çalıştı :) Sertifikayı anahtarlık erişim ayarlarından kaldırdım. Xcode'a gidin ve uygulamayı oluşturun. Artık sertifika yeniden anahtar zinciri erişiminde oluşturulur ve yapı gerçek cihazla başarılı olur.


0

Sadece bir görselleştirme

Lock Keychain "login" -> Unlock Keychain "login" -> Always allow

görüntü açıklamasını buraya girin


0

Benim durumumda, yanlışlıkla açılan bir seçenekti. Hem iOS hem de macOS için ortak kök .xcconfig dosyalarını kullanıyorum, iOS hedefi için Sertleştirilmiş çalışma zamanını etkinleştir seçeneği açık kaldı, bu nedenle satırı değiştiriyorum

ENABLE_HARDENED_RUNTIME = YES

tarafından

ENABLE_HARDENED_RUNTIME[sdk=macosx*] = YES

.xcconfig dosyasında sorunu çözdü



0

Sorunum çözüldü

  • Target MyProject ve Add Team'de imzalamayı otomatik olarak yönet'i işaretleyin.
  • Target MyProjectTest ve Add Team'de imzalamayı otomatik olarak yönet'i işaretleyin.
  • Ürün -> Derleme Klasörünü Temizle -> Tekrar oluşturun veya cihazda çalıştırmayı deneyin.

Sorun, MyProject ve MyProjectTest'te yanlış / farklı ekibiniz olduğunda ortaya çıkar.

Yeniden oluşturmadan önce telefonunuzu yeniden bağlamak da bu sorunun çözülmesine yardımcı olabilir.

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.