Я пытаюсь интегрировать Facebook SDK в проект iOS5, который я создаю.
Следуя совету, я установил флаги компилятора в определенных файлах Facebook на '-fno-objc-дуга.Это позволяет мне успешно строить проект, сохраняя при этом ARC для моих файлов.
Я прошел и реализовал основные шаги Facebook SDK, и он успешно входит в систему и устанавливает разрешения.Проблема возникает, когда я пытаюсь получить доступ к графику:
[facebook requestWithGraphPath:@"me/friends" andDelegate:(id)self];
Причина, по которой я говорю «(id) self» вместо просто «self», заключается в том, что последний выдает мне ошибку:
warning: sending 'PhotoController *__strong' to parameter of incompatible type 'id<FBRequestDelegate>' [3]
Я реализовал все методы обратного вызова.Единственный метод, который успешно вызывается, это
- (void)requestLoading:(FBRequest *)request;
Я полагаю, что приложение падает при получении данных.
По предложениям в других потоках я включил NSZombie и вот результаты:
2011-11-14 13:40:29.896 Friend Carousel[9660:f803] facebook: <Facebook: 0x6e21550>
2011-11-14 13:40:29.898 Friend Carousel[9660:f803] self: <PhotoController: 0x6e215a0>
2011-11-14 13:40:31.115 Friend Carousel[9660:f803] *** -[PhotoController respondsToSelector:]: message sent to deallocated instance 0x6e215a0
Где facebook - это объект facebook, а PhotoController - это делегат (с этим методом определен).
Так что может показаться, что объект запроса Facebook пытается отправить сообщениеуже освобожденный делегат.Правильно?И это то, что вызывает сбой?
К сожалению, это то, где мои знания iOS меня подводят;это что-то, что я делаю неправильно, или я просто не могу включить Facebook SDK в проект с поддержкой ARC (без значительных изменений)?Я просто не уверен, куда идти.
Спасибо,
Кевин