Xcode

2013-09-25 27 views
15
i i po object yazmak için kullanılan ve iyi çalışmak için kullanılan 5. Xcode yükselttikten sonra lldb debugger ile konsoldan sorun hata ayıklama yaşıyorum

ancak şimdi hata alıyorum nesneleriXcode

error: instance method 'performBlock:afterDelay:' has incompatible result types in different translation units ('id' vs. 'void') 
note: instance method 'performBlock:afterDelay:' also declared here 

Burada yığının screenshot, hata ayıklayıcının durduğu kod, görsel hata ayıklayıcısındaki değerler ve hata ayıklama konsolu yer almaktadır. sorun ne olabilir, xcode 5'de bir hata mı yoksa bunu düzeltmek için yapabileceğim bir şey var mı?

+0

Xcode 5 hata ayıklayıcısı benim için harika çalışıyor ve ben her zaman "p" ve "po" komutlarını kullanıyorum ... run yapılandırmanızın aslında "debug" ve "release" olarak ayarlanmadığından emin oldunuz mu? (bu tipik olarak bunları)? –

+1

Yukardakileri düzenleyin: en azından Xcode'um için, eğer run konfigürasyonunu 'release 'olarak ayarlarsanız, aslında break noktalarını göz ardı eder ... Ayrıca' code generation'> '' optimizasyon seviyesi' '' build settings' üzerinden değiştirmeyi denedim, Bu da bunu yeniden yapmadı ... ne değiştiğinden emin değilsin ... yani, +1 ve umarım benden daha parlak biri size yardımcı olabilir. : D –

+0

@ JRG-Developer, çalıştırma yapılandırması 'debug' olarak ayarlandı. Ben sadece proje için gerekli olan ve aksi halde derlemeyen iokit frameworküne bir sembolik link verdim (bir linker hatası verir, apple, xcode 5 göndermeden önce diğer framework kök dizinlerinin aksine framework root dizinine bir sembolik link oluşturmamıştır) – akaralar

cevap

7

Bu sorunu düzeltmenin bir yolunu buldum.

- (void)performBlock:(void (^)(void))block afterDelay:(NSTimeInterval)delay; 

Ama (burada BlocksKit) bir üçüncü şahıs çerçeve yönteminin aynı tür bildirerek edildi:

- (id)performBlock:(void (^)(void))block afterDelay:(NSTimeInterval)delay; 

sorun benim kişisel iç çerçeve denilen NSObject üzerinde bir kategoride bir yöntem bildirerek olmasıydı Bu ikisi LLDB'nin çalışma zamanına müdahale ediyor ve bu garip mesajı üretiyor gibiydi. Düzeltmek için, yöntem ismini değiştirdim. Bu sizin için çalışıyorsa lütfen bana bildirin.

+0

bunu benim için çözdü, siz erkeğin teşekkürler! – akaralar

+0

Bir sabah hoşgeldiniz diye duyduğuma sevindim! :-) – MonsieurDart

+0

Herkes bu sorunu varsa ve UIKitCategoryAdditions projesini kullanıyorsa, NSObject üzerinde yalnızca bu soruna neden olan bir kategoriye sahiptir. Bu projeyi kullanıyorsanız, yukarıdaki düzeltmeyi şiddetle tavsiye ediyorum. –