Closed sartemd174 closed 10 years ago
Вы используете Xcode 4?
Я использую XCode 5.0.2
Вообще, приведённый вами код - неправильное использование SDK.
После авторизации [VKSdk authorize:@[VK_PER_FRIENDS, VK_PER_WALL, VK_PER_PHOTOS, VK_PER_NOHTTPS, VK_PER_MESSAGES] revokeAccess:YES];
нужно поймать событие делегата, оповещающее о получении нового токена (ведь это асинхронная операция), а затем выполнять запросы. Возможно, ошибка происходит вследствие переполнения стека при вызове [error.vkError.request repeat];
. Попробую изменить такое поведение
Я сделал небольшой фикс, чтобы ошибки отсылались в асинхрон. Но вам всё равно нужно исправить ваш код, и совершать запросы только после получения токена доступа.
Здравствуйте, уже несколько дней не могу разобраться с непонятной причиной падения приложения при попытке выполнить запрос. Опишу подробно последовательность моих действий: 1)Создаю podFile. Делаю pod install. Библиотека успешно устанавливается. Запускаю только что созданный workspace. И сразу же у меня повляются ошибки на 2 строчки из VKSdk.h
@import Foundation; @import UIKit;
Не долго думая, я удалил обе строки 2) Затем прописал URLTypes, в свой .h файл добавил#import
@interface MainViewController : UITableViewController <UITableViewDataSource, UITableViewDelegate, VKSdkDelegate>
3) Далее в основном файле пытаюсь авторизоваться и сделать небольшой запрос[VKSdk initializeWithDelegate:self andAppId:APP_ID]; [VKSdk authorize:@[VK_PER_FRIENDS, VK_PER_WALL, VK_PER_PHOTOS, VK_PER_NOHTTPS, VK_PER_MESSAGES] revokeAccess:YES]; VKRequest * getWall = [VKRequest requestWithMethod:@"wall.get" andParameters:@{VK_API_OWNER_ID : @"1"} andHttpMethod:@"GET"]; [getWall executeWithResultBlock:^(VKResponse * response) { NSLog(@"Json result: %@", response.json); } errorBlock:^(NSError * error) { if (error.code != VK_API_ERROR) { [error.vkError.request repeat]; } else { NSLog(@"VK error: %@", error); } }];
Но при запуске приложения, оно сразу же крашится указывая на строчкуreturn [[NSError alloc] initWithDomain:VKSdkErrorDomain code:originalCode userInfo:userInfo];
В NSError+VKError.h Помогите пожалуйста разобраться.