{"id":111933,"date":"2021-03-08T14:28:10","date_gmt":"2021-03-08T08:58:10","guid":{"rendered":"https:\/\/www.vskills.in\/certification\/tutorial\/?page_id=111933"},"modified":"2024-04-12T14:31:40","modified_gmt":"2024-04-12T09:01:40","slug":"facebook-login-in-swift","status":"publish","type":"page","link":"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/","title":{"rendered":"Facebook Login in Swift"},"content":{"rendered":"\n<p>The Facebook SDK in Swift enables people to sign into your app with Facebook Login. When people log into your app with Facebook they can grant permissions to your app so that you can retrieve information or perform actions on the Facebook platform on their behalf.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Login Button<\/h4>\n\n\n\n<p>To add a Facebook login button to your app add the following code snippet to a view controller.<\/p>\n\n\n\n<p>import FacebookLogin<\/p>\n\n\n\n<p>func viewDidLoad() {<\/p>\n\n\n\n<p>let loginButton = LoginButton(readPermissions: [ .publicProfile ])<\/p>\n\n\n\n<p>loginButton.center = view.center<\/p>\n\n\n\n<p>view.addSubview(loginButton)<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Check Current Login Status<\/h4>\n\n\n\n<p>Your app can only have one person logged in at a time. We represent each person logged into your app with AccessToken.current. The LoginManager sets this token for you and when it sets current it also automatically writes it to a keychain cache. The AccessToken contains userId which is used to identify the user.<\/p>\n\n\n\n<p>You should update your view controller to check for an existing token at load. This eliminates an unnecessary app switch to Facebook if someone has already granted permissions to your app. Example:<\/p>\n\n\n\n<p>func viewDidLoad() {<\/p>\n\n\n\n<p>if let accessToken = AccessToken.current {<\/p>\n\n\n\n<p>\/\/ User is logged in, use &#8216;accessToken&#8217; here.<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Ask for Permissions<\/h4>\n\n\n\n<p>When you add Facebook Login, your app can ask someone for permissions to access a subset of that person&#8217;s data or perform actions on their behalf.<\/p>\n\n\n\n<p>For LoginButton use the readPermissions constructor to request additional read permissions.<\/p>\n\n\n\n<p>In your view header file add:<\/p>\n\n\n\n<p>\/\/ Extend the code sample &#8220;1. Add Facebook Login Button Code&#8221;<\/p>\n\n\n\n<p>\/\/ In your viewDidLoad method:<\/p>\n\n\n\n<p>loginButton = LoginButton(readPermissions: [ .publicProfile, .Email, .UserFriends ])<\/p>\n\n\n\n<p>Your app will now ask for the person&#8217;s email address and friend list.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Custom Login Button<\/h4>\n\n\n\n<p>Instead of using the Facebook login button, you may want to design a custom layout and behavior. In the following code example we invoke the login dialog using the LoginManager class and a UIButton button object. You can use any other custom user interface or event handling to invoke the login dialog.<\/p>\n\n\n\n<p>import FacebookCore<\/p>\n\n\n\n<p>import FacebookLogin<\/p>\n\n\n\n<p>func viewDidLoad() {<\/p>\n\n\n\n<p>\/\/ Add a custom login button to your app<\/p>\n\n\n\n<p>let myLoginButton = UIButton(type: .Custom)]\n\n\n\n<p>myLoginButton.backgroundColor = UIColor.darkGrayColor()<\/p>\n\n\n\n<p>myLoginButton.frame = CGRect(0, 0, 180, 40);<\/p>\n\n\n\n<p>myLoginButton.center = view.center;<\/p>\n\n\n\n<p>myLoginButton.setTitle(&#8220;My Login Button&#8221; forState: .Normal)<\/p>\n\n\n\n<p>\/\/ Handle clicks on the button<\/p>\n\n\n\n<p>myLoginButton.addTarget(self, action: @selector(self.loginButtonClicked) forControlEvents: .TouchUpInside)<\/p>\n\n\n\n<p>\/\/ Add the button to the view<\/p>\n\n\n\n<p>view.addSubview(myLoginButton)<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>\/\/ Once the button is clicked, show the login dialog<\/p>\n\n\n\n<p>@objc func loginButtonClicked() {<\/p>\n\n\n\n<p>let loginManager = LoginManager()<\/p>\n\n\n\n<p>loginManager.logIn([ .publicProfile ], viewController: self) { loginResult in<\/p>\n\n\n\n<p>switch loginResult {<\/p>\n\n\n\n<p>case .Failed(let error):<\/p>\n\n\n\n<p>print(error)<\/p>\n\n\n\n<p>case .Cancelled:<\/p>\n\n\n\n<p>print(&#8220;User cancelled login.&#8221;)<\/p>\n\n\n\n<p>case .Success(let grantedPermissions, let declinedPermissions, let accessToken):<\/p>\n\n\n\n<p>print(&#8220;Logged in!&#8221;)<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Login Review<\/h4>\n\n\n\n<p>If your app asks for more than public_profile, email, and user_friends, Facebook must review it before you release it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Facebook SDK in Swift enables people to sign into your app with Facebook Login. When people log into your app with Facebook they can grant permissions to your app so that you can retrieve information or perform actions on the Facebook platform on their behalf. Login Button To add a Facebook login button to&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-111933","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Facebook Login in Swift - Tutorial<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Facebook Login in Swift - Tutorial\" \/>\n<meta property=\"og:description\" content=\"The Facebook SDK in Swift enables people to sign into your app with Facebook Login. When people log into your app with Facebook they can grant permissions to your app so that you can retrieve information or perform actions on the Facebook platform on their behalf. Login Button To add a Facebook login button to...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutorial\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/vskills.in\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-12T09:01:40+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/\",\"name\":\"Facebook Login in Swift - Tutorial\",\"isPartOf\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\"},\"datePublished\":\"2021-03-08T08:58:10+00:00\",\"dateModified\":\"2024-04-12T09:01:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Facebook Login in Swift\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"name\":\"Tutorial\",\"description\":\"Vskills - A initiative in elearning and certification\",\"publisher\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\",\"name\":\"Vskills\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"contentUrl\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"width\":73,\"height\":55,\"caption\":\"Vskills\"},\"image\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/vskills.in\/\",\"https:\/\/x.com\/vskills_in\",\"https:\/\/www.linkedin.com\/company-beta\/1371554\/\",\"https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Facebook Login in Swift - Tutorial","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/","og_locale":"en_US","og_type":"article","og_title":"Facebook Login in Swift - Tutorial","og_description":"The Facebook SDK in Swift enables people to sign into your app with Facebook Login. When people log into your app with Facebook they can grant permissions to your app so that you can retrieve information or perform actions on the Facebook platform on their behalf. Login Button To add a Facebook login button to...","og_url":"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/","og_site_name":"Tutorial","article_publisher":"https:\/\/www.facebook.com\/vskills.in\/","article_modified_time":"2024-04-12T09:01:40+00:00","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/","name":"Facebook Login in Swift - Tutorial","isPartOf":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website"},"datePublished":"2021-03-08T08:58:10+00:00","dateModified":"2024-04-12T09:01:40+00:00","breadcrumb":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/facebook-login-in-swift\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vskills.in\/certification\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Facebook Login in Swift"}]},{"@type":"WebSite","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","name":"Tutorial","description":"Vskills - A initiative in elearning and certification","publisher":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization","name":"Vskills","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","contentUrl":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","width":73,"height":55,"caption":"Vskills"},"image":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/vskills.in\/","https:\/\/x.com\/vskills_in","https:\/\/www.linkedin.com\/company-beta\/1371554\/","https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw"]}]}},"_links":{"self":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/111933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/comments?post=111933"}],"version-history":[{"count":1,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/111933\/revisions"}],"predecessor-version":[{"id":111935,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/111933\/revisions\/111935"}],"wp:attachment":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/media?parent=111933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/categories?post=111933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/tags?post=111933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}