Интеграция Twitter входа в iOS приложение на Swift
8 мин
добавьте вход через twitter в ваше ios приложение с использованием swift введение в этом разделе объясняется, как вы можете создать приложение с регистрацией пользователей с использованием входа через 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 чтобы узнать, как создать приложение parse на back4app ios приложение, подключенное к back4app примечание следуйте учебнику по установке parse sdk (objc) https //www back4app com/docs/ios/parse objc sdk чтобы создать проект xcode, подключенный к back4app 1 настройка twitter чтобы начать использовать функции twitter, вам нужно перейдите на сайт управления приложениями twitter https //twitter com/login?redirect after login=https%3a%2f%2fdeveloper twitter com%2fapps , войдите с помощью учетной записи twitter и нажмите на \<font color="#2166ae">создать новое приложение\</font> добавьте ключ потребителя twitter вашего приложения на странице настроек вашего приложения parse когда вас попросят указать «url обратного вызова» для вашего приложения twitter, пожалуйста, вставьте действительный url, например \<font color="#2166ae">http //twitter oauth callback \</font> это значение не будет использоваться вашим приложением для ios или android, но необходимо для включения аутентификации через twitter добавьте \<font color="#2166ae"> \</font> и \<font color="#2166ae">social framework\</font> библиотеки в ваш проект xcode добавьте следующее там, где вы инициализируете sdk parse, например, \<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">блок\</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 вызовы api twitter наш sdk предоставляет простой способ подписывать ваши http запросы api к 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()