よし、Cordova 2.1 CDVInvokedUrlCommand.m には、URL で何らかの目的を持つ関数 -(void)legacyArguments があります。私の問題は、変数 _arguments が nil に設定されているときに Cordova のコードが legacyArguments を呼び出し、アプリをクラッシュさせることです。_arguments == nil が常に false を返し (nil であるか値があるか)、[_arguments count] がアプリをクラッシュさせるかどうかを確認してください。
アプリをクラッシュさせる行は...
NSMutableArray* newArguments = [NSMutableArray arrayWithArray:_arguments];
今のところ修正するには、_arguments が nil でないことを確認する必要がありますが、信頼できる方法が見つかりません。おそらく、上記の呼び出しを行う「安全な」方法や、nil の場合にアプリをクラッシュさせない _arguments をチェックする別の方法がありますか?
編集:リクエストされたので...
-[__NSCFConstantString count]: unrecognized selector sent to instance 0x8ee98
2012-09-20 11:04:59.825 EESEmployee[50307:15b03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString count]: unrecognized selector sent to instance 0x8ee98'
*** First throw call stack:
(0xf4c012 0x262de7e 0xfd74bd 0xf3bbbc 0xf3b94e 0x1ad30 0x66dcd 0x665fe 0x669d9 0x26416b0 0x13e0035 0xecff3f 0xecf96f 0xef2734 0xef1f44 0xef1e1b 0x314a7e3 0x314a668 0xd165c 0x2ce6 0x2c15)
libc++abi.dylib: terminate called throwing an exception