2012-09-25 17 views
13

Xcode'ta yeniyim ve Interface Builder'ı kullanırken IDE kilitlenmesine ilişkin sorun yaşıyorum. Bu Xcode 4.5.Xcode Arabirim Oluşturucusu, storyboard düzenlediğimde çöküyor

Hikaye panosuna bir düzine veya başka düğme eklemek için yeterince uzun süre çalıştı - ancak bunlardan herhangi birini yeniden boyutlandırmaya çalıştığımda çöküyor ve çıkıyor. Bir düğmeyi hareket ettiririm, çöker. Etiket gibi yeni bir nesne eklerseniz, bazen çöküyor, ancak her zaman değil.

Hikaye panosunu düzenlemeye çalışmazsam, proje simülatörde sorun çıkarmadan çalışır ve çalışır.

Aşağıdaki kilitlenme raporunun ilgili bölümüne benzeyen bir şeyi yapıştırdım. Yerden tasarruf etmek için, 'görünüm hiyerarşisi' bölümünden her şeyi sildim, ancak yararlıysa ekleyebilirim. Tüm kilitlenme raporları aynı hatayı ifade eder. Bu dizin yok -

25/09/2012 10:46:35.661 Interface Builder Cocoa Touch Tool: CFPreferences: 
user home directory at file://localhost/Users/me/Library/Application Support/ 
iPhone Simulator/User/ is unavailable. User domains will be volatile. 

Doğru: Ben Konsol günlüğüne baktığınızda

İlginçtir, bu çöker her önce Interface Builder dan başka rapor var. IPhone Simulator/6.0'ım var ama başka bir şey yok. Bu yoldaki kullanıcı olarak giriş yaptım.

Yığın Taşması ve diğer yerlerde diğer önerilere dayanarak, derlemeyi temizledikten sonra tüm iPhone Simulator dizinini silmeyi ve simülatörün yeniden oluşturmasını sağlamayı denedim, ancak bu hiç farketmez.

Bir deneme olarak, yeni bir Proje oluşturdum ve bazı düğme ve etiketleri storyboard'a sürükledim. Bu iyi görünüyor. Kilitlenme yok.

Bu, diğer projemde bir şeyin bozulduğunu gösteriyor mu?

Her türlü öneri çok hoş karşılanacaktır. Bu önemli bir proje değil - bu aşamada yolumu öğreniyorum - ama bir şey sorunlara yol açıyorsa, Xcode'ta ciddi bir çalışmaya başlamadan önce onu sıralamak istiyorum.

Şimdiden teşekkürler.

James

Process:   Xcode [650] 
Path:   /Applications/Xcode.app/Contents/MacOS/Xcode 
Identifier:  com.apple.dt.Xcode 
Version:   4.5 (1839) 
Build Info:  IDEApplication-1839000000000000~3 
App Item ID:  497799835 
App External ID: 10747437 
Code Type:  X86-64 (Native) 
Parent Process: launchd [129] 

Date/Time:  2012-09-25 10:46:43.202 +0100 
OS Version:  Mac OS X 10.7.5 (11G56) 
Report Version: 9 

Crashed Thread: 0 Dispatch queue: com.apple.main-thread 

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 

Application Specific Information: 
ProductBuildVersion: 4G182 
ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-1926/IBPlugin/Utilities/IBObjectMarshalling.m:651 
Details: Failed to arbitrate IBNSLayoutConstraint, IBUIButton, IBUILabel, IBUIView, and IBUIViewController. 

Interface Builder encountered an error communicating with the iOS Simulator. If you choose to file a crash report or radar for this issue, please check Console.app for crash reports for "Interface Builder Cocoa Touch Tool" and include their content in your crash report. 

Exception name: IBAssertionFailure 
Exception reason: ASSERTION FAILURE: 
Reason:  All views needing candidate constraints have already had constraints generated. This most likely indicates a bug involving layout of the following views: 
Layout engine frame ({{20, 60}, {282, 57}}) of <UILabel: 0xb36f590; frame = (20 60; 281 57); text = '0'; clipsToBounds = YES; opaque = NO; autoresize = TM+BM; userInteractionEnabled = NO; layer = <CALayer: 0xb36f620>> does not match canvas frame ({{20, 60}, {281, 57}}) 
Layout engine frame ({{236, 328}, {66, 43}}) of <UIRoundedRectButton: 0xb384590; frame = (236 328; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb384660>> does not match canvas frame ({{236, 328}, {65, 43}}) 
Layout engine frame ({{236, 124}, {66, 43}}) of <UIRoundedRectButton: 0xb38ea10; frame = (236 124; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb38eae0>> does not match canvas frame ({{236, 124}, {65, 43}}) 
Layout engine frame ({{236, 175}, {66, 43}}) of <UIRoundedRectButton: 0xb390a30; frame = (236 175; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb36e8e0>> does not match canvas frame ({{236, 175}, {65, 43}}) 
Layout engine frame ({{236, 226}, {66, 43}}) of <UIRoundedRectButton: 0xb392a90; frame = (236 226; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb392b60>> does not match canvas frame ({{236, 226}, {65, 43}}) 
Layout engine frame ({{236, 277}, {66, 43}}) of <UIRoundedRectButton: 0xb394b70; frame = (236 277; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb394c40>> does not match canvas frame ({{236, 277}, {65, 43}}) 

cevap

15

Güncelleme: İleri deneyler storyboard için 'Use autoLayout' onay kutusunu saptandı. Bunu kapatıp dosyayı kaydetmeniz sorunu çözmüş görünüyor. Daha fazla çökme olmadan irade düzenleyebilirim.

+0

Aynı sorunu yaşıyorum ve aynı çökme gibi görünüyor, ancak bir storyboard kullanmıyorum. Film şeridindeki "Otomatik Kullan'ı Kullan" seçeneğini nerede kontrol ettiniz? Ya da bu onay kutusu başka bir yer mi? Teşekkürler –

+0

Ne zaman çöküyor? Uygulamanızın bir çeşit görüş içeren (boş) bir storyboard'u var mı? Onay kutusu denetleyicide - Arayüz Oluşturucunun sağ bölmesinde. Onu ** kapat ** açmak benim sorunumu çözdü. Bulamadıysan bana haber ver ve ekran yakala. İyi şanslar. – James

+1

Tek bir görünüm uygulamasında .xib düzenlerken çöküyordu; Xib için önerdiğin gibi "Autolayout kullan" seçeneğinin işaretini kaldırmak zorunda kaldım, teşekkürler –

1

Bu sorun büyük olasılıkla şimdi iki farklı büyüklükte iPhone ekranları retina (3.5" ve 4") ile bir ilgisi vardır ki görünümün Mod nasıl etkileşimde: ve Dolgu için Ölçeği belki Otomatik Boyutlandır subviews, ayrıca - - her ikisi de varsayılan olarak etkindir.

Örneğin, benim durumumda sıkıca kapatılmış düğme görünümleri olan bir 4 "retina boyutlu MainView'ım vardı, ancak emülatör 3.5 retina ekrana ayarlandı. Düğme görünümlerim yalnızca 43x43px boyutunda ve birbirinin hemen yanında aralıklıydı Bu durum, konumlarının 3.5 "ekran için ayarlandığı zaman üst üste binecek şekilde düğme konumlarının otomatik olarak küçültülmesine neden olacaktı (daha küçük ölçekli alan) - bunlar küçülmeyeceklerdi boyutunda. Bu örtüşen görüşlerin, otomatik düzen sisteminde sorunlara neden olması muhtemel görünüyor. Bu yüzden kaza, sanırım.

Ayrıca, daha önce sezgisel görünmeyen Interface Builder'da çalışmamıza rağmen, bu nedenle, çökme raporunda emülatör ile iletişim kurmaya yönelik bazı referansların olmasının bir neden olmadığı da şüphesiz.

+0

Anlaşmalı. Tuhaf olan şey, Auto Layout'u kapatırken kazayı düzeltirken, daha sonra tekrar açmanız ** bu sorunu geri getirmez **. Garip. Bunu seninkiyle denedin mi? Daha fazla problem yaşamadan onu bıraktım - bu da bana bir şeyin bozuk olduğunu düşündürüyor. – James

2

Xib dosyaları farklı biçimlerde olduğunda, ancak hepsi aynı projede olduğunda, bu gerçekleşir. Benim durumumda, bazı xib dosyaları xcode5 dp için uyumlu idi, ama diğerleri xib dosyalarında xcode 4.6

burada nesne farklılıklara bakmaktır

için

Umut bu gelecekte insanlara yardım oldu!

+1

Teşekkürler, bu benim sorunumu çözmüş görünüyor. –

1

Bu hatayı bekledim, benim için sorun, bazı kısıtlamaları olan bir TableView oldu. Tüm kısıtlamaları sildikten sonra hata ortaya çıktı.

İlgili konular