{"id":13485382,"url":"https://github.com/SimformSolutionsPvtLtd/SSFacebookLogin","last_synced_at":"2025-03-27T19:31:03.286Z","repository":{"id":49752535,"uuid":"127397868","full_name":"SimformSolutionsPvtLtd/SSFacebookLogin","owner":"SimformSolutionsPvtLtd","description":"The Reusable Facebook Login Components for iOS is the easiest way to get data from Facebook.","archived":false,"fork":false,"pushed_at":"2024-09-05T11:45:17.000Z","size":150,"stargazers_count":34,"open_issues_count":0,"forks_count":5,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-07T01:46:25.484Z","etag":null,"topics":["facebook","loginmanager","swift"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SimformSolutionsPvtLtd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-30T07:41:23.000Z","updated_at":"2024-09-06T11:33:59.000Z","dependencies_parsed_at":"2024-03-28T04:31:41.327Z","dependency_job_id":"cabcb773-2e89-4b31-b456-c814e4f712cd","html_url":"https://github.com/SimformSolutionsPvtLtd/SSFacebookLogin","commit_stats":null,"previous_names":["simformsolutions/ssfacebooklogin"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSFacebookLogin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSFacebookLogin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSFacebookLogin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSFacebookLogin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimformSolutionsPvtLtd","download_url":"https://codeload.github.com/SimformSolutionsPvtLtd/SSFacebookLogin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245910746,"owners_count":20692497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["facebook","loginmanager","swift"],"created_at":"2024-07-31T18:00:21.191Z","updated_at":"2025-03-27T19:31:02.911Z","avatar_url":"https://github.com/SimformSolutionsPvtLtd.png","language":"Swift","funding_links":[],"categories":["iOS Guides","iOS"],"sub_categories":["Swift"],"readme":"# Reusable Facebook Login Components\n\n\nThe Reusable Facebook Login Components for iOS is the easiest way to get user data from Facebook .\n\n\n## Features\n\n- [x] Get Default data of user from facebook\n- [x] Get Specific data of user from facebook\n\n## Requirements\n\n- iOS 8.0+\n- Xcode 7.3+\n\n## Installation\n\n### CocoaPods\n\nTo incorporate the **SSFacebookLogin** library into your Xcode project utilizing CocoaPods, please reference it within your `Podfile` as shown below:\n\n```ruby\npod 'SSFacebookLogin'\n```\n### Swift Package Manager\n\nTo add **SSFacebookLogin** as a dependency to your project, follow these steps:\n\n1. Open your Swift project in Xcode.\n2. Navigate to `File` -\u003e `Add Package Dependencies...`.\n3. Paste `https://github.com/SimformSolutionsPvtLtd/SSFacebookLogin.git` into the search bar.\n4. Choose the version you want to use and click `Add Package`.\n\n### Manually \n\nIf you prefer not to use any of the dependency managers above, you can integrate **SSFacebookLogin** into your project manually. \n- Just copy  `LoginManager.swift`, `FaceBookConstant.swift` and `userData.swift` from the `Classes` folder into your Xcode project.\n- Make sure to add Facebook SDK or Pod's for iOS.\n\n## Migration Guide\n- For minimum `iOS 11.0` use `6.0.4`\n- For minimum `iOS 12.0` or above use `7.0.0`\n- For minimum `iOS 13.0` or above use `7.2.0`\n\n## Configure App\n1. Right-click `Info.plist`, and choose **Open As ▸ Source Code**.\n2. Copy and paste the following XML snippet into the body of your file (`\u003cdict\u003e...\u003c/dict\u003e`)\n    ```\n    \u003ckey\u003eCFBundleURLTypes\u003c/key\u003e\n    \u003carray\u003e\n      \u003cdict\u003e\n      \u003ckey\u003eCFBundleURLSchemes\u003c/key\u003e\n      \u003carray\u003e\n        \u003cstring\u003efbAPP-ID\u003c/string\u003e\n      \u003c/array\u003e\n      \u003c/dict\u003e\n    \u003c/array\u003e\n    \u003ckey\u003eFacebookAppID\u003c/key\u003e\n    \u003cstring\u003eAPP-ID\u003c/string\u003e\n    \u003ckey\u003eFacebookClientToken\u003c/key\u003e\n    \u003cstring\u003eCLIENT-TOKEN\u003c/string\u003e\n    \u003ckey\u003eFacebookDisplayName\u003c/key\u003e\n    \u003cstring\u003eAPP-NAME\u003c/string\u003e\n    ```\n- In `CFBundleURLSchemes`, replace APP-ID with your App ID.\n- In `FacebookAppID`, replace APP-ID with your App ID.\n- In `FacebookClientToken`, replace CLIENT-TOKEN with the value found under Settings \u003e Advanced \u003e Client Token in your Facebook App Dashboard.\n- In `FacebookDisplayName`, replace APP-NAME with the name of your app.\n3. Add following code blocks in `AppDelegate.swift` file\n    - In **didFinishLaunchingWithOptions** method,\n    ```swift\n        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -\u003e Bool {\n            // Add below line for facebook configuration\n            LoginManager.shared.facebookConfiguration(application, didFinishLaunchingWithOptions: launchOptions)\n            return true\n        }\n    ```\n    - In **openUrlWithOption** method,\n    ```swift\n        func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -\u003e Bool {\n            return LoginManager.shared.faceboolUrlConfigurationWithOptions(app, open: url, options: options)\n        }\n    ```\n4. Voila 🪄✨💫 !\n- For more details =\u003e [Facebook Integration for iOS](https://developers.facebook.com/docs/facebook-login/ios)\n\n## Usage example\n\n##### Example 1 (Get default data of user when no any arguments passed - use this for version 7.1.0 or below)\n\n```swift\n    LoginManager.shared.loginWithFacebook(controller: self, { (token, error) in\n    \n    if error == nil {\n        print(token?.userID ?? \"\",token?.tokenString ?? \"\")\n    }\n    \n    }) { (result, error) in\n    \n        if error == nil {\n            if let userData = result as? UserData {\n                print(userData)\n                print(userData.id)\n            } else {\n                print(result ?? \"\")\n            }\n        }\n    }\n```\n\n##### Example 2 (Get specific data of user by passing argument - use this for version 7.0.0 or below)\n\n```swift\n\n    LoginManager.shared.loginWithFacebook(permission: [.email, .publicProfile, .userBirthday],\n    requriedFields: [.birthday, .about, .email], controller: self, { (token, error) in\n    \n    if error == nil {\n        print(token?.userID ?? \"\",token?.tokenString ?? \"\")\n    }\n    \n    }) { (result, error) in\n\n        if error == nil {\n            if let uResult = result  {\n                print(uResult)\n            }\n        }\n    }\n\n```\n\n##### Example 3 (Get specific data of user by passing argument and passing token to Firebase for using Firebase - use this for version 7.2.0)\n\n```swift\n\n    LoginManager.shared.logInWithFacebookFirebase(permission: [.email, .publicProfile, .userBirthday],\n    requriedFields: [.birthday, .about, .email],  tracking: [.limited || .enabled], controller: self, { (token, nonce, error) in\n    \n    if error == nil {\n        print(token?.userID ?? \"\",token?.tokenString ?? \"\")\n    }\n    \n    }) { (userData, error) in\n\n        if error == nil {\n            if let uResult = result  {\n                print(uResult)\n            }\n        }\n    }\n\n```\n\n##### Example 4 (Get specific data of user by passing argument with limted login option - use this for version 7.2.0)\n\n```swift\n\n    LoginManager.shared.login(permission: [.email, .publicProfile, .userBirthday],\n    requriedFields: [.birthday, .about, .email], tracking: [.limited || .enabled],controller: self, { (token, error) in\n    \n    if error == nil {\n        print(\"token \\(token)\")\n    }\n    \n    }) { (userData, error) in\n\n        if error == nil {\n            if let uResult = result  {\n                print(uResult)\n            }\n        }\n    }\n\n```\n\n## 🤝 How to Contribute\n\nWhether you're helping us fix bugs, improve the docs, or a feature request, we'd love to have you! :muscle:\n\nCheck out our [**Contributing Guide**](CONTRIBUTING.md) for ideas on contributing.\n\n## Find this library useful? ❤️\n\nGive a ⭐️ if this project helped you!\n\n## Check out our other Libraries\n\n\u003ch3\u003e\u003ca href=\"https://github.com/SimformSolutionsPvtLtd/Awesome-Mobile-Libraries\"\u003e\u003cu\u003e🗂 Simform Solutions Libraries→\u003c/u\u003e\u003c/a\u003e\u003c/h3\u003e\n\n## MIT License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSimformSolutionsPvtLtd%2FSSFacebookLogin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSimformSolutionsPvtLtd%2FSSFacebookLogin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSimformSolutionsPvtLtd%2FSSFacebookLogin/lists"}