使用 Swift 集成 Twitter 登录到 iOS 应用教程
8 分
使用 swift 将 twitter 登录添加到您的 ios 应用程序 介绍 本节解释了如何使用 twitter 登录和 parse server 核心功能 https //www back4app com/product/parse server 创建一个具有用户注册的应用程序,通过 back4app 先决条件 要完成此快速入门,您需要: xcode https //developer apple com/xcode/ 在 back4app 创建的应用程序。 请遵循 新 parse 应用程序教程 https //www back4app com/docs/get started/new parse app 以了解如何在 back4app 创建 parse 应用程序。 一个连接到 back4app 的 ios 应用程序。 注意: 请遵循 安装 parse sdk (objc) 教程 https //www back4app com/docs/ios/parse objc sdk 以创建一个连接到 back4app 的 xcode 项目。 1 twitter 设置 要开始使用twitter功能,您需要: 访问 twitter应用管理网站 https //twitter com/login?redirect after login=https%3a%2f%2fdeveloper twitter com%2fapps , 使用twitter账户登录并点击 \<font color="#2166ae">创建新应用\</font> 在您的parse应用设置页面上添加您的应用的twitter消费者密钥。 当被要求为您的twitter应用指定“回调url”时,请插入一个有效的url,例如 \<font color="#2166ae">http //twitter oauth callback \</font> 该值不会被您的ios或android应用使用,但为了通过twitter启用身份验证是必要的。 将 \<font color="#2166ae"> \</font> 和 \<font color="#2166ae">social framework\</font> 库添加到您的xcode项目中。 在您初始化parse sdk的地方添加以下内容,例如 \<font color="#2166ae">inapplication\ didfinishlaunchingwithoptions\</font> 1 pftwitterutils initializewithconsumerkey("your consumer key", consumersecret "your consumer secret") 2 登录和注册 \<font color="#2166ae">pftwitterutils\</font> 提供了一种允许您的 \<font color="#2166ae">pfusers\</font> 通过 twitter 登录或注册的方式。这是通过使用 \<font color="#2166ae">loginwithblock\</font> 或 \<font color="#2166ae">loginwithtarget\</font> 消息实现的 1 pftwitterutils loginwithblock { 2 (user pfuser?, error nserror?) > void in 3 if let user = user { 4 if user isnew { 5 print("user signed up and logged in with twitter!") 6 } else { 7 print("user logged in with twitter!") 8 } 9 } else { 10 print("uh oh the user cancelled the twitter login ") 11 } 12 } 当这段代码运行时,发生以下情况: 用户会看到 twitter 登录对话框。 用户通过 twitter 进行身份验证,您的应用程序接收到回调。 我们的 sdk 接收 twitter 数据并将其保存到 \<font color="#2166ae">pfuser\</font> 。如果这是一个基于 twitter 账号的新用户,则会创建该用户。 您的 \<font color="#2166ae">block\</font> 被调用并传入用户。 3 twitter 关联 如果您想将现有的 \<font color="#2166ae">pfuser\</font> 与 twitter 账户关联,可以这样链接: 1 if !pftwitterutils islinkedwithuser(user) { 2 pftwitterutils linkuser(user, { 3 (succeeded bool?, error nserror?) > void in 4 if pftwitterutils islinkedwithuser(user) { 5 print("woohoo, user logged in with twitter!") 6 } 7 }) 8 } 链接时发生的步骤与登录非常相似。不同之处在于,在成功登录时,现有的 pfuser 会更新为 twitter 信息。未来通过 twitter 的登录将使用户登录到他们的现有账户。 如果您想将 twitter 与用户解除链接,只需执行以下操作: 1 pftwitterutils unlinkuserinbackground(user, { 2 (succeeded bool?, error nserror?) > void in 3 if error == nil && succeeded { 4 print("the user is no longer associated with their twitter account ") 5 } 6 }) 6 twitter api 调用 我们的 sdk 提供了一种简单的方法来签署您的 api http 请求到 twitter rest api https //dev twitter com/rest/public 当您的应用程序具有 twitter 关联的 \<font color="#2166ae">pfuser\</font> 。要通过我们的 api 发出请求,您可以使用 \<font color="#2166ae">pf twitter\</font> 提供的单例 \<font color="#2166ae">pftwitterutils\</font> : 1 let verify = nsurl(string "https //api twitter com/1 1/account/verify credentials json") 2 var request = nsmutableurlrequest(url verify!) 3 pftwitterutils twitter()! signrequest(request) 4 let task = nsurlsession sharedsession() datataskwithrequest(request) { data, response, error in 5 // check for error 6 // data will contain the response data 7 } 8 task resume()