I am having a problem while trying to upload a photo with my iOS app in Phonegap. The error is:
2012-02-16 19:06:17.523 ContactExplorer[851:207] File Transfer Error: Invalid server URL
2012-02-16 19:06:17.623 ContactExplorer[851:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: target)'
*** Call stack at first throw:
(
0 CoreFoundation 0x01dfb5a9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x01f4f313 objc_exception_throw + 44
2 CoreFoundation 0x01db3ef8 +[NSException raise:format:arguments:] + 136
3 CoreFoundation 0x01db3e6a +[NSException raise:format:] + 58
4 CoreFoundation 0x01df9e15 -[__NSCFDictionary setObject:forKey:] + 293
5 ContactExplorer 0x00021990 -[PGFileTransfer createFileTransferError:AndSource:AndTarget:] + 153
6 ContactExplorer 0x00020c0b -[PGFileTransfer upload:withDict:] + 717
7 ContactExplorer 0x000157bf -[PhoneGapDelegate execute:] + 434
8 ContactExplorer 0x000029f0 -[AppDelegate execute:] + 80
9 ContactExplorer 0x000151e4 -[PhoneGapDelegate executeQueuedCommands] + 265
10 ContactExplorer 0x00015291 -[PhoneGapDelegate flushCommandQueue] + 81
11 ContactExplorer 0x00015600 -[PhoneGapDelegate webView:shouldStartLoadWithRequest:navigationType:] + 822
12 ContactExplorer 0x00002d3c -[AppDelegate webView:shouldStartLoadWithRequest:navigationType:] + 108
13 UIKit 0x00a93a92 -[UIWebView webView:decidePolicyForNavigationAction:request:frame:decisionListener:] + 291
14 CoreFoundation 0x01d6bc7d __invoking___ + 29
15 CoreFoundation 0x01d6bb51 -[NSInvocation invoke] + 145
16 CoreFoundation 0x01d99858 -[NSInvocation invokeWithTarget:] + 72
17 WebKit 0x0283cc76 -[_WebSafeForwarder forwardInvocation:] + 182
18 CoreFoundation 0x01d6ca04 ___forwarding___ + 1124
19 CoreFoundation 0x01d6c522 _CF_forwarding_prep_0 + 50
20 CoreFoundation 0x01d6bc7d __invoking___ + 29
21 CoreFoundation 0x01d6bb51 -[NSInvocation invoke] + 145
22 WebCore 0x03330150 _ZL20HandleDelegateSourcePv + 64
23 CoreFoundation 0x01ddc8ff __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
24 CoreFoundation 0x01d3a88b __CFRunLoopDoSources0 + 571
25 CoreFoundation 0x01d39d86 __CFRunLoopRun + 470
26 CoreFoundation 0x01d39840 CFRunLoopRunSpecific + 208
27 CoreFoundation 0x01d39761 CFRunLoopRunInMode + 97
28 GraphicsServices 0x023781c4 GSEventRunModal + 217
29 GraphicsServices 0x02378289 GSEventRun + 115
30 UIKit 0x0090ac93 UIApplicationMain + 1160
31 ContactExplorer 0x0000246f main + 127
32 ContactExplorer 0x000023e5 start + 53
33 ??? 0x00000001 0x0 + 1
)
terminate called after throwing an instance of 'NSException'
I googled the error but there is no description for key:target.
Read more close:
[__NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: target)
You are trying to set NIL to some dictionary object. We can’t find this place in your code using error log.
Check also if you set all arguments properly into objects you’re using (several of them you can see in your stack trace). It is possible that exception occurred within some of them.
* UPDATED:
When I see these lines:
I can suggest than this error was born in PhoneGapDelegate. It uses PGFileTransfer who uses dictionary. And then crash. Some data you provide causing to this. The problem can be also in early realizing of your arguments.
Few lines of code could help. Especially PhoneGap’s creation, delegate and custom callbacks.