iOS загрузить фото - PullRequest
       9

iOS загрузить фото

0 голосов
/ 16 февраля 2012

У меня возникла проблема при попытке загрузить фотографию с помощью моего приложения iOS в Phonegap.Ошибка:

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'

Я погуглил ошибку, но нет описания для ключа: цель.

1 Ответ

4 голосов
/ 16 февраля 2012

Подробнее закрыть:

[__NSCFDictionary setObject: forKey:]: попытка вставить нулевое значение (ключ: цель)

Вы пытаетесь установить NIL для некоторого объекта словаря. Мы не можем найти это место в вашем коде, используя журнал ошибок.

Проверьте также, правильно ли вы установили все аргументы для объектов, которые вы используете (некоторые из них вы можете увидеть в трассировке стека). Возможно, что исключение произошло в некоторых из них.

* ОБНОВЛЕНО: Когда я вижу эти строки:

5   ContactExplorer                     0x00021990 -[PGFileTransfer createFileTransferError:AndSource:AndTarget:] + 153
6   ContactExplorer                     0x00020c0b -[PGFileTransfer upload:withDict:] + 717
7   ContactExplorer                     0x000157bf -[PhoneGapDelegate execute:] + 434

Я могу предложить, чем эта ошибка родилась в PhoneGapDelegate. Он использует PGFileTransfer, который использует словарь. А потом сбой. Некоторые данные, которые вы предоставляете, приводят к этому. Проблема может быть и в раннем осознании ваших аргументов.

Несколько строк кода могут помочь. Особенно создание PhoneGap, делегирование и пользовательские обратные вызовы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...