2011-04-18 6 views
3

ibtoolからこのクラッシュが発生する理由を知っている人は誰ですか?xibリソースファイルでibtoolを実行しているときにNoRecognizeSelector例外が発生する

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に糞を残してしまうため、この問題は解決されません。検索バーを完全に削除し、プレースホルダテキストを設定せずに新しい検索バーを追加すると、例外が修正されます。

この問題の回避策の1つは、ツールの古いバージョンであると思われる$DEVELOPER_DIR/usr/bin/ibtool3を使用します。

+0

私は同じ問題を抱え、プレースホルダーなしでUISearchBarを再作成して解決しました。ありがとうございました。 – Michal

+0

私はレーダーを提出しました。#9579250 – Michal

+0

@Michal:http://www.openradar.me/に追加することを検討してください! – hop

関連する問題