Я внедрил FBConnect SDK в свое приложение, и он отлично работает на симуляторе.Затем я соответствующим образом изменил файл моего приложения .plist и добавил необходимый метод в мой AppDelegate, когда Facebook установлен на устройстве:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
NSLog(@"handleOpenURL Method was called and sent the following:");
NSString *urlString = [NSString stringWithContentsOfURL:(NSURL *)url];
NSLog(@"URL String: %@", urlString);
return [[flipsideViewController facebook] handleOpenURL:url];
}
Из приведенных выше NSLogs и замечание, что мое приложение возвращается вНа первом плане после авторизации доступа через Facebook я делаю вывод, что приложение FB соответствующим образом передает управление моему приложению.К сожалению, метод «handleOpenURL: url» Facebook.m фактически не вызывается, когда я запрашиваю в моем AppDelegate (то есть ни один из приведенных ниже NSLogs не отображается).
- (BOOL)handleOpenURL:(NSURL *)url {
// If the URL's structure doesn't match the structure used for Facebook authorization, abort.
NSLog(@"handleOpenURL was handled by SDK. Good!");
if (![[url absoluteString] hasPrefix:[self getOwnBaseUrl]]) {
NSLog(@"handleOpenURL structure doesn't match the structure used for Facebook authorization. Aborting.");
return NO;
}
//...
В результате контроллер представления моего приложения(где я нажал кнопку «Фейсбук» для начала) просто возвращается на экран, и код, который я поместил в метод «fbDidLogin» (используемый в контроллере представления для публикации на стене пользователя), никогда не вызывается, как втренажер.
Что я пропускаю?Какая, если таковая имеется, другая информация необходима для решения этой проблемы?Буду очень признателен за любую помощь, так как я некоторое время боролся с этим.
Важные краткие замечания: 1.) Приложение запускается на симуляторе так, как нужно.2.) handleOpenURL Метод не вызывается, когда я запрашиваю его у моего AppDelegate.3.) Я не получаю никаких ошибок / предупреждений.4.) Я могу запустить DemoApp на своем устройстве, и я заметил, что метод handleOpenURL вызывается соответствующим образом по запросу «DemoAppAppDelegate».
Заранее спасибо!