AndrewShmig / Vkontakte-iOS-SDK-LV

[iOS] Powerful & flexible Vkontakte iOS SDK Latest Version
79 stars 23 forks source link

Падает после запроса без авторизации. #105

Closed proAlexandr closed 10 years ago

proAlexandr commented 10 years ago

Добрый день. Если я пытаюсь выполнить запрос без указания пользователя, то все падает с ошибкой.

2014-07-28 18:11:10.307 Zephyr[43965:607] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: access_token)'
*** First throw call stack:
(
    0   CoreFoundation                      0x02fb41e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x029878e5 objc_exception_throw + 44
    2   CoreFoundation                      0x0303deb8 -[__NSDictionaryM setObject:forKey:] + 888
    3   CoreFoundation                      0x03042b7f -[NSMutableDictionary setObject:forKeyedSubscript:] + 47
    4   Zephyr                              0x000f1d65 -[VKRequest start] + 869
    5   Zephyr                              0x00104f10 -[VKRequestManager configureRequestWithHTTPMethod:methodName:queryParameters:selector:] + 592
    6   Zephyr                              0x000f6e01 -[VKRequestManager info:] + 113
    7   Zephyr                              0x0000dc2b -[CommonUser getVKPosts] + 235

Падающий код

- (void)getVKPosts {
    VKRequestManager *rm = [[VKRequestManager alloc] initWithDelegate:self]; 
    [rm info:@{@"user_ids": @"christian.burns"}];
}

Насколько я разобрался, возможно проблема в этой строчке (VKRequest::start)

self.HTTPQueryParameters[@"access_token"] = item.accessToken.token;
AndrewShmig commented 10 years ago

@proAlexandr сейчас проверим :)

proAlexandr commented 10 years ago

@AndrewShmig Забыл уточнить, что у меня установлена версия 4.7.14, на последней версии из репозитория не тестировал.

AndrewShmig commented 10 years ago

@proAlexandr попробуйте обновиться. Я сейчас перепроверю, на всякий пожарный.

proAlexandr commented 10 years ago

Спасибо, заработало :)

AndrewShmig commented 10 years ago

@proAlexandr вам спасибо, нашел недочет при кэшировании запросов. Оказывается кэш не будет работать для "анонимных" запросов, когда requestManager.user == nil. Сейчас буду думать, как лучше исправить.

AndrewShmig commented 10 years ago

@proAlexandr исправлено :) Кэширование анонимных запросов теперь работает на ура!