Это первый раз, когда я задаю вопрос здесь. Обычно я нашел помощь в Интернете для своих проблем с проектами Iphone, но здесь я ДЕЙСТВИТЕЛЬНО СТУК!fbconnect logout утечка памяти
Я использую facebook iphone-sdk для размещения информации на стене пользователя. Все работает нормально. Но у меня есть память утечки, когда я выхожу из системы с помощью кнопки входа в fbconnect.
Вот код, который я использовал в файле реализации для теста:
- (void)viewDidLoad {
//session facebook
session = [[FBSession sessionForApplication:@"APP_KEY"
secret:@"SECRET_KEY"
delegate:self] retain];
//facebook bouton connect
FBLoginButton *logButton = [[[FBLoginButton alloc] init] autorelease];
[self.view addSubview:logButton];
[super viewDidLoad];
}
- (void) session:(FBSession *) session didLogin:(FBUID) uid {
NSLog(@"login ok");
}
- (void)sessionDidLogout:(FBSession*) session {
NSLog(@"didLogOut called");
}
, как вы видите, я ничего не делал. Поэтому, когда я тестирую это приложение, я нажимаю соединение на facebook buton, и я вхожу в систему без проблем. Но когда я нажимаю ту же кнопку, которая теперь помечена как logout, я выхожу из системы, а затем сразу же появляется утечка памяти.
В инструментах я могу найти происхождение проблемы, и это заставляет, что это метод выхода в файл FBSession.m, который вызывает эту утечку. И особенно когда метод unsave вызывается из метода выхода, потому что, если я прокомментирую вызов, утечки памяти не отображаются.
Так что мне нужна помощь, чтобы выяснить, что вызывает это.
Не уверен в объекте сеанса ... возможно, вы также должны отпустить это (вы можете сделать это уже) в viewDidUnload и dealloc. Сколько памяти и какой объект вы протекаете? Кроме того, если это всего лишь несколько байтов и работает, я бы не стал отлаживать FB API :-) – Eiko
как вы можете вызвать сеанс для выхода из системы? Что является небезопасным методом? – vodkhang