Soru Interface Builder, mevcut olmadığı için “.xib” belgesini açamadı.


Listelenen adımları uygulayarak bir uygulamayı yerelleştiriyorum İşte. Bunu yaklaşık 45 .xib ile başardım, sadece 4 tanesi bana bu hatayı veriyor:

"Interface Builder, belgeyi" .xib "dosyasını açamadı çünkü mevcut değil."

onları orijinal konumlarından taşıdığımda. Proje / Sınıf / Örnek.xib konumlarından Proje / en.lproj / Örnek.xib üzerindeki yerelleştirilmiş olana taşımaya çalışıyorum.

Neden bu .xib dosyaları taşınamaz?


21
2018-01-23 08:16


Menşei


XCode kullanarak onları taşıdınız mı? veya Finder kullanarak? XCode içine bunu yaparken herhangi bir hata üretmemelidir. Finder ile yaptığınız gibi, NIB dosyalarını yerelleştirmek, projede seçmek, Utilities görünümü> Dosya Denetçisi'nde Localizations bölümünde '+' öğesini seçin.
Tamam! Neredeyse herkes için çalıştı. Ama hala işe yaramayan bir tane var. Nedenini anlamıyorum. .Xib'yi seçiyorum, Dosya Denetçisini aç, "+" düğmesiyle İngilizce yerelleştirmesi ekle ve derle. Aynı hata açılır .... - MrSueko


Cevaplar:


Benim için böyle çalışır:

  • proje hedefini seç
  • dosyayı build phases sekme copy bundle resources
  • yeniden eklemek build phases çıkıntı

40
2017-11-01 11:52



Bu sadece çalışma saatimi kurtardı - ngoue
Bir dosyayı yeniden adlandırdıktan sonra dosyayı (eski adı silinen dosya veya dosyayı) Oluşturma Aşamaları sekmesinden kaldırmak çözümdür! Teşekkürler! - septerr
Thx, benim için çalış - Joe Hallenbeck
Seni seviyorum. Teşekkür ederim. - Andrew Kozlik
Wau ne "FIX" :) - Renetik


Iki farklı dizinde .xib dosyaları üzerinde ibtools çalıştırırken aynı hatayı yaşadım. İlk dizindeki dosyalar ile iyi çalıştı, ancak ikinci dizindeki dosyalarda başarısız oldu. Dizinleri işlem sırasını değiştirdim, ikinci dizin için hala başarısız oldu.

Sonunda ibtoolün ibtool bittiğinde sonlanmayan ibtoold iblisini başlattığını keşfettim ve eğer bu süreci öldürdüysem hataya artık sahip değildim. Görünüşe göre iblisin, başka bir dizinde çalışmasına engel olan bir durumu var.

kullandım pkill ibtoold şeytanı öldürmek için.


12
2017-12-10 09:35



killall -9 ibtoold benim için daha iyi çalıştı. Ödeme yararlı senaryo ve makale. - DanSkeel


Aynı sorun olabilir Xcode 5 kullanarak bir sorun yaşıyorum. ibtools, xib dosyalarına / dizinden yerel dizeler oluştururken veya yazarken rasgele çalışır. Çalışması için bazı xib dosyalarında sudo kullanmalıydım. İşte bir örnek:

$ibtool --generate-strings-file en.lproj/MyVC.strings en.lproj/MyVC.xib
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"     
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.ibtool.errors</key>
<array>
    <dict>
        <key>description</key>
        <string>Interface Builder could not open the document "MyVC.xib" because it does not exist.</string>
    </dict>
</array>
</dict>
</plist>

Sudo çalışmaları, 'kullanıcı alan adlarının uçucu olacağını' düşünmesine rağmen

$sudo ibtool --generate-strings-file en.lproj/MyVC.strings en.lproj/MyVC.xib
2013-10-01 10:04:35.943 Interface Builder Cocoa Touch Tool[1717:303] CFPreferences: user       
home directory at file:///var/root/Library/Application%20Support/iPhone%20Simulator/User/ is unavailable. User domains will be volatile.
$

5
2017-10-01 14:19





Bana göre bu Git birleşiminden sonra oldu. Proje dosyası o kadar değişmiş olmalı ki şu anda tüm bu hataları veriyor. Bu hassas proje dosyaları ...

Her neyse, sonuçta yaptığım şey sadece dosyaları projeden kaldırmak (Çöp Kutusu'na göndermek) ve ardından projeye yeniden eklemektir. git checkout other_branch path/to/file

Bundan sonra, proje oluşturmak artık bu hatayı atmadı.

  • Sadece referansı kaldırır ve dosyayı yeniden projeye eklerseniz (Çöp Kutusu'na göndermenize gerek yoktur) iyi çalışır gibi görünüyor.
  • Önemli Herhangi bir kırmızı dosyayı Build Phases - Compile Sources Hedefinizin ayarlarının Bunlar XCode'un hala orada olduğunu düşündükleri ve hala derlemeye çalıştıklarını düşündükleri dosyalardır, ancak onları bulamadığında bu hatayı geri verir.

4
2017-10-04 09:34