2011-04-18 3 views
3

Кто-нибудь знает, почему я получил этот крах от ibtool?doesNotRecognizeSelector exception во время работы ibtool в файлах ресурсов xib

ibtool --generate-strings-file "my.strings" "myViewController.xib"

Результат:

2011-04-18 17:49:41.848 ibtoold[32147:107] -[NSCFString count]: unrecognized selector sent to instance 0x20055f7e0 
<?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>Exception while running ibtool: -[NSCFString count]:  unrecognized selector sent to instance 0x20055f7e0 
Backtrace: 
    0 0x00007fff81780796 __exceptionPreprocess (in CoreFoundation) 
    1 0x00007fff8300e0f3 objc_exception_throw (in libobjc.A.dylib) 
    2 0x00007fff817da110 +[NSObject(NSObject) doesNotRecognizeSelector:] (in CoreFoundation) 
    3 0x00007fff8175291f ___forwarding___ (in CoreFoundation) 
    4 0x00007fff8174ea68 _CF_forwarding_prep_0 (in CoreFoundation) 
    5 0x00000001000ea974 IBAppendStringsfileEntries (in IDEInterfaceBuilderKit) 
    6 0x00000001000eac4b IBGenerateStringsfile (in IDEInterfaceBuilderKit) 

ответ

3

Это кажется ошибка в новой версии от ibtool. В моем случае это был UISearchBar, в котором был установлен текст заполнителя.

Даже удаление текста заполнителя не решает проблему, так как интерфейс Builder оставляет пометки в .xib. Исключение панели поиска полностью и добавление нового без установки текста заполнителя исключает исключение.

Обходной путь для этой проблемы: используйте $DEVELOPER_DIR/usr/bin/ibtool3, который, кажется, является старой версией инструмента.

+0

У меня была такая же проблема, и воссоздание UISearchBar без замены заполнителя. Спасибо. – Michal

+0

Я подал радар # 9579250 – Michal

+0

@Michal: пожалуйста, подумайте о добавлении его на http://www.openradar.me/! – hop