我已经看到描述这些事情的示例和堆栈溢出问题。
问题是,
如果我在 safari 中打开社交登录,Apple 会拒绝申请。
大多数示例都与使用 safari 打开社交登录有关,但并不完全符合我的要求。
我想使用 Facebook SDK 并在应用程序中打开登录弹出窗口。
我认为这可以使用 URL Scheme 处理来实现,但我不知道该怎么做。
我看到 Facebook 提供
FBSDKLoginBehaviorWeb(感谢@Anbu.Karthik 通知我这件事)
但谷歌、Instagram、Twitter、Linked In 等其他应用也需要在应用内集成。
因此,如果应用程序有任何一般行为将 URL 重定向到在应用程序内的 Webview 中打开,那就更好了。
非常感谢,
Best Answer-推荐答案 strong>
是的,你是对的,你需要一点点自定义 URL Scheme 处理。
Here is example code
基本上,您需要在 .pList 文件中添加 Principle UIApplication 类,如下图所示,并在您获取应用 ID 的 URL 登录时添加通知中心。
然后,(Application.m)
- (BOOL)openURLNSURL*)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
selectorselector(callLoginPopup
name"ApplicationAuthNotificationFB"
object:nil];
处理URL的方法(ViewController.m)
-(void)callLoginPopupNSNotification *)notif{
NSLog(@"URL To Handle ===> %@", [notif object]);
}
您可以修改此示例以在您的应用中实现其他社交登录。
关于ios - 如何使用 URL Scheme 在应用程序中打开社交应用程序登录,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/32518167/
|