Как открыть вход в социальное приложение в приложении, используя схему URL
Я видел примеры и вопросы переполнения стека, которые описывают эти вещи.
Проблема в том,
Apple отклоняет приложение, если я открываю социальный логин в safari.
большинство примеров связаны с открытием социального входа в safari, но не совсем так, как я хочу.
Я хочу использовать Facebook SDK и открыть всплывающее окно входа в приложение.
Я думаю, что это может быть достигнуто с помощью обработки схемы URL, но я не знаю, как это сделать.
I видели, что Facebook предоставляет FBSDKLoginBehaviorWeb (спасибо @Anbu.Karthik для Уведоми меня об этом)
Но другие приложения, такие как Google, Instagram, Twitter, Linked In и другие, также должны интегрироваться в приложение. Поэтому было бы лучше, если есть какое-либо общее поведение приложения, которое перенаправляет URL-адрес, чтобы открыть в Webview в приложении.Спасибо заранее,
1 ответ:
Да, вы правы,вам нужно немного настроить обработку схемы URL.
В основном вам нужно добавить класс Principle UIApplication .pList файл как изображение ниже и добавить Центр уведомлений, когда вы получаете url login для вашего идентификатора приложения.
И чем, (приложение.m)
- (BOOL)openURL:(NSURL*)url { if ([[url absoluteString] hasPrefix:@"https://m.facebook.com/v2.2/dialog/oauth?sdk_version="]) { [[NSNotificationCenter defaultCenter] postNotificationName:ApplicationAuthNotificationFB object:url]; return NO; } return [super openURL:url]; }
И Зарегистрируйте уведомление в своем ViewController, (ViewController.m)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callLoginPopup:) name:@"ApplicationAuthNotificationFB" object:nil];
Метод обработки URL-адреса (ViewController.m)
-(void)callLoginPopup:(NSNotification *)notif{ NSLog(@"URL To Handle ===> %@", [notif object]); }
Вы можете изменить этот пример, чтобы получить другие социальные логины в вашем приложении.