【问题标题】:Reverse Google Client ID with Swift使用 Swift 反转 Google 客户端 ID
【发布时间】:2017-02-02 14:29:35
【问题描述】:

如何以编程方式反转 Google 客户端 ID 以获得 iOS URL 方案作为结果(不是反转字符串而是反转 ID 顺序)例如:

ClientID = "xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com"

ClientID,在反转之后,应该会导致 URLscheme 看起来像:

URLscheme = "com.googleusercontent.apps.xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

【问题讨论】:

    标签: ios swift reverse google-signin


    【解决方案1】:

    转到 > 项目 - 信息 - url 类型
    如果不需要,删除所有 url 然后代码将上传。

    【讨论】:

    • 似乎离题了,问题是要求这样做programmatically
    • 是的,我还添加了“如果不需要”,那么为什么要以编程方式浪费时间。
    【解决方案2】:

    使用 Swift 将 Google 客户端 ID 反转为 iOS URL 方案(为 iOS 创建客户端 ID):

        // GIDSignIn.sharedInstance().clientID = "xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxx‌​xxxxxxxxxxxxx.apps.googleusercontent.com"
    
        let urlScheme="com.googleusercontent.apps.xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxx‌​xxxxxxxxxxxxx"
        let urlSchemeArr = urlScheme.characters.split{$0 == "."}.map(String.init)
        let GoogleClientIDarr = urlSchemeArr.reverse()
        let GoogleClientID = GoogleClientIDarr.joinWithSeparator(".")
        print(GoogleClientID);
    
        GIDSignIn.sharedInstance().delegate = self
        GIDSignIn.sharedInstance().clientID=GoogleClientID;
    

    【讨论】:

    • - 谢谢 bbum 和 Jay! ;)
    【解决方案3】:
    1. 在'.'处分割字符串
    2. 结果数组的逆序
    3. 使用 '.' 将数组重新连接成字符串

    NSString 和 NSArray 上有 API 可以做 (1) 和 (3)。 (2) 很简单。

    【讨论】:

    • 唯一的问题是我不是 Swift 程序员,而且是周末,每个人都走了,必须一个人完成。我可以弄清楚,但需要很长时间,这就是为什么寻求帮助 :D - 无论如何谢谢!
    • 得到了:let GoogleClientID = "com.googleusercontent.apps.xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" let GoogleClientIDarr = GoogleClientID.characters.split{$0 == "."}.map(String.init) let GoogleClientIDarr = GoogleClientIDarr.reverse() let URLscheme = ".".join(GoogleClientIDarr)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 2021-10-29
    • 1970-01-01
    • 2020-10-08
    相关资源
    最近更新 更多