iOS configuration
For Objective-C
projects this plugin won't work because this plugin was written in swift. So you need to use swift as a default language for your flutter project (Check how to change to swift here).
- In your Podfile uncomment the next line (You need set the minimum target to 12.0 or higher)
platform :ios, '12.0'
And in xcode you must set your deployment Info to 12.0
Go to Facebook Login for iOS - Quickstart and select or create your app.
Skip the step 2 (Set up Your Development Environment).
In the step 3 (Register and Configure Your App with Facebook) you need add your
Bundle Identifier
You can find your
Bundle Identifier
in Xcode (Runner - Target Runner - General)In the Step 4 you need configure your
Info.plist
file insideios/Runner/Info.plist
From Xcode you can open your
Info.plist
asSource Code
now add the next code and replace{your-app-id}
with your facebook app Id.In the key FacebookClientToken, replace CLIENT-TOKEN with the value found under Settings > Advanced > Client Token in your App Dashboard.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb{your-app-id}</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>{your-app-id}</string>
<key>FacebookClientToken</key>
<string>CLIENT-TOKEN</string>
<key>FacebookDisplayName</key>
<string>{your-app-name}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-share-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>If you have implement
another providers
(Like Google) in your app you should merge values in Info.plistCheck if you already have
CFBundleURLTypes
orLSApplicationQueriesSchemes
keys in your Info.plist. If you have, you should merge their values, instead of adding a duplicate key.Example with Google and Facebook implemetation:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>fb{your-app-id}</string>
<string>com.googleusercontent.apps.{your-app-specific-url}</string>
</array>
</dict>
</array>To use any of the Facebook dialogs (e.g., Login, Share, App Invites, etc.) that can perform an app switch to Facebook apps, your application's Info.plist also needs to include:
<dict>...</dict>
)<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fbapi20130214</string>
<string>fbapi20130410</string>
<string>fbapi20130702</string>
<string>fbapi20131010</string>
<string>fbapi20131219</string>
<string>fbapi20140410</string>
<string>fbapi20140116</string>
<string>fbapi20150313</string>
<string>fbapi20150629</string>
<string>fbapi20160328</string>
<string>fbauth</string>
<string>fb-messenger-share-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
check one example of the info.plist here