2011-04-18 85 views
3

任何人都知道我爲什麼從ibtool得到這個崩潰?在xib資源文件上運行ibtool時,doesNotRecognizeSelector異常

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,其中設置了佔位符文本。

即使刪除佔位符文本也不能解決問題,因爲Interface Builder會在.xib中留下糞便。完全刪除搜索欄並添加新的搜索欄而不設置佔位符文本可修復該異常。

解決此問題的一種解決方法:使用$DEVELOPER_DIR/usr/bin/ibtool3這似乎是該工具的舊版本。

+0

我有同樣的問題,重新創建沒有佔位符的UISearchBar解決了它。謝謝。 – Michal 2011-06-09 14:52:43

+0

我提交了雷達#9579250 – Michal 2011-06-09 15:25:56

+0

@Michal:請考慮將它添加到http://www.openradar.me/! – hop 2011-06-10 01:07:42