OGeek|极客世界-中国程序员成长平台

标题: ios - 如何使用 URL Scheme 在应用程序中打开社交应用程序登录 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 11:41
标题: ios - 如何使用 URL Scheme 在应用程序中打开社交应用程序登录

我已经看到描述这些事情的示例和堆栈溢出问题。

问题是,

如果我在 safari 中打开社交登录,Apple 会拒绝申请。

大多数示例都与使用 safari 打开社交登录有关,但并不完全符合我的要求。

我想使用 Facebook SDK 并在应用程序中打开登录弹出窗口。

我认为这可以使用 URL Scheme 处理来实现,但我不知道该怎么做。

我看到 Facebook 提供 FBSDKLoginBehaviorWeb(感谢@Anbu.Karthik 通知我这件事)

但谷歌、Instagram、Twitter、Linked In 等其他应用也需要在应用内集成。 因此,如果应用程序有任何一般行为将 URL 重定向到在应用程序内的 Webview 中打开,那就更好了。

非常感谢,



Best Answer-推荐答案


是的,你是对的,你需要一点点自定义 URL Scheme 处理。

Here is example code

基本上,您需要在 .pList 文件中添加 Principle UIApplication 类,如下图所示,并在您获取应用 ID 的 URL 登录时添加通知中心。 enter image description here

然后,(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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4