iphone'da "Komut / bin / sh çıkış kodu 1 ile başarısız oldu" sorunu nasıl çözülür


93

Uygulamamda bir kakao statik kitaplığı kullandım. Kitaplığımı derlediğimde şu hatayı aldım:

Shell Script invocation error:can't open input file:
/Users/sijuthomas/Library/Developer/Xcode/DerivedData/SCXML2-
    bbttehupryhijphhjdiemcytkvgy/Build/Products/Debug-iphonesimulator/
    libSCXMLParser.a (No such file or directory)
Command /bin/sh failed with exit code 1

Hata için ekran görüntüsü

Bunu nasıl düzeltebilirim?

Yanıtlar:


208

 Hedef -> Yapım Aşamaları -> güncelleme örnekleri

Seçilmemişse On Run onay kutusunu tıklayın.


2
Bu onay kutusu, Build Phases → Bundle React Native kodu ve görüntüleri altında olabilir.
rishat

4
benim için bu, telefonda uygulama oluştururken / yüklerken çalışıyor, ancak arşivlerken
işe yaramıyor

Bu cevap doğrudur. Ama tümden derleme modu için Generc iOS Cihazı ayarlandığında ... hatayı tekrar al @Harshad
reza_khalafi

@reza_khalafi, net verilere sahip olduğunuzdan ve türetilmiş verileri sildiğinizden emin olun. sonra tekrar deneyin.
Harshad

1
@Harshad İnşa ederken çalışıyor ancak arşivleme için değil
NGB

63

Bu sorunu yaşadım çünkü anahtarlık erişimini reddettiğim ve çözmek için anahtar zincirini açmanız gerekiyor, ardından tekrar kilitlemek için ekranın sağ üstündeki kilide tıklayın, daha sonra arşivleyebilirsiniz ve çalışacaktır


3
ÇOK TEŞEKKÜR EDERİM! Btw, en azından benim için kilit sol tarafta. Açıktı ve kapatmak zorunda kaldı.
Eironeia

Bu çözümü maalesef hatırlamadığım bir kaynaktan paylaştım.
Salem Binmusaed

Ürünü arşivlemeye çalışırken 134 çıkış kodunu aldım, ancak uygulamayı cihaza yükleyebilirim, anahtar zincirini açtım ancak kilidi herhangi bir yerde bulabilir misiniz, Xcode sürüm 9.2, gerçekten yardıma ihtiyacım var
showmyroutes

43

"Türetilmiş Verileri" silmek benim için çalıştı.

Xcode'da Dosya> Çalışma Alanı Ayarları'na gidin> Türetilmiş Veri dosya yolunun yanındaki oku tıklayın> "Türetilmiş Veriler" klasörünü çöp kutusuna taşıyın.


1
Hangi Xcode sürümünden bahsediyorsunuz? ... Xcode 6.2
CthulhuJon

2
windows-> Organizatör, Windows Projeleri değil
CthulhuJon

işe yarıyor ancak projeyi temizlemesi ve benim için
Xcode'u

1
Dosya-> Çalışma Alanı Ayarları ...-> Türetilmiş Veriler. Yolun sonundaki oka tıklayın. Klasöre sağ tıklayın ve çöp kutusuna taşıyın. iOS 10.12.6
Augustas

30

Görünüşe göre bir kabuk komut dosyası çalıştırıyorsunuz ve belirli dosyanızı bulamıyor. Target -> Build-Phases -> RunScriptBir komut dosyası çalıştırıp çalıştırmadığınıza bakın .

Derleme çıktınızda (gezgin panelinde) bir komut dosyasının çalışıp çalışmadığını kontrol edebilirsiniz. Komut dosyanız yanlış bir şey yaparsa, inşa aşaması durur.


SKM cevabımı düzenledim. Statik kitaplığınızı bulmak için bu betiği oluşturan Xcode olabilir. Bu arada, dosyayı /Users/sijuthomas/Library/Developer/Xcode/DerivedData/SCXML2-bbttehupryhijphhjdiemcytkvgy/Build/Products/Debug-iphonesimulator/libSCXMLParser.a'da bulamadığı için derlenmiyor. Bu yüzden oraya
eklediğinizden

19

Ben de aynı sorunu çözdüm. Xcode 6.4'teki sorunu çözmek için aşağıdaki adımları kullanın .

  1. Tıklayın göster proje gezgini içinde Navigator penceresinin
  2. Şimdi gezgin penceresinin hemen altındaki projeyi seçin
  3. Hedef Seçin
  4. Derleme Aşamaları sekmesini seçin
  5. Açık Run Script açılan seçeneği
  6. Seç Çalıştır komut yalnızca yükleme onay kutusu

Adımlar için ekran görüntüsü

Şimdi projenizi temizleyin (cmd + shift + k) ve projenizi oluşturun.


Kabul edilen cevap bu olmalıdır. Çöp kutusu / sh sorunu için çözüm budur.
Yash Bedi

9

Derleme klasörünü temizlemek (Cmd + Shift + Alt + K) benim için çalıştı


3

1) Pod klasörünü ve .xcworkspace dosyasını silin 2) Klasörü terminalde açın 3) "pod install" yazın


1

.A kitaplığını xcode projesine eklediniz mi? (proje -> inşa aşamaları -> İkili kütüphaneleri kitaplıklar ile bağlayın -> '+' -> 'diğerini ekle'yi tıklayın -> kütüphanenizi seçin)

Ve belki kütüphane simülatör ile uyumlu değildir, iDevice için derlemeye çalıştınız mı (simülatör değil)?

(İkinci problemle zaten mücadele ettim, simülatörle çalışmayan, ancak derlediği gerçek bir cihazla çalışan bir kütüphanem var ...)


1

Benim için sertifikamın süresi doldu. Yeni bir sertifika oluşturdum.


0

Xcode (7) 'yi yeniden başlatmayı denedim ve hiçbir şey yapmadım ( benim için iOS geliştirmede onu kapatıp tekrar açmayı denediniz mi :-)). Daha sonra kutumu yeniden başlatmayı denedim ve bu işe yaradı.

Benim durumumda, bir dosyayı bir konumdan diğerine kopyalarken komut dosyası başarısız oluyordu. Finder'ın belirli klasörler üzerindeki yazma haklarıyla ilgili olabileceğini düşünüyorum.


0

Benim için bu hata oluşuyordu çünkü sürüm numarasını 1'den 1.0'a ve yapı numarasını 6'dan 1.1'e kodu kaynak ağacından çekerken değiştirdim. Sadece geri değiştirdim ve yapı numarasını 6'dan 7'ye değiştirdim ve iyi çalıştı.


0

Benim durumumda, komut dosyasında başarısız olan yolda boşluk vardı. $PROJECT_DIRVeya gibi değişkenler kullanıyorsanız, $TARGET_BUILD_DIRbunları değiştirin "$PROJECT_DIR"veya "$TARGET_BUILD_DIR"sırasıyla. Tırnak ekledikten sonra betiğim başarıyla çalıştı.


0

sadece komut dosyanızı bir dosyaya koyun ve bu dosyayı komut satırının sonunda 2> / dev / null ile çalıştırın !

Bu şekilde, komutla ilgili herhangi bir sorun varsa, xcode derlemenizi durdurmaz.

benim durumumda, uygulamanın önceki kopyasını bağlı bir iphone'dan kaldırmak için sadece bir komut çalıştırıyordum, böylece iphone orada değilse bir hata verebilir. Çözmek için:

$mobiledevice uninstall_app com.my.app 2>/dev/null



0

Yukarıdakilerin hepsini yaptım ve konuyla ilgili bir saat geçirdim.

Yukarıdaki her şeyi denedim ve Xcode'u yeniden başlattım.

Sonunda, bilgisayarı yeniden başlattı ve her şey normal şekilde tekrar çalışıyor!


1
Bu gönderiye yanıtla birlikte hiçbir şey eklemediniz. Bilgisayarı yeniden başlatmak, neyin yanlış olduğunu açıklamaya yardımcı olmadığından bir yorum olabilir.
Bojan Petkovic

Bazı garip sorunlar, türetilmiş veriler silindi ve değiştirilmiş / değiştirilmemiş yeni yapı sistemi. Ama yeniden başlattıktan sonra iyiydim!
Oritm

0

Benim için işe yaramayan şeyleri ve sonunda neyin işe yaradığını listeleyeceğim

İlk olarak, sadece yükleme sırasında çalıştırma komut dosyasının kabul edilen yanıtı işe yaramadı.

Türetilmiş verilerin silinmesi işe yaramadı.

Ne işe yaradı:

  1. Derleme Aşamalarında yeni bir derleme aşaması ekledim

  2. Yeni Dosya Kopyalama Aşaması

  3. Seçilen çerçeveyi bırakma hedefine sürükleyip bırakın

  4. 'Hedefi' Çerçeveler olarak ayarlayın

Kevin Le'nin Medium gönderisinden dolayı kredi


0

Bu seçeneğin işaretini kaldırmak istemeyenler için (örneğin cocoapod kullanarak), sorun sertifika / anahtarla ilgili olabilir.

Xcode'un (veya bir komut satırı aracı gibi, kullandığınız herhangi bir aracın) anahtar zincirindeki sertifikayı / anahtarı kullanabilmesi gerekir. Bunun için Anahtar Zinciri'ni açın, kullanmak istediğiniz sertifikayı bulun (Genellikle loginanahtar zincirinde My Certificates), tuşa sağ tıklayın, seçin Get Info, Access Controlsekmeye tıklayın ve uygulamayı listeye ekleyin.

Bu işe yaramazsa, anahtar zincirinin kilidini açmayı deneyin.

Diğer bir seçenek, belirli uygulamalar yerine Tüm uygulamaların bu öğeye erişmesine izin ver seçeneğini seçmek ve / veya sertifikayı / anahtarı Systemo Mac'teki tüm kullanıcı hesapları arasında paylaşılan anahtar zincirine taşımak olabilir .

Ayrıca sertifikanın süresinin dolmadığını da kontrol edin.



0

Benim durumumda, komut dosyasından biri (ile ilgili SwiftGen) derleme sırasında başarısız oluyordu.

Sorunu kaldırıp Podstekrar güncelleyerek düzelttim .

  1. PodsDizinin altındaki sorunlu bölmeyi kaldırın veyapod deintegrate
  2. pod installVeya kullanarak bölmeleri kurun / güncelleyinpod update

Not: Bağımlılığınızın Global olması ve bölmelerde olmaması mümkündür. Bu durumda, bu bağımlılığı yeniden yüklemeyi de deneyebilirsiniz.


0

Crashlytics kullanıyorsanız VE BU SORUNU YAŞIYORSANIZ BUNU OKUYUN ...

Yukarıdakiyle aynı sorunu yaşıyordum Command /bin/sh failed with exit code 1Daha spesifik[31merror: Could not fetch upload-symbols settings: An unknown error occurred fetching settings.[0m

İlk çözüm (çalıştırma betiğini yalnızca kurulum sırasında etkinleştirmek) simülatörde hedefimi oluşturmama izin verdi, ancak yapımı arşivleyemedim.

Firebase'de Crashlytics'i etkinleştirerek bu Arşiv sorununu çözdüm. Hala Crashlytics'in otomatik olarak etkinleştirildiği Fabric'e alışkınım. İlgili GoogleService-Info.plist için firebase konsolunda Crashlytics'i etkinleştirdiğimde, bu hata olmadan Arşivleyebildim.


-1

Tüm bölmeleri çıkarın ve yeniden kurun.

Adımlar:

  1. tüm bölmeleri yorumla ve çalıştır pod install
  2. tüm kapsülleri kaldırın ve çalıştırın pod install
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.