<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
        xmlns:android="http://schemas.android.com/apk/res/android"
        id="cordova-plugin-facebook4-ios3"
        version="1.4.1">

    <name>Facebook Connect</name>

    <description>
      This is the official plugin for Facebook in Apache Cordova/PhoneGap!

      The Facebook plugin for Apache Cordova allows you to use the same JavaScript code in your
      Cordova application as you use in your web application.
      Docs: https://github.com/Wizcorp/phonegap-facebook-plugin.
    </description>

    <license>Apache 2.0</license>

    <preference name="APP_ID" />
    <preference name="APP_NAME" />

    <engines>
        <!-- Requires > 3.5.0 because of the custom Framework tag for iOS [CB-6698] -->
        <!-- Requires > 4.0.0 because of the Framework tag for Android that uses gradle -->
        <engine name="cordova-android" version=">=3.5.0" />
        <engine name="cordova-ios" version=">=3.5.0" />
    </engines>

    <!-- JavaScript interface -->
    <js-module src="www/facebook-native.js" name="FacebookConnectPlugin">
        <clobbers target="facebookConnectPlugin" />
    </js-module>

    <!-- android -->
    <platform name="android">

        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="FacebookConnectPlugin">
                <param name="android-package" value="org.apache.cordova.facebook.ConnectPlugin" />
                <param name="onload" value="true" />
            </feature>
            <access origin="https://m.facebook.com" />
            <access origin="https://graph.facebook.com" />
            <access origin="https://api.facebook.com" />
            <access origin="https://*.fbcdn.net" />
            <access origin="https://*.akamaihd.net" />
        </config-file>

        <source-file src="src/android/facebookconnect.xml" target-dir="res/values" />
        <config-file target="res/values/facebookconnect.xml" parent="/*">
            <string name="fb_app_id">$APP_ID</string>
            <string name="fb_app_name">$APP_NAME</string>
        </config-file>

        <config-file target="AndroidManifest.xml" parent="application">
            <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/fb_app_id"/>
            <meta-data android:name="com.facebook.sdk.ApplicationName" android:value="@string/fb_app_name" />
            <activity android:name="com.facebook.FacebookActivity"
              android:theme="@android:style/Theme.Translucent.NoTitleBar"
              android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
              android:label="@string/fb_app_name" />
        </config-file>

        <framework src="com.facebook.android:facebook-android-sdk:4.+"/>

        <!-- cordova plugin src files -->
        <source-file src="src/android/ConnectPlugin.java" target-dir="src/org/apache/cordova/facebook" />

    </platform>

    <!-- ios -->
    <platform name="ios">
        <config-file target="config.xml" parent="/*">
            <feature name="FacebookConnectPlugin">
                <param name="ios-package" value="FacebookConnectPlugin"/>
                <param name="onload" value="true" />
            </feature>
            <plugin name="FacebookConnectPlugin" value="FacebookConnectPlugin"/>
            <access origin="https://m.facebook.com" />
            <access origin="https://graph.facebook.com" />
            <access origin="https://api.facebook.com" />
            <access origin="https://*.fbcdn.net" />
            <access origin="https://*.akamaihd.net" />
        </config-file>

        <hook type="after_plugin_install" src="src/ios/deployment-target-hook.js" />

        <header-file src="src/ios/FacebookConnectPlugin.h" />
        <source-file src="src/ios/FacebookConnectPlugin.m" />

        <config-file target="*-Info.plist" parent="FacebookAppID">
            <string>$APP_ID</string>
        </config-file>

        <config-file target="*-Info.plist" parent="FacebookDisplayName">
            <string>$APP_NAME</string>
        </config-file>

        <config-file target="*-Info.plist" parent="CFBundleURLTypes">
          <array>
            <dict>
              <key>CFBundleURLSchemes</key>
              <array>
                <string>fb$APP_ID</string>
              </array>
            </dict>
          </array>
        </config-file>

        <config-file target="*-Info.plist" parent="NSAppTransportSecurity">
          <dict>
            <key>NSExceptionDomains</key>
            <dict>
                <key>facebook.com</key>
                <dict>
                    <key>NSIncludesSubdomains</key>
                    <true/>
                    <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                    <false/>
                </dict>
                <key>fbcdn.net</key>
                <dict>
                    <key>NSIncludesSubdomains</key>
                    <true/>
                    <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                    <false/>
                </dict>
                <key>akamaihd.net</key>
                <dict>
                    <key>NSIncludesSubdomains</key>
                    <true/>
                    <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                    <false/>
                </dict>
            </dict>
          </dict>
        </config-file>

        <config-file target="*-Info.plist" parent="LSApplicationQueriesSchemes">
          <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>fbauth</string>
            <string>fbauth2</string>
            <string>fb-messenger-api20140430</string>
          </array>
        </config-file>

        <!-- Bolts framework -->
        <framework src="src/ios/FacebookSDK.framework" custom="true" />

       <!-- System frameworks -->
        <framework src="libsqlite3.dylib" />
        <framework src="Social.framework" weak="true" />
        <framework src="Accounts.framework" weak="true" />
        <framework src="Security.framework" weak="true" />

    </platform>

    <!-- browser -->
    <platform name="browser">
        <js-module src="www/facebook-browser.js" name="FacebookConnectPluginBrowser">
            <clobbers target="facebookConnectPlugin" />
        </js-module>
        <config-file target="config.xml" parent="/*">
            <feature name="FacebookConnectPlugin">
                <param name="browser-package" value="FacebookConnectPluginBrowser"/>
                <param name="onload" value="true" />
            </feature>
            <plugin name="FacebookConnectPlugin" value="FacebookConnectPlugin"/>
            <access origin="https://m.facebook.com" />
            <access origin="https://connect.facebook.net" />
            <access origin="https://graph.facebook.com" />
            <access origin="https://api.facebook.com" />
            <access origin="https://*.fbcdn.net" />
            <access origin="https://*.akamaihd.net" />
        </config-file>
    </platform>
</plugin>
