Coder Social home page Coder Social logo

react-native-fbsdk-next's Introduction

React Native FBSDK Next

This project aims to keep continuity of the React Native FBSDK from Facebook. As Facebook dropped support from it. As a community for this is our effort in order to keep upgrading and improving support for this module.

React Native FBSDK is a wrapper around the iOS Facebook SDK and Android Facebook SDK, allowing for Facebook integration in React Native apps. Access to native components, from login to sharing, is provided entirely through documented JavaScript modules so you don't have to call a single native function directly.

Functionality is provided through one single npm package so you can use it for both platforms without downloading any extra packages. Follow this guide to use react-native-fbsdk in your React Native app. You can also visit https://developers.facebook.com/docs/react-native for tutorials and reference documentation.


Installation

React Native Compatibility

To use this library you need to ensure you match up with the correct version of React Native you are using.

FB SDK lib version Required React Native Version
>= 9.3.0+ react-native-fbsdk-next > 4.3.0 >=0.63.3*
>= 9.0.0+ react-native-fbsdk-next >= 3.0.1 >= 0.60
<= 8.0.1 react-native-fbsdk >= 1.0.0 >= 0.60
<= 8.0.1 react-native-fbsdk <= 0.10 <= 0.59.x

⚠️ * Attention

Please notice that this module in versions after 4.2.0 only supports React Native versions above 0.63.3 as it's the oldest version of React Native which support latest XCode version. Technically, it may work on older versions (test it to be sure) but they are not supported. Changes that accidentally break older react-native versions may be issued without regard to semantic versioning constraints because we do not test against the older versions. Please see this issue for an example of a previous break. Please update to current react-native versions.

1. Install the library

using either Yarn:

yarn add react-native-fbsdk-next

or npm:

npm install --save react-native-fbsdk-next

2. Link

  • React Native 0.60+

CLI autolink feature links the module while building the app.

Note For iOS using cocoapods, run:

$ cd ios/ && pod install
  • React Native <= 0.59

For support with React Native <= 0.59, please refer to React Native FBSDK

If you can't or don't want to use the CLI tool, you can also manually link the library using the instructions below (click on the arrow to show them):

Manually link the library on iOS

Either follow the instructions in the React Native documentation to manually link the framework or link using Cocoapods by adding this to your Podfile:

pod 'react-native-fbsdk-next', :path => '../node_modules/react-native-fbsdk-next'
Manually link the library on Android

Make the following changes:

android/settings.gradle

include ':react-native-fbsdk-next'
project(':react-native-fbsdk-next').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fbsdk-next/android')

android/app/build.gradle

dependencies {
   ...
   implementation project(':react-native-fbsdk-next')
}

android/app/src/main/.../MainApplication.java

On top, where imports are:

import com.facebook.reactnative.androidsdk.FBSDKPackage;

Add the FBSDKPackage class to your list of exported packages.

@Override
protected List<ReactPackage> getPackages() {
    return Arrays.asList(
            new MainReactPackage(),
            new FBSDKPackage()
    );
}

3. Configure projects

3.1 Android

Before you can run the project, follow the Getting Started Guide for Facebook Android SDK to set up a Facebook app. You can skip the build.gradle changes since that's taken care of by the rnpm link step above, but make sure you follow the rest of the steps such as updating strings.xml and AndroidManifest.xml. In addition, keep in mind that you have to point the Key Hash generation command at your app's debug.keystore file. You can find its location by checking storeFile in one of the build.gradle files (its default path is android/app/build.gradle however this can vary from project to project).

3.2 iOS

Follow steps 2, 3 and 4 in the Getting Started Guide for Facebook SDK for iOS.

NOTE: The above link (Step 3 and 4) contains Swift code instead of Objective-C which is inconvenient since react-native ecosystem still relies on Objective-C. To make it work in Objective-C you need to do the following in /ios/PROJECT/AppDelegate.m:

  1. Add
#import <AuthenticationServices/AuthenticationServices.h>
#import <SafariServices/SafariServices.h>
#import <FBSDKCoreKit/FBSDKCoreKit-Swift.h>
  1. Inside didFinishLaunchingWithOptions, add the following:
       [[FBSDKApplicationDelegate sharedInstance] application:application
                           didFinishLaunchingWithOptions:launchOptions];
  2. After this step, if you run into this build issue: Undefined symbols for architecture x86_64:, then you need to create a new file File.swift on your project folder. After doing this, you will get a prompt from Xcode asking if you would like to create a Bridging Header. Click accept.
  3. From the facebook-ios-sdk docs steps 1-3, but in Objective-C since they have moved to Swift for their examples - make something like the following code is in AppDelegate.m:
    - (BOOL)application:(UIApplication *)app
                openURL:(NSURL *)url
                options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
    {
      return [[FBSDKApplicationDelegate sharedInstance]application:app
                                                          openURL:url
                                                          options:options];
    }
    Without this code login might not work if Facebook app is installed, see #59 (comment) - if you are also using react-native deep-linking you may need have multiple entries in this openURL method, as detailed in the next section

If you're not using cocoapods already you can also follow step 1.1 to set it up.

If you're using React Native's RCTLinkingManager

The AppDelegate.m file can only have one method for openUrl. If you're also using RCTLinkingManager to handle deep links, you should handle both results in your openUrl method.

#import <AuthenticationServices/AuthenticationServices.h> // <- Add This Import
#import <SafariServices/SafariServices.h> // <- Add This Import
#import <FBSDKCoreKit/FBSDKCoreKit-Swift.h> // <- Add This Import
#import <React/RCTLinkingManager.h> // <- Add This Import

- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
  if ([[FBSDKApplicationDelegate sharedInstance] application:app openURL:url options:options]) {
    return YES;
  }

  if ([RCTLinkingManager application:app openURL:url options:options]) {
    return YES;
  }

  return NO;
}

Troubleshooting

  1. You cannot run the Android project.

    • Make sure you added the code snippet in step 3.1.
    • Make sure you set up a Facebook app and updated the AndroidManifest.xml and res/values/strings.xml with Facebook app settings.
  2. You get duplicate symbol errors.

    • Make sure that FBSDK[Core, Login, Share]Kit.framework are not in Link Binary with Libraries for your root project when using CocoaPods.
  3. You get this build error: no type or protocol named UIApplicationOpenURLOptionsKey.

    • Your Xcode version is too old. Upgrade to Xcode 10.0+.
  4. You get a compilation error with the error Undefined symbols for architecture x86_64.

    Undefined symbols for architecture x86_64:
        "_swift_FORCE_LOAD$_swiftUniformTypeIdentifiers", referenced from:
        _swift_FORCE_LOAD$swiftUniformTypeIdentifiers$_FBSDKShareKit in libFBSDKShareKit.a(Enums+Extensions.o)
        (maybe you meant: _swift_FORCE_LOAD$swiftUniformTypeIdentifiers$_FBSDKShareKit)
        "_swift_FORCE_LOAD$_swiftCoreMIDI", referenced from:
        _swift_FORCE_LOAD$swiftCoreMIDI$_FBSDKShareKit in libFBSDKShareKit.a(Enums+Extensions.o)
        (maybe you meant: _swift_FORCE_LOAD$swiftCoreMIDI$_FBSDKShareKit)
        "_swift_FORCE_LOAD$_swiftWebKit", referenced from:
        _swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit in libFBSDKCoreKit.a(AccessToken.o)
        _swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit in libFBSDKCoreKit.a(Permission.o)
        _swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit in libFBSDKCoreKit.a(Settings.o)
        _swift_FORCE_LOAD$swiftWebKit$_FBSDKLoginKit in libFBSDKLoginKit.a(FBLoginButton.o)
        _swift_FORCE_LOAD$swiftWebKit$_FBSDKLoginKit in libFBSDKLoginKit.a(LoginManager.o)
        _swift_FORCE_LOAD$swiftWebKit$_FBSDKShareKit in libFBSDKShareKit.a(Enums+Extensions.o)
        (maybe you meant: _swift_FORCE_LOAD$swiftWebKit$_FBSDKLoginKit, _swift_FORCE_LOAD$swiftWebKit$_FBSDKShareKit , _swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit )
        ld: symbol(s) not found for architecture x86_64
    

    After facebook-ios-sdk v7 (written with Swift parts) you need to coordinate Swift language usage with Objective-C for iOS.

    Either:

    • add a new file named File.Swift in the main project folder and answer "yes" when Xcode asks you if you want to "Create Bridging Header" The empty swift file makes this change to the Header Search Path on your build settings:
    $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)
    $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
    • or add this stanza in the postinstall section of your Podfile as a possible workaround (then pod deintegrate && pod install):

        # Mixing Swift and Objective-C in a react-native project may be problematic.
        # Workaround:  https://github.com/facebookarchive/react-native-fbsdk/issues/755#issuecomment-787488994
        installer.aggregate_targets.first.user_project.native_targets.each do |target|
          target.build_configurations.each do |config|
            config.build_settings['LIBRARY_SEARCH_PATHS'] = ['$(inherited)', '$(SDKROOT)/usr/lib/swift']
          end
        end

      Both result in fixing search paths.

  5. AppLink.fetchDeferredAppLink does not work (on iOS at least).

    Both the Facebook App and your app have to have App Tracking Transparency (ATT) permission granted for facebook deferred app links to work. See this related issue

  6. You get an exception App ID not found. Add a string value with your app ID for the key FacebookAppID to the Info.plist or call [FBSDKSettings setAppID:].

    If you find yourself in this situation, and you are certain that you have the FacebookAppID in your Info.plist or that you have called setAppId, you may be able to fix it by adding the following lines to AppDelegate.m inside the - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions, just before the return YES statement:

      [[FBSDKApplicationDelegate sharedInstance] application:application
                            didFinishLaunchingWithOptions:launchOptions];
  7. You don't see any events in the Facebook Events Manager

    For it to work you need to:

    • Run the app on a real device
    • Have the facebook app running in the background and logged in to an account
    • Have that account you used on Facebook added as an "Advertising Account" for your app on Facebook's dashboard
    • Most important: Have ATT enabled on both the Facebook app and your app.

    This will make it so events you log on your app by you – which I guess they determine by seeing who is logged in on the Facebook App – are the ones to show up on the Event manager.

  8. You get “There is an error in logging you into this application” when attempting to log in via the native Facebook app on Android.

    This typically means the appropriate signing certificate hash hasn’t been saved to your Facebook app.

    You can follow the instructions here to generate and save the hash from your signing certificate.

    Note: If Google is signing your releases, you’ll need to get the SHA-1 from the Release > App signing > App signing key certificate in the Play Console and run this command:

    echo YOUR_SHA1_HERE | xxd -r -p | openssl base64

    If you’re also using App Tester for internal releases, you’ll need to run the same command for the SHA-1 from Release > Internal app sharing > Internal test certificate and save that hash as well.

    Once you have your hashes, return here and enter them under Key Hashes.

Usage

SDK Initialization

To comply with Apple privacy requirements, for iOS the autoInitEnabled option is removed from facebook-ios-sdk#v9.0.0.

Using this module, there are two options to comply with this requirement, one is platform-neutral and can be used from your javascript code whenever it makes sense for your app, and one is native.

Setting Facebook app ID from code

In case you e.g. would like to use multiple facebook apps, you can set the facebook app ID using setAppID

import { Settings } from 'react-native-fbsdk-next';

// Setting the facebook app id using setAppID
// Remember to set CFBundleURLSchemes in Info.plist on iOS if needed
Settings.setAppID('APP ID');

Platform-neutral SDK initialization

If you do not need to handle a GDPR-type opt-in flow, on iOS you should include the following javascript code as early in startup as possible. For Android auto-init is the default still, so this is not strictly necessary for Android but will work.

If you need to handle a GDPR-type flow, make sure your SDK is configured natively to delay all logging activity according to the GDPR instructions, ask for user consent, and after obtaining consent include code similar to this:

import { Settings } from 'react-native-fbsdk-next';

// Ask for consent first if necessary
// Possibly only do this for iOS if no need to handle a GDPR-type flow
Settings.initializeSDK();

iOS Native Initialization

If you would like to initialize the Facebook SDK even earlier in startup for iOS, you need to include this code in your AppDelegate.m file now that auto-initialization is removed.

#import <AuthenticationServices/AuthenticationServices.h> // <- Add This Import
#import <SafariServices/SafariServices.h> // <- Add This Import
#import <FBSDKCoreKit/FBSDKCoreKit-Swift.h> // <- Add This Import

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  [FBSDKApplicationDelegate.sharedInstance initializeSDK]; // <- add this

  // your other stuff
}

Login Button + Access Token

import React, { Component } from 'react';
import { View } from 'react-native';
import { AccessToken, LoginButton } from 'react-native-fbsdk-next';

export default class Login extends Component {
  render() {
    return (
      <View>
        <LoginButton
          onLoginFinished={
            (error, result) => {
              if (error) {
                console.log("login has error: " + result.error);
              } else if (result.isCancelled) {
                console.log("login is cancelled.");
              } else {
                AccessToken.getCurrentAccessToken().then(
                  (data) => {
                    console.log(data.accessToken.toString())
                  }
                )
              }
            }
          }
          onLogoutFinished={() => console.log("logout.")}/>
      </View>
    );
  }
};

Requesting additional permissions with Login Manager

You can also use the Login Manager with custom UI to perform Login.

// ...

import { LoginManager } from "react-native-fbsdk-next";

// ...

// Attempt a login using the Facebook login dialog asking for default permissions.
LoginManager.logInWithPermissions(["public_profile"]).then(
  function(result) {
    if (result.isCancelled) {
      console.log("Login cancelled");
    } else {
      console.log(
        "Login success with permissions: " +
          result.grantedPermissions.toString()
      );
    }
  },
  function(error) {
    console.log("Login fail with error: " + error);
  }
);

Get profile information

You can retrieve the profile information after a successful login attempt. The data returned will be related to the type of authentication you are using (limited or not) and the permission granted by the login method.

// ...

import { Profile } from "react-native-fbsdk-next";

// ...

const currentProfile = Profile.getCurrentProfile().then(
  function(currentProfile) {
    if (currentProfile) {
      console.log(
        "The current logged user is: " +
        currentProfile.name +
        ". Their profile id is: " +
        currentProfile.userID
      );
    }
  }
);

There's some platform related specific behaviors that you need to consider:

  • On Android, the email field isn't retrieved even if the [..., "email", ...] permission is requested. In fact, the email field doesn't exist in the native Java SDK provided by Facebook at the moment (reference).
  • The width and height query params for the profile picture URI will be 100 (iOS SDK default values).

Login Button with Limited Login + Authentication Token

Limited Login was introduced by Facebook based on Apple’s App Transparency Tracking enforcement so that iOS users who have opted out of ATT are able to use Facebook login.

Note: Limited Login is required for iOS if using React Native FBSDK Next >= 13.0.0 due to facebook-ios-sdk#v17.0.0 (see this comment).

loginTrackingIOS: The possible values are "enabled" and "limited". The default is "enabled".

When loginTrackingIOS is "limited", an AccessToken will be unavailable. Instead an AuthenticationToken that wraps an OpenID Connect token is provided.

Note: An AuthenticationToken cannot be used to access the GraphAPI. Attempting to do so will result in this error:

{
  "error": {
    "message": "Invalid OAuth access token - Cannot parse access token",
    "type": "OAuthException",
    "code": 190,
    "fbtrace_id": "AqAQuOb32_wZqY1R132lpBI"
  }
}

See this issue for more information.

nonceIOS: Limited Login allows developers to optionally pass a custom nonce for use in validating an authentication attempt on their servers. A valid nonce must be a non-empty string without whitespace. An invalid nonce will not be set. Instead, a default unique nonce will be used.

import React, { Component } from 'react';
import { Platform, View } from 'react-native';
import {
  AccessToken,
  AuthenticationToken,
  LoginButton,
} from 'react-native-fbsdk-next';

export default class Login extends Component {
  render() {
    return (
      <View>
        <LoginButton
          onLoginFinished={(error, result) => {
            if (error) {
              console.log("login has error: " + result.error);
            } else if (result.isCancelled) {
              console.log("login is cancelled.");
            } else {
              if (Platform.OS === "ios") {
                AuthenticationToken.getAuthenticationTokenIOS().then((data) => {
                  console.log(data?.authenticationToken);
                });
              } else {
                AccessToken.getCurrentAccessToken().then((data) => {
                  console.log(data?.accessToken.toString());
                });
              }
            }
          }}
          onLogoutFinished={() => console.log("logout.")}
          loginTrackingIOS="limited"
          nonceIOS="my_nonce" // Optional
        />
      </View>
    );
  }
}

Login Manager with Limited Login + Authentication Token

  //...

  import {
    AccessToken,
    AuthenticationToken,
    LoginManager,
  } from "react-native-fbsdk-next";

  //...

  try {
    const result = await LoginManager.logInWithPermissions(
      [
        "public_profile",
        "email",
      ],
      "limited",
      "my_nonce", // Optional
    );
    console.log(result);
    if (Platform.OS === "ios") {
      // This token **cannot** be used to access the Graph API.
      // https://developers.facebook.com/docs/facebook-login/limited-login/
      const result = await AuthenticationToken.getAuthenticationTokenIOS();
      console.log(result?.authenticationToken);
    } else {
      // This token can be used to access the Graph API.
      const result = await AccessToken.getCurrentAccessToken();
      console.log(result?.accessToken);
    }
  } catch (error) {
    console.log(error);
  }

  //...

Share dialogs

All of the dialogs included are used in a similar way, with differing content types.

// ...

import { ShareDialog } from 'react-native-fbsdk-next';

// ...

// Build up a shareable link.
const shareLinkContent = {
  contentType: 'link',
  contentUrl: "https://facebook.com",
};

// ...

// Share the link using the share dialog.
shareLinkWithShareDialog() {
  var tmp = this;
  ShareDialog.canShow(this.state.shareLinkContent).then(
    function(canShow) {
      if (canShow) {
        return ShareDialog.show(tmp.state.shareLinkContent);
      }
    }
  ).then(
    function(result) {
      if (result.isCancelled) {
        console.log("Share cancelled");
      } else {
        console.log("Share successful with postId: " + result.postId);
      }
    },
    function(error) {
      console.log("Share failed with error: " + error);
    }
  );
}

Share Photos

See SharePhotoContent and SharePhoto to refer other options.

// ...

import { ShareApi } from "react-native-fbsdk-next";

// ...

const photoUri = "file://" + "/path/of/photo.png";
const sharePhotoContent = {
  contentType = "photo",
  photos: [{ imageUrl: photoUri }],
};

// ...

ShareDialog.show(tmp.state.sharePhotoContent);

Share Videos

See ShareVideoContent and ShareVideo to refer other options.

// ...

import { ShareApi } from "react-native-fbsdk-next";

// ...

const videoUri = "file://" + "/path/of/video.mp4";
const shareVideoContent = {
  contentType = "video",
  video: { localUrl: videoUri },
};

// ...

ShareDialog.show(tmp.state.shareVideoContent);

Share API

Your app must have the publish_actions permission approved to share through the share API. You should prefer to use the Share Dialogs for an easier and more consistent experience.

// ...

import { ShareApi } from 'react-native-fbsdk-next';

// ...

// Build up a shareable link.
const shareLinkContent = {
  contentType: "link",
  contentUrl: "https://facebook.com",
};

// ...

// Share using the share API.
ShareApi.canShare(this.state.shareLinkContent).then(
  var tmp = this;
  function(canShare) {
    if (canShare) {
      return ShareApi.share(tmp.state.shareLinkContent, "/me", "Some message.");
    }
  }
).then(
  function(result) {
    console.log("Share with ShareApi success.");
  },
  function(error) {
    console.log("Share with ShareApi failed with error: " + error);
  }
);

App events

// ...

import { AppEventsLogger } from "react-native-fbsdk-next";

// ...

// Log a $15 purchase.
AppEventsLogger.logPurchase(15, "USD", { param: "value" });

// Log standard event. e.g. completed registration
AppEventsLogger.logEvent(AppEventsLogger.AppEvents.CompletedRegistration, {
  [AppEventsLogger.AppEventParams.RegistrationMethod]: "email",
});

Aggregated Event Measurement (AEM) for iOS apps allows for the measurement of app events from iOS 14.5+ users who have opted out of app tracking. To implement AEM for your app you can follow the steps below.

Step 1. Connect the App Delegate

Add the following code in the system application:openURL:options: function from AppDelegate/SceneDelegate where {app-id} is your Facebook app ID. The call sequence matters.

The DeepLink URL from the re-engagement ads should be passed to the AEM Kit even if the app is opened in cold start.

#import <FBAEMKit/FBAEMKit-Swift.h>

// apply codes below to `application:openURL:options:` 
// in `AppDelegate.m` or `SceneDelegate.m`
[FBAEMReporter configureWithNetworker:nil appID:@"{app-id}" reporter:nil]; // Replace {app-id} with your Facebook App id
[FBAEMReporter enable];
[FBAEMReporter handle:url];

Step 2. Add AEM Logging

Use the AEMReporterIOS exported from the sdk to log event to AEM, logAEMEvent function will bypass if platform isn't iOS, it's safe to call without platform determined.

import {AEMReporterIOS} from 'react-native-fbsdk-next';

// This will do nothing if Platform.OS !== "ios"
AEMReporterIOS.logAEMEvent(eventName, value, currency, otherParameters);

Event names for AEM must match event names you used in app event logging.

Here's an example of how to use this method -

LogFBPurchase = (purchaseAmount: number, currencyCode: string, parameters?: Params | undefined) => {
    AppEventsLogger.logPurchase(purchaseAmount, currencyCode, parameters);
    AEMReporterIOS.logAEMEvent("fb_mobile_purchase", purchaseAmount, currencyCode, parameters);
}

LogFBEvent = (eventName: string, valueToSum: number, parameters: Record<string,string | number>)=> {
    AppEventsLogger.logEvent(eventName, valueToSum, parameters);
    AEMReporterIOS.logAEMEvent(eventName, valueToSum, parameters.fb_currency, parameters);
}

Note: Graph API requests cannot be made with a Limited Login AuthenticationToken.

Graph API Requests

// ...

import { GraphRequest, GraphRequestManager } from 'react-native-fbsdk-next';

// ...

// Create response callback.
_responseInfoCallback(error, result) {
  if (error) {
    console.log("Error fetching data: " + error.toString());
  } else {
    console.log("Success fetching data: " + result.toString());
  }
}

// Create a graph request asking for user information with a callback to handle the response.
const infoRequest = new GraphRequest(
  "/me",
  null,
  this._responseInfoCallback,
);

// Start the graph request.
new GraphRequestManager().addRequest(infoRequest).start();

Expo installation

This package cannot be used in the "Expo Go" app because it requires custom native code.

After installing this npm package, add the config plugin to the plugins array of your app.json or app.config.js:

{
  "expo": {
    "plugins": ["react-native-fbsdk-next"]
  }
}

Unless you are managing your own native code, the config plugin must be configured per the following "API" section.

Next, rebuild your app as described in the "Adding custom native code" guide.

API

The plugin provides props for extra customization. Every time you change the props or plugins, you'll need to rebuild (and prebuild) the native app. If no extra properties are added, defaults will be used.

Required configuration:

  • appID (string): Facebook Application ID.
  • displayName (string): Application Name.
  • clientToken (string): Client Token.
  • scheme (string): The scheme to use for returning to the app from Facebook. Of the form fb[app-id].

Optional configuration:

  • iosUserTrackingPermission (string || false): iOS User Tracking Permission.
  • advertiserIDCollectionEnabled (boolean): Enable advertiser ID collection. Default false.
  • autoLogAppEventsEnabled (boolean): Default false.
  • isAutoInitEnabled (boolean): Default false.

If you are migrating from expo-facebook to this library, it is important to consider that clientToken was not required in expo-facebook, but it is required here. You can get that value from "Facebook Developers > Your App > Configurations > Advanced".

Example

{
  "expo": {
    "plugins": [
      [
        "react-native-fbsdk-next",
        {
          "appID": "48127127xxxxxxxx",
          "clientToken": "c5078631e4065b60d7544a95xxxxxxxx",
          "displayName": "RN SDK Demo",
          "scheme": "fb48127127xxxxxxxx",
          "advertiserIDCollectionEnabled": false,
          "autoLogAppEventsEnabled": false,
          "isAutoInitEnabled": true,
          "iosUserTrackingPermission": "This identifier will be used to deliver personalized ads to you."
        }
      ]
    ]
  }
}

Enabling Auto App Installs in Expo

To enable auto app installs in Expo, you need to set autoLogAppEventsEnabled and advertiserIDCollectionEnabled flags to true in your app.json or app.config.js.

Moreover, on iOS you need user consent to collect user data. You can do this by adding the following code somewhere to your App.tsx:

import { requestTrackingPermissionsAsync } from 'expo-tracking-transparency';

const { status } = await requestTrackingPermissionsAsync(); 

Settings.initializeSDK();

if (status === 'granted') {
    await Settings.setAdvertiserTrackingEnabled(true);
}

Migrating from expo-facebook to react-native-fbsdk-next

The expo-facebook module was deprecated in Expo SDK 45 and removed in Expo SDK 46. The following feature parity table lists the expo-facebook API functions and their react-native-fbsdk-native counterparts, where available:

expo-facebook Supported react-native-fbsdk-next
flushAsync() AppEventsLogger.flush()
getAdvertiserIDAsync() Not supported
getAnonymousIDAsync() AppEventsLogger.getAnonymousID()
getAttributionIDAsync() AppEventsLogger.getAttributionID()
getAuthenticationCredentialAsync() AccessToken.accessToken
getPermissionsAsync() Not supported
getUserIDAsync() AppEventsLogger.getUserId()
initializeAsync(optionsOrAppId, appName) Settings.setAppID($appId); Settings.setAppName($appName); Settings.setGraphAPIVersion($version); Settings.setAutoLogAppEventsEnabled($autoLogAppEvents);
Settings.initializeSDK()
logEventAsync(eventName, parameters) AppEventsLogger.logEvent(eventName, parameters)
logInWithReadPermissionsAsync(options) LoginManager.logInWithPermissions(permissions)
logOutAsync() LoginManager.logOut()
logPurchaseAsync(purchaseAmount, currencyCode, parameters) AppEventsLogger.logPurchase(purchaseAmount, currency, parameters)
logPushNotificationOpenAsync(campaign) AppEventsLogger.logPushNotificationOpen(payload)
requestPermissionsAsync() Not supported
setAdvertiserIDCollectionEnabledAsync(enabled) Settings.setAdvertiserIDCollectionEnabled(enabled)
setAdvertiserTrackingEnabledAsync(enabled) Settings.setAdvertiserTrackingEnabled(enabled)
setAutoLogAppEventsEnabledAsync(enabled) Settings.setAutoLogAppEventsEnabled(enabled)
setUserDataAsync(userData) AppEventsLogger.setUserData(userData)
setUserIDAsync(userID) AppEventsLogger.setUserID(userID)

Example app

To run the example app, you'll first need to setup the environment:

refresh-example.sh

This will create a new app in the RNFBSDKExample directory, using the latest version of React Native. Next, it will patch the necessary files so you may run the example app.

yarn example:ios

or

yarn example:android

Note: You'll probably want to change the Facebook App ID to your own, else the example app won't be able to login. To change it, edit your local copy of refresh-example.sh, update the FacebookAppId variable, then re-run refresh-example.sh to regenerate the example directory.

Testing with Jest

We have a example mock inside jest/setup.js but you just add the following line to your setup file:

jest.mock("react-native-fbsdk-next", () => require("react-native-fbsdk-next/jest/mocks").default);

You also can spyOn one of this mock to return whatever you want inside your test:

import { LoginManager } from "react-native-fbsdk-next"

jest.spyOn(LoginManager, "logInWithPermissions").mockImplementation(() => Promise.resolve({ isCancelled: false }))

Join the React Native community

See the CONTRIBUTING file for how to help out.

License

See the LICENSE file.

react-native-fbsdk-next's People

Contributors

andrewjack avatar arv avatar dabit3 avatar danilobuerger avatar diegotsi avatar doublethefish avatar dulmandakh avatar dzhuowen avatar friederbluemle avatar giautm avatar grabbou avatar hramos avatar janicduplessis avatar justinmakaila avatar knowbody avatar koenpunt avatar leggomyfroggo avatar lepouya avatar mikehardy avatar nicknjpconsultingllc avatar philikon avatar philippkrone avatar redcancode avatar rnike avatar sdduursma avatar semantic-release-bot avatar thebergamo avatar thmsobrmlr avatar titozzz avatar vovkasm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-native-fbsdk-next's Issues

Idea: Splitting up the project into specific parts

Disclaimer: I removed the template, since this is an idea and not a bug report.


I currently only need some parts of the SDK, hence I moved to the native SDK's using only the automatic tracking.

My supposed solution would be to have one base package, and then splitting up all the rest.
What do you think about this?

Xcode 12.4 Build getting failed

Undefined symbols for architecture x86_64:
"_swift_FORCE_LOAD$_swiftUniformTypeIdentifiers", referenced from:
_swift_FORCE_LOAD$swiftUniformTypeIdentifiers$_FBSDKShareKit in libFBSDKShareKit.a(Enums+Extensions.o)
(maybe you meant: _swift_FORCE_LOAD$swiftUniformTypeIdentifiers$_FBSDKShareKit)
"_swift_FORCE_LOAD$_swiftCoreMIDI", referenced from:
_swift_FORCE_LOAD$swiftCoreMIDI$_FBSDKShareKit in libFBSDKShareKit.a(Enums+Extensions.o)
(maybe you meant: _swift_FORCE_LOAD$swiftCoreMIDI$_FBSDKShareKit)
"_swift_FORCE_LOAD$_swiftWebKit", referenced from:
_swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit in libFBSDKCoreKit.a(AccessToken.o)
_swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit in libFBSDKCoreKit.a(Permission.o)
_swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit in libFBSDKCoreKit.a(Settings.o)
_swift_FORCE_LOAD$swiftWebKit$_FBSDKLoginKit in libFBSDKLoginKit.a(FBLoginButton.o)
_swift_FORCE_LOAD$swiftWebKit$_FBSDKLoginKit in libFBSDKLoginKit.a(LoginManager.o)
_swift_FORCE_LOAD$swiftWebKit$_FBSDKShareKit in libFBSDKShareKit.a(Enums+Extensions.o)
(maybe you meant: _swift_FORCE_LOAD$swiftWebKit$_FBSDKLoginKit, _swift_FORCE_LOAD$swiftWebKit$_FBSDKShareKit , _swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit )
ld: symbol(s) not found for architecture x86_64

react-native => 0.62.1
Xcode Version 12.4

I have tried this [https://github.com/facebookarchive/react-native-fbsdk/issues/794] solution but nothing works

Errors with SceneDelegate

🐛 Bug Report

After setting up react-native-fbsdk-next, I get the error Module 'FacebookCore' not found in SceneDelegate.m.

image

To Reproduce

Expected Behavior

The build should succeed.

Example Repo

https://github.com/Yonom/react-native-fbsdk-next-bug-repo/commit/b3d51dc5da29869b796f3b77434b4b994b52616c#diff-7f1567ebab010f96652f686ce4d2d7dba0314511b6dd275914e1f767e2a470f3

Environment

info Fetching system and libraries information...
System:
OS: macOS 11.2.3
CPU: (8) x64 Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz
Memory: 89.91 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 15.13.0 - /var/folders/4l/5q_1bbc93mb221kpmsz41jth0000gn/T/yarn--1617791043494-0.5877670075367989/node
Yarn: 1.22.10 - /var/folders/4l/5q_1bbc93mb221kpmsz41jth0000gn/T/yarn--1617791043494-0.5877670075367989/yarn
npm: 7.7.6 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
Android SDK:
API Levels: 24, 29, 30
Build Tools: 28.0.3, 29.0.2, 30.0.2, 30.0.3, 31.0.0
System Images: android-29 | Google APIs Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 4.1 AI-201.8743.12.41.7199119
Xcode: 12.4/12D4e - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_282 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: ^17.0.2 => 17.0.2
react-native: ^0.64.0 => 0.64.0
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found`

Cannot run example app (crashes after infinite loop)

🐛 Bug Report

When running the example app on an iOS simulator (in example/ios), the example app fails to mount & the app crashes after entering an infinite loop with the error:

Invariant Violation: No callback found with cbID 2903 and callID 1451 for module <unknown>.

To Reproduce

  1. Install both the package & example app dependencies (npm install && npx pod-install)
  2. Start the example app by running npm example:ios

Expected Behavior

The example app builds & runs successfully

Environment

System:
    OS: macOS 10.15.7
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 1.87 GB / 32.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 12.16.3 - /usr/local/bin/node
    Yarn: 1.22.5 - ~/.yarn/bin/yarn
    npm: 7.10.0 - ~/git/sw/react-native-fbsdk-next/node_modules/.bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.10.1 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
    Android SDK: Not Found
  IDEs:
    Android Studio: 4.1 AI-201.8743.12.41.6858069
    Xcode: 12.4/12D4e - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.9.1 - /usr/bin/javac
    Python: 3.7.7 - /opt/anaconda3/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1
    react-native: ^0.63.3 => 0.63.4
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

TypeError: null is not an object (evaluating 'LoginManager.logInWithPermissions')

Hello everyone!

I have an issue trying to use the library. When I execute LoginManager.logInWithPermissions I get the following message error: [TypeError: null is not an object (evaluating 'LoginManager.logInWithPermissions')]

This is the content I see when I print LoginManager

 {
    "getDefaultAudience": [Function getDefaultAudience],
    "getLoginBehavior": [Function getLoginBehavior],
    "logInWithPermissions": [Function logInWithPermissions],
    "logOut": [Function logOut],
    "setDefaultAudience": [Function setDefaultAudience],
    "setLoginBehavior": [Function setLoginBehavior]
}

Code Example

import React from 'react';
import auth from '@react-native-firebase/auth';
import { StyleSheet, View, Text, TouchableOpacity } from 'react-native';
import { LoginManager, AccessToken } from 'react-native-fbsdk-next';

export default function App() {

  const handlePress = async () => {
    const result = await LoginManager.logInWithPermissions(['public_profile', 'email']);
    if (result.isCancelled) {
      throw 'User cancelled the login process';
    }
    const data = await AccessToken.getCurrentAccessToken();
    if (!data) {
      throw 'Something went wrong obtaining access token';
    }
    const facebookCredential = auth.FacebookAuthProvider.credential(data.accessToken);
    return auth().signInWithCredential(facebookCredential);
  }

  return (
    <View style={styles.container}>
      <TouchableOpacity
        style={styles.button}
        onPress={handlePress}
      >
        <Text style={styles.buttonText}>
          Click me!
        </Text>
      </TouchableOpacity>
    </View>
  )
}

Environment

react: 16.13.1
react-native: 0.63.4

Thanks!

LoginManager.logInWithPermissions Promise Reject

🐛 Bug Report

I am using logInWithPermissions from LoginManager class, but that promise just not resolve and I don't know why. I am using 4.1.0 version

To Reproduce

Try execute logInWithPermissions from LoginManager

Expected Behavior

I am expecting that the promise solve and enter into .then() for continue the login process

Code Example

Screen Shot 2021-04-28 at 10 32 24 AM

Environment

System:
OS: macOS 11.2.3
CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
Memory: 225.44 MB / 8.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.16.1 - /usr/local/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 6.14.12 - /usr/local/bin/npm
Watchman: Not Found
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
Android SDK: Not Found
IDEs:
Android Studio: 4.1 AI-201.8743.12.41.7199119
Xcode: 12.5/12E262 - /usr/bin/xcodebuild
Languages:
Java: 16.0.1 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: Not Found
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found

[SOLVED: use react-native 0.63+ or patch locally] react-native-fbsdk-next:compileDebugJavaWithJavac

Hi, months ago I use react-native-fbsdk and everything is already set. And this week I found that lib is already archived and it says to use react-native-fbsdk-next instead. So, I removed react-native-fbsdk and install react-native-fbsdk-next. I thought I don't need to follow any steps in Android Getting Started Guide because I already done that. I am able to run iOS but get an error in Android:

((my_directory_path))/node_modules/react-native-fbsdk-next/android/src/main/java/com/facebook/reactnative/androidsdk/FBProfileModule.java:16: error: constructor ReactContextBaseJavaModule in class ReactContextBaseJavaModule cannot be applied to given types;
public class FBProfileModule extends ReactContextBaseJavaModule {
^
required: ReactApplicationContext
found: no arguments
reason: actual and formal argument lists differ in length
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: ((my_directory_path))/node_modules/react-native-fbsdk-next/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':react-native-fbsdk-next:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

I never change anything yet and get this error. Then I open my app/build.gradle and found my old code:
implementation 'com.facebook.android:facebook-core:5.+'
I tried to replace it with:
implementation 'com.facebook.android:facebook-android-sdk:[5,6)'
or
implementation 'com.facebook.android:facebook-core:[8,9)'

but it gives no effect. I also do manually linking but still the same. So can anyone help me to solve this please?

Environment

  1. "react": "16.9.0",
  2. "react-native": "0.61.1",
  3. "react-native-fbsdk-next": "^4.2.0",

** BUILD FAILED ** The following build commands failed: Ld

🐛 Bug Report

The error is super long but here goes:

info Found Xcode workspace "fbexampleapp.xcworkspace"
info Building (using "xcodebuild -workspace fbexampleapp.xcworkspace -configuration Debug -scheme fbexampleapp -destination id=A0B51C91-B51B-421B-813B-0C410615ABE9")
(node:93899) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening fbexampleapp.xcworkspace.
Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace fbexampleapp.xcworkspace -configuration Debug -scheme fbexampleapp -destination id=A0B51C91-B51B-421B-813B-0C410615ABE9

note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
CreateBuildDirectory /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex (in target 'glog' from project 'Pods')
    cd /Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods
    builtin-create-build-directory /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex

CreateBuildDirectory /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products (in target 'glog' from project 'Pods')
    cd /Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods
    builtin-create-build-directory /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products

PhaseScriptExecution Start\ Packager /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/Script-FD10A7F022414F080027D42C.sh (in target 'fbexampleapp' from project 'fbexampleapp')
    cd /Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios
    /bin/sh -c /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/Script-FD10A7F022414F080027D42C.sh
Connection to localhost port 8081 [tcp/sunproxyadmin] succeeded!

CompileC /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/Objects-normal/x86_64/AppDelegate.o /Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/fbexampleapp/AppDelegate.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'fbexampleapp' from project 'fbexampleapp')
    cd /Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios
    export LANG\=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target x86_64-apple-ios10.0-simulator -fmessage-length\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\=0 -std\=gnu99 -fobjc-arc -fmodules -gmodules -fmodules-cache-path\=/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -fmodules-prune-interval\=86400 -fmodules-prune-after\=345600 -fbuild-session-file\=/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\=return-type -Wunreachable-code -Wno-implicit-atomic-properties -Werror\=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror\=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -DDEBUG\=1 -DCOCOAPODS\=1 -DDEBUG\=1 -DFBSDKCOCOAPODS\=1 -DFB_SONARKIT_ENABLED\=1 -DOBJC_OLD_DISPATCH_PROTOTYPES\=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -fobjc-abi-version\=2 -fobjc-legacy-dispatch -index-store-path /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Index/DataStore -iquote /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/fbexampleapp-generated-files.hmap -I/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/fbexampleapp-own-target-headers.hmap -I/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/fbexampleapp-all-non-framework-target-headers.hmap -ivfsoverlay /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/all-product-headers.yaml -iquote /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/fbexampleapp-project-headers.hmap -I/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/include -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/CocoaAsyncSocket -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/DoubleConversion -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/FBLazyVector -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/FBReactNativeSpec -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/FBSDKCoreKit -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/FBSDKLoginKit -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/FBSDKShareKit -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/Flipper -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/Flipper-DoubleConversion -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/Flipper-Folly -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/Flipper-Glog -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/Flipper-PeerTalk -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/Flipper-RSocket -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/FlipperKit -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/RCT-Folly -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/RCTRequired -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/RCTTypeSafety -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/React-Core -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/React-RCTBlob -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/React-RCTText -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/React-callinvoker -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/React-cxxreact -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/React-jsi -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/React-jsiexecutor -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/React-jsinspector -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/React-perflogger -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/React-runtimeexecutor -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/ReactCommon -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/Yoga -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/YogaKit -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/glog -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/libevent -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/react-native-fbsdk-next -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/boost-for-react-native -I/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Private/React-Core -I/include -I/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/DerivedSources-normal/x86_64 -I/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/DerivedSources/x86_64 -I/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/DerivedSources -F/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator -F/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/OpenSSL-Universal/Frameworks -F/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/OpenSSL -fmodule-map-file\=/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/FBSDKCoreKit.modulemap -fmodule-map-file\=/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/FBSDKLoginKit/FBSDKLoginKit.modulemap -fmodule-map-file\=/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/FBSDKShareKit/FBSDKShareKit.modulemap -fmodule-map-file\=/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/YogaKit/YogaKit.modulemap -fmodule-map-file\=/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/FlipperKit/FlipperKit.modulemap -fmodule-map-file\=/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/React/React-Core.modulemap -fmodule-map-file\=/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/Headers/Public/yoga/Yoga.modulemap -MMD -MT dependencies -MF /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/Objects-normal/x86_64/AppDelegate.d --serialize-diagnostics /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/Objects-normal/x86_64/AppDelegate.dia -c /Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/fbexampleapp/AppDelegate.m -o /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/Objects-normal/x86_64/AppDelegate.o

Ld /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/fbexampleapp.app/fbexampleapp normal (in target 'fbexampleapp' from project 'fbexampleapp') cd /Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target x86_64-apple-ios10.0-simulator -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphonesimulator -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/CocoaAsyncSocket -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/DoubleConversion -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/FBReactNativeSpec -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/FBSDKCoreKit -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/FBSDKLoginKit -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/FBSDKShareKit -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/Flipper -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/Flipper-DoubleConversion -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/Flipper-Folly -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/Flipper-Glog -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/Flipper-PeerTalk -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/Flipper-RSocket -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/FlipperKit -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/RCT-Folly -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/RCTTypeSafety -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-Core -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-CoreModules -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-RCTAnimation -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-RCTBlob -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-RCTImage -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-RCTLinking -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-RCTNetwork -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-RCTSettings -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-RCTText -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-RCTVibration -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-cxxreact -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-jsi -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-jsiexecutor -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-jsinspector -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/React-perflogger -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/ReactCommon -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/Yoga -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/YogaKit -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/glog -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/libevent -L/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/react-native-fbsdk-next -F/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator -F/Users/chaudhrytalha/Documents/xCodeProjects/SampleApp/fbexampleapp/ios/Pods/OpenSSL-Universal/Frameworks -F/Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/OpenSSL -filelist /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/Objects-normal/x86_64/fbexampleapp.LinkFileList -Xlinker -rpath -Xlinker /usr/lib/swift -Xlinker -rpath -Xlinker @executable_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/Objects-normal/x86_64/fbexampleapp.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -ObjC -lCocoaAsyncSocket -lDoubleConversion -lFBReactNativeSpec -lFBSDKCoreKit -lFBSDKLoginKit -lFBSDKShareKit -lFlipper -lFlipper-DoubleConversion -lFlipper-Folly -lFlipper-Glog -lFlipper-PeerTalk -lFlipper-RSocket -lFlipperKit -lRCT-Folly -lRCTTypeSafety -lReact-Core -lReact-CoreModules -lReact-RCTAnimation -lReact-RCTBlob -lReact-RCTImage -lReact-RCTLinking -lReact-RCTNetwork -lReact-RCTSettings -lReact-RCTText -lReact-RCTVibration -lReact-cxxreact -lReact-jsi -lReact-jsiexecutor -lReact-jsinspector -lReact-perflogger -lReactCommon -lYoga -lYogaKit -lc++ -lglog -llibevent -lreact-native-fbsdk-next -lstdc++ -lz -framework AudioToolbox -framework CFNetwork -framework JavaScriptCore -framework MobileCoreServices -framework OpenSSL -framework Security -framework UIKit -weak_framework Accelerate -weak_framework Accounts -weak_framework AdSupport -weak_framework AudioToolbox -weak_framework CoreGraphics -weak_framework Foundation -weak_framework QuartzCore -weak_framework Security -weak_framework Social -weak_framework StoreKit -weak_framework UIKit -ObjC -lc++ -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/fbexampleapp.app-Simulated.xcent -lPods-fbexampleapp -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Intermediates.noindex/fbexampleapp.build/Debug-iphonesimulator/fbexampleapp.build/Objects-normal/x86_64/fbexampleapp.dat -o /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/fbexampleapp.app/fbexampleapp ld: warning: Could not find or use auto-linked library 'swiftWebKit' ld: warning: Could not find or use auto-linked library 'swiftCoreMIDI' ld: warning: Could not find or use auto-linked library 'swiftUniformTypeIdentifiers' Undefined symbols for architecture x86_64: "_swift_FORCE_LOAD$_swiftUniformTypeIdentifiers", referenced from: _swift_FORCE_LOAD$swiftUniformTypeIdentifiers$_FBSDKShareKit in libFBSDKShareKit.a(Enums+Extensions.o) (maybe you meant: _swift_FORCE_LOAD$swiftUniformTypeIdentifiers$_FBSDKShareKit) "_swift_FORCE_LOAD$_swiftCoreMIDI", referenced from: _swift_FORCE_LOAD$swiftCoreMIDI$_FBSDKShareKit in libFBSDKShareKit.a(Enums+Extensions.o) (maybe you meant: _swift_FORCE_LOAD$swiftCoreMIDI$_FBSDKShareKit) "_swift_FORCE_LOAD$_swiftWebKit", referenced from: _swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit in libFBSDKCoreKit.a(AccessToken.o) _swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit in libFBSDKCoreKit.a(Permission.o) _swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit in libFBSDKCoreKit.a(Settings.o) _swift_FORCE_LOAD$swiftWebKit$_FBSDKLoginKit in libFBSDKLoginKit.a(FBLoginButton.o) _swift_FORCE_LOAD$swiftWebKit$_FBSDKLoginKit in libFBSDKLoginKit.a(LoginConfiguration.o) _swift_FORCE_LOAD$swiftWebKit$_FBSDKLoginKit in libFBSDKLoginKit.a(LoginManager.o) _swift_FORCE_LOAD$swiftWebKit$_FBSDKShareKit in libFBSDKShareKit.a(Enums+Extensions.o) ... (maybe you meant: _swift_FORCE_LOAD$swiftWebKit$_FBSDKShareKit, _swift_FORCE_LOAD$swiftWebKit$_FBSDKCoreKit , _swift_FORCE_LOAD$swiftWebKit$_FBSDKLoginKit ) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.4.99. (in target 'YogaKit' from project 'Pods') warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.4.99. (in target 'Flipper-Glog' from project 'Pods') warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.4.99. (in target 'boost-for-react-native' from project 'Pods') warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.4, but the range of supported deployment target versions is 9.0 to 14.4.99. (in target 'Flipper-PeerTalk' from project 'Pods') warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.4.99. (in target 'Flipper-DoubleConversion' from project 'Pods')

** BUILD FAILED **

The following build commands failed: Ld /Users/chaudhrytalha/Library/Developer/Xcode/DerivedData/fbexampleapp-cbjnhmdbrulusmcwnknqvzbhuegw/Build/Products/Debug-iphonesimulator/fbexampleapp.app/fbexampleapp normal

To Reproduce

Here is the process I've followed:

  1. I installed https://www.npmjs.com/package/react-native-fbsdk-next package as npm i react-native-fbsdk-next which installed "^4.0.0" of this.

  2. I did pod install and it shows a success message
    Screen Shot 2021-04-07 at 6 39 00 PM

  3. Then I opened the iOS project in XCode and added this in my info.plist file:

<key>CFBundleURLTypes</key>
  <array>
      <dict>
          <key>CFBundleURLSchemes</key>
          <array>
              <string>fbMY_APP_ID</string>
          </array>
      </dict>
  </array>
  <key>FacebookAppID</key>
  <string>MY_APP_ID</string>
  <key>FacebookDisplayName</key>
  <string>MY_APP_NAME</string>
  <key>LSApplicationQueriesSchemes</key>
  <array>
    <string>fbapi</string>
    <string>fb-messenger-share-api</string>
    <string>fbauth2</string>
    <string>fbshareextension</string>
  </array>
  1. After that I opened AppDelegate.m and did the following:
...
#import <FBSDKCoreKit/FBSDKCoreKit.h>
...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
  
  [[FBSDKApplicationDelegate sharedInstance] application:application
      didFinishLaunchingWithOptions:launchOptions];
  
  return YES;
}

- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
  if ([[FBSDKApplicationDelegate sharedInstance] application:app openURL:url options:options]) {
    return YES;
  }

  return NO;
}

...

Then when I run the app react-native run-ios I get the above-mentioned long error.

Expected Behavior

It should run, but I'm not. even able to run the app. I tried starting a fresh project and running that project first and then implementing all the steps like installing the package, installing pods but then when I click on the button I was getting null is not an object (evaluating LoginManager.logInWithReadPermissions) but the moment I did react-native run-ios it started giving this long error again so after installing the package and installing pods if I do react-native run-ios then this long error occurs otherwise that null is not an obj... one shows when I press the login button.

Code Example

In my App.js I have this code:

import React from 'react';
import { Button, Text, View } from 'react-native';

import { AccessToken, LoginManager } from 'react-native-fbsdk-next'

function App(props) {
  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <Text>Login with facebook example</Text>
      <Button title={"Login with Facebook"} onPress={() => {
        LoginManager.logInWithPermissions(["public_profile", "email"]).then(
          function (result) {
            if (result.isCancelled) {
              alert("Login Cancelled " + result)
            } else {
              alert("Login success with  permisssions: " + result.grantedPermissions.toString()
              );
            }
          },
          function (error) {
            alert("Login failed with error: " + error);
          }
        );
      }} />
    </View>
  );
}

export default App;

Environment

I'm using VSCode on MacOS.
Node version is: v15.13.0
NPM version is: 7.8.0
React-Native version: 0.64.0

Exception App id not found <IOS>

🐛 Bug Report

Exception App id not found ,
the same codes working fine with fbsdk but when i migrate to fbsdk next i got this error on ios

To Reproduce

add react native fbsdk next to your project and try to use it

Expected Behavior

it should prompt the login page

Environment

Xcode: 12.5
React-Native : 64.2
System:
OS: macOS 11.4
CPU: (8) x64 Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
Memory: 67.70 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash

Binaries:
Node: 16.3.0 - /usr/local/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 7.15.1 - /usr/local/bin/npm
Watchman: 2021.06.07.00 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4

photo_2021-06-18_12-42-27

Facebook Login error: Logging into this app is not available at this time

🐛 Bug Report

Hello everyone, i was trying to implement sample Facebook login flux following this github docs, and i get this error, if someone know how to deal with it, i was trying with expo managed and expo-facebook, and was getting the same error, maybe i lost in some app config from facebook, please i need D:, my app is 99% based in facebook sdk

Basicaly i follow the docs importing the LoginButton, configured appId following facebook android steps, and everytime i fall into this:

WhatsApp Image 2021-05-23 at 19 50 25

I cant reproduce with expo-snack, but basicaly is the normal use, using login button

https://snack.expo.io/@edusnown/logging-into-this-app-facebook-error

Environment

System:
OS: Linux 5.8 Ubuntu 20.10 (Groovy Gorilla)
CPU: (4) x64 Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
Memory: 1.25 GB / 15.42 GB
Shell: 5.0.17 - /bin/bash
Binaries:
Node: 14.16.0 - /usr/bin/node
Yarn: 1.22.5 - /usr/bin/yarn
npm: 7.14.0 - ~/www/imobiteste/node_modules/.bin/npm
Watchman: 20210516.170703.0 - /usr/local/bin/watchman
SDKs:
Android SDK: Not Found
IDEs:
Android Studio: 4.1 AI-201.8743.12.41.7199119
Languages:
Java: 11.0.11 - /usr/bin/javac
Python: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: ~0.63.4 => 0.63.4
npmGlobalPackages:
react-native: Not Found

Chrome app crushes while trying to use Facebook login on android

I followed every step on guide and it seemed like everything was fine since I was getting no build errors.

But when I press on the log in button Chrome opens for a second and then immediately crushes.

Any suggestions?

string.xml :

<resources>
    <string name="app_name">peraapp</string>
    <string name="facebook_app_id">id</string>
    <string name="fb_login_protocol_scheme">id</string>
</resources>

android.manifest :

<meta-data android:name="com.facebook.sdk.ApplicationId" 
        android:value="@string/facebook_app_id"/>
    
    <activity android:name="com.facebook.FacebookActivity"
        android:configChanges=
                "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name" />
    <activity
        android:name="com.facebook.CustomTabActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="@string/fb_login_protocol_scheme" />
        </intent-filter>
    </activity>

build.gradle:

buildscript {
    ext {
        buildToolsVersion = "29.0.3"
        minSdkVersion = 21
        compileSdkVersion = 29
        targetSdkVersion = 29
        ndkVersion = "20.1.5948944"
    }
    repositories {
        mavenCentral()
        google()
        jcenter()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:4.1.0")
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        mavenLocal()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url("$rootDir/../node_modules/react-native/android")
        }
        maven {
            // Android JSC is installed from npm
            url("$rootDir/../node_modules/jsc-android/dist")
        }

        google()
        jcenter()
        maven { url 'https://www.jitpack.io' }
    }
}

firebase crashlytics report: FBSDKSKAdNetworkReporter (After version of ATT)

After version of react-native-tracking-transparency (ATT) applied
Firebase Crashlytics reports crashes, such as attached images.
(FBSDKSKAdNetworkReporter.m line 92 / Fatal Exception: NSInvalidArgumentException)

firebase_crash

I am currently using react-native-fbsdk-next. (FB SDK >= 9)
What should I do to fix the problem?
Thank you.

email is missing

When i try to get email in android, i always get response null

FBSDK does not allow to sign in with a different account after logging out

This is a transfer of this original issue in the now archived repository: facebookarchive/react-native-fbsdk#712

🐛 Bug Report

There's no way to change the account you have signed in, even if you successfully log out of the application.

I also tried to clear the Safari cache in the Settings, and it still presents me with a "You previously logged in to [APP] with Facebook".

To Reproduce

  1. Login in with a Facebook account A.
  2. Successfully log out of facebook account B. Logout of Safari browser, clear Safari cache on Settings.
  3. Try to login in with a Facebook account B. You're unable because the webview somehow still remembers the Facebook account A.

Expected Behavior

There should be a way to clear the webview cookies/cache.

This is likely a problem on the iOS Facebook SDK to be honest, but I wonder if there's anything we can do in our side to clear it manually, at least in development.

Workaround (development)

  1. In the iOS simulator, go to Device -> Erase all content and settings
  2. Rebuild the app react-native run-ios.

Environment

System:
    OS: macOS 11.3.1
    CPU: (8) x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
    Memory: 24.07 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.16.1
    Yarn: 1.19.1
    npm: 6.14.12
    Watchman: Not Found
  Managers:
    CocoaPods: 1.10.1 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
    Android SDK:
      API Levels: 29, 30
      Build Tools: 28.0.3, 29.0.2, 30.0.3
      System Images: android-29 | Google APIs Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 4.1 AI-201.8743.12.41.7199119
    Xcode: 12.5/12E262 - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_282 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.1 => 17.0.1
    react-native: 0.64.0 => 0.64.0
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Can't run react-native run-android

🐛 Bug Report

I changed from react-native-fbsdk to react-native-fbsdk-next, following steps on comment section here #1 (comment). It works fine on iOS. On Android, when trying to build react-native app with "react-native run-android", i got the following error:

/node_modules/react-native-fbsdk-next/android/src/main/java/com/facebook/reactnative/androidsdk/FBProfileModule.java:16: error: constructor ReactContextBaseJavaModule in class ReactContextBaseJavaModule cannot be applied to given types;
public class FBProfileModule extends ReactContextBaseJavaModule {
^
required: ReactApplicationContext
found: no arguments
reason: actual and formal argument lists differ in length
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/myuser/Project/project-mobile/node_modules/react-native-fbsdk-next/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error

FAILURE: Build failed with an exception.

  • What went wrong:å
    Execution failed for task ':react-native-fbsdk-next:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 15s

error Failed to install the app. Make sure you have the Android development environment set up: https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
/Users/myuser/Project/project-mobile/node_modules/react-native-fbsdk-next/android/src/main/java/com/facebook/reactnative/androidsdk/FBProfileModule.java:16: error: constructor ReactContextBaseJavaModule in class ReactContextBaseJavaModule cannot be applied to given types;
public class FBProfileModule extends ReactContextBaseJavaModule {
^
required: ReactApplicationContext
found: no arguments
reason: actual and formal argument lists differ in length
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/myuser/Project/project-mobile/node_modules/react-native-fbsdk-next/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':react-native-fbsdk-next:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 15s

at checkExecSyncError (child_process.js:629:11)
at execFileSync (child_process.js:647:13)
at runOnAllDevices (/Users/myuser/Project/project-mobile/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:94:39)
at buildAndRun (/Users/myuser/Project/project-mobile/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/index.js:158:41)
at then.result (/Users/myuser/Project/project-mobile/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/index.js:125:12)
at process._tickCallback (internal/process/next_tick.js:68:7)

Is it possibly related to this: facebook/react-native#21917 ?

To Reproduce

Update from react-native-fbsdk on Android project, to react-native-fbsdk-next. Run "react-native run-android" in terminal.

Expected Behavior

To build Android project successfully and debug on a device.

Code Example

Environment

System:
OS: macOS 11.2.1
CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
Memory: 177.80 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 10.19.0 - ~/.nvm/versions/node/v10.19.0/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 6.13.4 - ~/.nvm/versions/node/v10.19.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.8.4 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
Android SDK:
API Levels: 29, 30
Build Tools: 28.0.3, 30.0.3
System Images: android-30 | Google APIs Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 4.1 AI-201.8743.12.41.7199119
Xcode: 12.4/12D4e - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_282 - /usr/local/opt/openjdk@8/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 16.9.0 => 16.9.0
react-native: 0.61.5 => 0.61.5
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found

build failed on IOS

** BUILD FAILED **

description: unable to build an app on IOS when i am using this library i.e.
react-native-fbsdk-next

----------error--------------
The following build commands failed:
PrecompileSwiftBridgingHeader normal x86_64
CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
(2 failures)

CocoaPods could not find compatible versions for pod "FBSDKCoreKit" (part#2)

I'm having this issue: #20
@mikehardy has provided a possible solution how ever he has not given me enough details to work out how to get things working, so I'm starting a new thread as that one is locked.

I have tried updating the react-native-fbsdk-next.podspec to: https://pastebin.com/8BDx9r84

but I am still getting the following errors: https://pastebin.com/X8yZbpCh

I also tried changing the version on the Podfile.lock to 9.2.0.

Can any one provide more information on how to resolve this issue?

[iOS 14.4.2] Keep having "NSErrorFailingURLStringKey"

🐛 Bug Report

I followed the doc to implement the Facebook Login in my app. Everything works fine on emulator (iOS 14.1) but when i launch it on real device (iOS 14.4.2) I keep having this error :

NSErrorFailingURLStringKey=https://graph.facebook.com/v9.0 ... _kCFStreamErrorDomainKey=4

I also tried on another real device running iOS 14.4 and it works well.

To Reproduce

Try to Login/Sign up with Facebook on iOS 14.4.2

Expected Behavior

Get a callback from https://graph.facebook.com

Code Example

loginWithFacebook() {
    LoginManager.logOut();
    LoginManager.logInWithPermissions(['email']).then((result) => {
        if (result.isCancelled) {
          console.log('Login cancelled');
        } else {
          console.log(
            'Login success with permissions: ' +
              result.grantedPermissions.toString(),
          );
          AccessToken.getCurrentAccessToken().then(data => {
            console.log(data.accessToken.toString());
            console.log('result-->', result);
            token = data.accessToken.toString();
            this.initUser(data.accessToken.toString());
          });
        }
      })
      .catch((error) => {
        console.log('Login fail with error: ' + error);
      },
    );
  };

  initUser(token) {
    fetch('https://graph.facebook.com/v9.0/me?fields=email,name,friends&access_token=' + token)
    .then((response) => response.json())
    .then((json) => {
      console.log('Profile', json);
      let email = json.email;
      let username = json.name.replace( /\s/g, '');
      let password = this.makePassword(8);
      this.register(email,username,password);
    })
    .catch(() => {
      reject('ERROR GETTING DATA FROM FACEBOOK')
    })
  }

Environment

System: OS: macOS 11.2.3 CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz Memory: 19.27 MB / 16.00 GB Shell: 5.8 - /bin/zsh Binaries: Node: 14.16.0 - /usr/local/bin/node Yarn: 1.22.5 - ~/.yarn/bin/yarn npm: 7.6.3 - /usr/local/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman Managers: CocoaPods: 1.10.1 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2 Android SDK: Not Found IDEs: Android Studio: 4.1 AI-201.8743.12.41.7199119 Xcode: 12.4/12D4e - /usr/bin/xcodebuild Languages: Java: javac 14 - /usr/bin/javac Python: 2.7.16 - /usr/bin/python npmPackages: @react-native-community/cli: Not Found react: 16.13.1 => 16.13.1 react-native: 0.63.4 => 0.63.4 react-native-macos: Not Found npmGlobalPackages: *react-native*: Not Found

App ID not found (iOS)

🐛 Bug Report

After LoginManager.logInWithPermissions() catch an error on iOS:
Снимок экрана 2021-06-16 в 14 13 00

To Reproduce

Followed the documentation, and get into this error. Also cannot understand if i edited AppDelegate.m correctly?

Expected Behavior

Open facebook modal for sign in

Code Example

All files involved:

AppDelegate.m

#import <Firebase.h>
#import "AppDelegate.h"

#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>

#ifdef FB_SONARKIT_ENABLED
#import <FlipperKit/FlipperClient.h>
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>

#import <FBSDKCoreKit/FBSDKCoreKit.h>

static void InitializeFlipper(UIApplication *application) {
  FlipperClient *client = [FlipperClient sharedClient];
  SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults];
  [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]];
  [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]];
  [client addPlugin:[FlipperKitReactPlugin new]];
  [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]];
  [client start];
}
#endif

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  [FBSDKApplicationDelegate initializeSDK:launchOptions]; //<-- FacebookSDK initialize
  
  if ([FIRApp defaultApp] == nil) { // <-- Firebase iOS SDK must be configured during the bootstrap phase of your application
    [FIRApp configure];
  }

  #ifdef FB_SONARKIT_ENABLED
    InitializeFlipper(application);
  #endif
  
  [[FBSDKApplicationDelegate sharedInstance] application:application // <-- Connect App Delegate
                           didFinishLaunchingWithOptions:launchOptions]; 

  RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
  RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
                                                   moduleName:@"MeQRReviewApp"
                                            initialProperties:nil];

  if (@available(iOS 13.0, *)) {
      rootView.backgroundColor = [UIColor systemBackgroundColor];
  } else {
      rootView.backgroundColor = [UIColor whiteColor];
  }

  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  UIViewController *rootViewController = [UIViewController new];
  rootViewController.view = rootView;
  self.window.rootViewController = rootViewController;
  [self.window makeKeyAndVisible];
  
  return YES;
}

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
  return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
}

- (BOOL)application:(UIApplication *)application // <-- Connect App Delegate
            openURL:(NSURL *)url
            options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options
{
  [[FBSDKApplicationDelegate sharedInstance] application:application
                                                 openURL:url
                                                 options:options];
  return YES;
}

@end



Info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>en</string>
	<key>CFBundleDisplayName</key>
	<string>MeQRReviewApp</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>XXX</string>
			</array>
		</dict>
	</array>
	<key>CFBundleVersion</key>
	<string>1</string>
	<key>LSRequiresIPhoneOS</key>
	<true/>
	<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSExceptionDomains</key>
		<dict>
			<key>localhost</key>
			<dict>
				<key>NSExceptionAllowsInsecureHTTPLoads</key>
				<true/>
			</dict>
		</dict>
		<key>CFBundleURLTypes</key>
		<array>
			<dict>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>fbXXX</string>
			</array>
			</dict>
		</array>
		<key>FacebookAppID</key>
		<string>XXX</string>
		<key>FacebookClientToken</key>
		<string>XXX</string>
		<key>FacebookDisplayName</key>
		<string>XXX</string>
		<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>
	</dict>
	<key>NSLocationWhenInUseUsageDescription</key>
	<string></string>
	<key>UIAppFonts</key>
	<array>
		<string>AntDesign.ttf</string>
		<string>Entypo.ttf</string>
		<string>EvilIcons.ttf</string>
		<string>Feather.ttf</string>
		<string>FontAwesome.ttf</string>
		<string>FontAwesome5_Brands.ttf</string>
		<string>FontAwesome5_Regular.ttf</string>
		<string>FontAwesome5_Solid.ttf</string>
		<string>Foundation.ttf</string>
		<string>Ionicons.ttf</string>
		<string>MaterialIcons.ttf</string>
		<string>MaterialCommunityIcons.ttf</string>
		<string>SimpleLineIcons.ttf</string>
		<string>Octicons.ttf</string>
		<string>Zocial.ttf</string>
		<string>Fontisto.ttf</string>
	</array>
	<key>UILaunchStoryboardName</key>
	<string>LaunchScreen</string>
	<key>UIRequiredDeviceCapabilities</key>
	<array>
		<string>armv7</string>
	</array>
	<key>UISupportedInterfaceOrientations</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
	<key>UIViewControllerBasedStatusBarAppearance</key>
	<false/>
</dict>
</plist>

Environment

React Native: 0.64.2
react-native-fbsdk-next: 4.3.0

Open letter - Road to 7.0.0

I decided to create this issue to have the plans about the future of this library in a way that others could help and not only wait for me or any other maintainer.

Also feel free to review any PR that is open or engage into the issues and that also needs some help either helping with questions, triage, or anything. I will be more than happy to include you as contributor and maintainer in this project if you would.

I see the future of this library moving towards a full typescript migration and a split the repository (monorepo into smaller parts of the FB SDK library, as the native dependencies are already splitter so we could also split it into specific libs under the same umbrela in order to improve the code splitting and saving for the app consumers of this library. (which leads us to smaller apps)

So, at this moment the main steps from my perspective are:

  • Full Migration to TS - in progress! Needs someone to help finish: #95
  • Split the repository in a monorepo (using lerna (?))
  • Integrate with newest FB sdks (#127 #132)
  • sky is the limit :)

If you see any other major step that you believe should be included into this 5.0.0 milestone please comment below ;)

App Events with null-value params silently do not get sent to Facebook

🐛 Bug Report

In idiomatic JavaScript, it is common to generate objects like:

{
  exampleParam: x ? x.value : null,
}

However, passing this object to logPurchase as the third parameter, params when exampleParam is null results in the event silently not propagating to Facebook Events.

To Reproduce

Issue the following event:

AppEventsLogger.logPurchase(15, "USD", { exampleParam: "hello", exampleParam2: null });

This event will never show up under the "Test Your Events in Real Time" pane at https://www.facebook.com/events_manager2/

Expected Behavior

One of the following, in order of ideal behavior:

  1. react-native-fbsdk-next cleans out null object properties and sends the event to Facebook
  2. An error is logged to be easily caught in logcat
  3. An exception is thrown and the error is not sent to Facebook

Code Example

Issue the event under "To Reproduce" while looking at the "Test Your Events in Real Time" pane at https://www.facebook.com/events_manager2/

Environment

The specific react native environment should not affect this issue.

App tracking Transparency for IOS 14

In native code to disable tracking as below,
Settings.setAdvertiserTrackingEnabled(false)

Please let me know how to disable app tracking in react native with the IOS platform, To avoid prompting the run time permission for request tracking in IOS 14

[ios] fetchDeferredAppLink not work

🐛 Bug Report

AppLink.fetchDeferredAppLink() is called, but app-ads-helper check failed.
image

Code Example

AppLink.fetchDeferredAppLink().then(data => {
  console.debug("Deferred App Link: " + data);
})

Environment

System:
OS: macOS 11.4
CPU: (12) x64 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
Memory: 2.51 GB / 8.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.17.0 - /usr/local/bin/node
Yarn: Not Found
npm: 7.11.2 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.1 - /Users/pbg/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode: 12.5/12E262 - /usr/bin/xcodebuild
Languages:
Java: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.1 => 17.0.1
react-native: 0.64.0 => 0.64.0
react-native-macos: Not Found

FBSDK is blocked at version 9.0.1 and can't be updated to 9.3.0

🐛 Bug Report

It looks like the FBSDK is blocked to 9.0.x by the CocoaPods optimistic operator since commit 6b67a79 in react-native-fbsdk-next.podspec

To Reproduce

Run pod update and look a the FBSDK version in the Podfile.lock (9.0.1)

Expected Behavior

Running pod update should update the FBSDK to the latest version (currently 9.3.0)

CocoaPods could not find compatible versions for pod "FBSDKCoreKit":

Hi, I am having trouble using this library, I followed the instructions with the facebook guide that appears on the readMe and did all the steps.

Before this, I used the react-native-fbsdk library which is now deprecated due to facebook releasing a newer version (0.9) of the SDK. In the instructions here says that you can add the pod that you need in the podfile of ios but when I add them and then pod install I get this error:

[!] CocoaPods could not find compatible versions for pod "FBSDKCoreKit":
  In snapshot (Podfile.lock):
    FBSDKCoreKit (= 9.0.1, ~> 9.0.1)

  In Podfile:
    FacebookShare was resolved to 0.1.1, which depends on
      FBSDKCoreKit (~> 4.14)

    react-native-fbsdk-next (from `../node_modules/react-native-fbsdk-next`) was resolved to 4.0.0, which depends on
      react-native-fbsdk-next/Core (= 4.0.0) was resolved to 4.0.0, which depends on
        FBSDKCoreKit (~> 9.0.1)


You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * changed the constraints of dependency `FBSDKCoreKit` inside your development pod `react-native-fbsdk-next`.
   You should run `pod update FBSDKCoreKit` to apply changes you've made.

Also, with this library you need to modify the appDelegate.m here but when I add that code it says I am missing an import, I know the import missing is FBSDKCoreKit or at least I think it is because the previous SDK used that one. To fix that you need to add the pod but when I add it the error above shows up.

LoginError when Facebook app is installed (Android)

🐛 Bug Report

The login works great when the Facebook app is not installed but whenever I install the app and click login, this error pops up:
image

To Reproduce

  1. Run any app that has this repo integrated.
  2. Implement login any way you want (I tested using both LoginManager & LoginButton which both seemed to give the same error)
  3. Download Facebook on AVD.
  4. Click login button.
  5. Notice the LoginError message.

Expected Behavior

The app automatically logs in if the FB app is logged in then prompts for permissions if this is the first time.

Code Example

Not possible to repo on snack because it would require being able to download Facebook onto the emulator.

Environment

Library version: ^4.3.0

System:
    OS: Windows 10 10.0.19043
    CPU: (4) x64 Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz
    Memory: 1.71 GB / 15.89 GB
  Binaries:
    Node: 14.16.1 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.10 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 7.18.1 - C:\Program Files\nodejs\npm.CMD
    Watchman: Not Found
  SDKs:
    Android SDK: Not Found
    Windows SDK: Not Found
  IDEs:
    Android Studio: Version  4.1.0.0 AI-201.8743.12.41.7199119
    Visual Studio: Not Found
  Languages:
    Java: 11.0.10
  npmPackages:
    @react-native-community/cli: Not Found
    react: ^17.0.2 => 17.0.2
    react-native: ^0.64.0 => 0.64.2
    react-native-windows: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Workaround

For anyone who might be looking into this issue and needs an immediate fix, the workaround I've been using for now is setting the login behaviour to web only before calling logInWithPermissions like this:
LoginManager.setLoginBehavior('web_only');

duplicate symbols for architecture x86_64

I got this error after i remove the old version "react-native-fbsdk" and install "react-native-fbsdk-next" and run it on ios. Is there anyone know why it happened ? I'm using rn 0.64.2 and newest react-native-fbsdk-next

duplicate symbol 'OBJC_CLASS$_FBSDKBase64' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKBase64.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKBase64.o)
duplicate symbol 'OBJC_METACLASS$_FBSDKBase64' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKBase64.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKBase64.o)
duplicate symbol 'OBJC_CLASS$_FBSDKBasicUtility' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKBasicUtility.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKBasicUtility.o)
duplicate symbol 'OBJC_METACLASS$_FBSDKBasicUtility' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKBasicUtility.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKBasicUtility.o)
duplicate symbol '_fb_dispatch_on_default_thread' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKBasicUtility.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKBasicUtility.o)
duplicate symbol '_fb_dispatch_on_main_thread' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKBasicUtility.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKBasicUtility.o)
duplicate symbol 'OBJC_IVAR$_FBSDKCrashHandler._observers' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol 'OBJC_IVAR$_FBSDKCrashHandler._processedCrashLogs' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol 'OBJC_IVAR$_FBSDKCrashHandler._dataExtractor' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol 'OBJC_CLASS$_FBSDKCrashHandler' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol 'OBJC_METACLASS$_FBSDKCrashHandler' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol '_kFBSDKMappingTableIdentifier' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol 'OBJC_IVAR$_FBSDKCrashHandler._fileManager' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol '_kFBSDKCrashTimestamp' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol '_kFBSDKCrashReason' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol '_kFBSDKAppVersion' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol '_kFBSDKDeviceOSVersion' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol 'OBJC_IVAR$_FBSDKCrashHandler._isTurnedOn' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol '_kFBSDKDeviceModel' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol '_kFBSDKCallstack' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol 'OBJC_IVAR$_FBSDKCrashHandler._bundle' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol '_kFBSDKMapingTable' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKCrashHandler.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKCrashHandler.o)
duplicate symbol 'OBJC_IVAR$_FBSDKJSONValue._rawObject' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKJSONValue.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKJSONValue.o)
duplicate symbol 'OBJC_IVAR$_FBSDKJSONField._rawObject' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKJSONValue.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKJSONValue.o)
duplicate symbol '_FBSDKCreateJSONFromString' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKJSONValue.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKJSONValue.o)
duplicate symbol 'OBJC_CLASS$_FBSDKJSONValue' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKJSONValue.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKJSONValue.o)
duplicate symbol 'OBJC_METACLASS$_FBSDKJSONValue' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKJSONValue.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKJSONValue.o)
duplicate symbol 'OBJC_CLASS$_FBSDKJSONField' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKJSONValue.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKJSONValue.o)
duplicate symbol 'OBJC_METACLASS$_FBSDKJSONField' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKJSONValue.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKJSONValue.o)
duplicate symbol 'OBJC_CLASS$_FBSDKLibAnalyzer' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKLibAnalyzer.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKLibAnalyzer.o)
duplicate symbol 'OBJC_METACLASS$_FBSDKLibAnalyzer' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKLibAnalyzer.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKLibAnalyzer.o)
duplicate symbol 'OBJC_CLASS$_FBSDKTypeUtility' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKTypeUtility.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKTypeUtility.o)
duplicate symbol 'OBJC_METACLASS$_FBSDKTypeUtility' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKTypeUtility.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKTypeUtility.o)
duplicate symbol 'OBJC_IVAR$_FBSDKURLSession._session' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSession.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSession.o)
duplicate symbol 'OBJC_CLASS$_FBSDKURLSession' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSession.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSession.o)
duplicate symbol 'OBJC_METACLASS$_FBSDKURLSession' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSession.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSession.o)
duplicate symbol 'OBJC_IVAR$_FBSDKURLSession._delegateQueue' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSession.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSession.o)
duplicate symbol 'OBJC_IVAR$_FBSDKURLSession._delegate' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSession.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSession.o)
duplicate symbol 'OBJC_IVAR$_FBSDKURLSessionTask._handler' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSessionTask.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSessionTask.o)
duplicate symbol 'OBJC_IVAR$_FBSDKURLSessionTask._loggerSerialNumber' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSessionTask.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSessionTask.o)
duplicate symbol 'OBJC_IVAR$_FBSDKURLSessionTask._task' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSessionTask.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSessionTask.o)
duplicate symbol 'OBJC_CLASS$_FBSDKURLSessionTask' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSessionTask.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSessionTask.o)
duplicate symbol 'OBJC_METACLASS$_FBSDKURLSessionTask' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSessionTask.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSessionTask.o)
duplicate symbol 'OBJC_IVAR$_FBSDKURLSessionTask._requestStartDate' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSessionTask.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSessionTask.o)
duplicate symbol 'OBJC_IVAR$_FBSDKURLSessionTask._requestStartTime' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKURLSessionTask.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKURLSessionTask.o)
duplicate symbol '_FBSDKAppEventCity' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol '_FBSDKAppEventCountry' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol '_FBSDKAppEventGender' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol '_FBSDKAppEventZip' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol '_FBSDKAppEventEmail' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol '_FBSDKAppEventDateOfBirth' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol '_FBSDKAppEventState' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol 'OBJC_CLASS$_FBSDKUserDataStore' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol 'OBJC_METACLASS$_FBSDKUserDataStore' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol '_FBSDKAppEventPhone' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol '_FBSDKAppEventFirstName' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol '_FBSDKAppEventLastName' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
duplicate symbol '_FBSDKAppEventExternalId' in:
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit/libFBSDKCoreKit.a(FBSDKUserDataStore.o)
/Users/macos/Library/Developer/Xcode/DerivedData/Subscribers-gprnudlwzckogsayiqfajngwctkx/Build/Products/Debug-iphonesimulator/FBSDKCoreKit_Basics/libFBSDKCoreKit_Basics.a(FBSDKUserDataStore.o)
ld: 58 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

app[ios] crashed when installed react-native-fbsdk-next lib

Hi, I am a newbie,
To integrate facebook I installed the react-native-fbsdk-next library, after which app crashed and then I uninstalled the library but still getting the errors as below:

warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Flipper-Glog' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'react-native-splash-screen' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'TOCropViewController' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'TOCropViewController-TOCropViewControllerBundle' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'AppAuth' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'GoogleSignIn' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'RNImageCropPicker' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'RNStompWS' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.4, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Flipper-PeerTalk' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'boost-for-react-native' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'Flipper-DoubleConversion' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'RNShare' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'YogaKit' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'RNImageCropPicker-QBImagePicker' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. (in target 'react-native-video' from project 'Pods')

** BUILD FAILED **

The following build commands failed:
CompileC /Users/deepak/Library/Developer/Xcode/DerivedData/churchee-eatfblnccklrpzgmakkkkslerztt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-jsiexecutor.build/Objects-normal/x86_64/JSIExecutor.o /Users/deepak/Desktop/church/churchee_mobile_app_recent/node_modules/react-native/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
CompileC /Users/deepak/Library/Developer/Xcode/DerivedData/churchee-eatfblnccklrpzgmakkkkslerztt/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-jsiexecutor.build/Objects-normal/x86_64/JSINativeModules.o /Users/deepak/Desktop/church/churchee_mobile_app_recent/node_mo

IllegalStateException: com.facebook.react.uimanager.IllegalViewOperationException: ViewManager for tag 63 could not be found

I basically just switched from react-native-fbsdk to this package, and didn't change anything. However, as soon as I started the app, I ran into this exception: https://sentry.io/share/issue/57d3875ef958442e8a3e90b2a2202934/ . The app didn't crash tho and since i'm not using any of the UI elements provided by fbsdk, so I'm not sure if I should be worried about the exception.

(Sentry crash report shared above)

Idea: Add types to DefinitelyTyped

react-native-fbsdk had types supported but this package does not. Typically the author of the library has to add types. I'd be happy to assist in making this enhancement.

[iOS] App crashes on startup on 4.3.0 (probable incompatibility with deprecated MixPanel messaging module)

🐛 Bug Report

App is crashing on app startup on iOS.

+[MPSwizzler swizzleSelector:onClass:withBlock:named:async:]: unrecognized selector sent to class 0x107ac4aa8
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[MPSwizzler swizzleSelector:onClass:withBlock:named:async:]: unrecognized selector sent to class 0x107ac4aa8'
*** First throw call stack:
(0x1a46bd9d8 0x1b8a40b54 0x1a45d2070 0x1a46c001c 0x1a46c1f8c 0x1040f1558 0x107a1e488 0x10a811528 0x10a8208a8 0x10a811528 0x10a81f994 0x1a463d5e0 0x1a4637a88 0x1a4636ba0 0x1bb39c598 0x1a6f282f4 0x1a6f2d874 0x10276caf8 0x1a4315568)
libc++abi.dylib: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[MPSwizzler swizzleSelector:onClass:withBlock:named:async:]: unrecognized selector sent to class 0x107ac4aa8'
terminating with uncaught exception of type NSException

To Reproduce

  • Update react-native-fbsdk-next from 4.2.0 to 4.3.0
  • pod update FBSDKCoreKit FBSDKLoginKit FBSDKShareKit
  • build and run

Expected Behavior

  • App works as before

Actual Behavior

  • App crashes on startup

Code Example

App is currently only initializing the SDK.

import { Settings } from 'react-native-fbsdk-next';

Settings.initializeSDK();

Environment

System:
OS: macOS 11.2.3
CPU: (8) x64 Apple M1
Memory: 270.97 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.15.2 - /var/folders/py/_bdk2p1n13v1hc7fq1bhs2000000gn/T/yarn--1623436645989-0.8183305738118558/node
Yarn: 1.22.10 - /var/folders/py/_bdk2p1n13v1hc7fq1bhs2000000gn/T/yarn--1623436645989-0.8183305738118558/yarn
npm: 6.14.9 - ~/.nvm/versions/node/v14.15.2/bin/npm
Watchman: 4.9.0 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: Not Found // using 1.10.1 with bundler
SDKs:
iOS SDK:
Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
Android SDK:
API Levels: 28, 29, 30
Build Tools: 28.0.3, 29.0.2, 29.0.3, 30.0.2
System Images: android-S | Google APIs ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 4.2 AI-202.7660.26.42.7351085
Xcode: 12.4/12D4e - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_292 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: ^0.63.3 => 0.63.4
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found

Get User credentials after successful login

After successfully login with the Facebook login dialog, the result doesn't return the actual use credentials.
Instead it returns: {"declinedPermissions": [], "grantedPermissions": ["public_profile", "email"], "is
Cancelled": false}

LoginManager.logInWithPermissions(["public_profile"]).then(
  function(result) {
    console.log(result)
    //I get this in the console: {"declinedPermissions": [], "grantedPermissions": ["public_profile", "email"], "is
Cancelled": false}
    }
  },
);

How to send multiple content_ids?

🐛 Bug Report

I check in node_modules/react-native-fbsdk-next/types/FBAppEventsLogger.d.ts that AppEventParam can only send a single ContentID as a String
Screen Shot 2021-05-24 at 12 00 55

I want to use Dynamic Ads... According to this https://business.facebook.com/business/help/606577526529702?id=1205376682832142 I need to send content_ids which can be a single content ID or an array of content IDs
Screen Shot 2021-05-24 at 12 04 32

And the problem is I can never send an array at all. I use Test Events in Pixels Event Manager to get realtime log. Every time I send an array, VIewItem Event or any other events is not logged.

This picture shows the wrong format. So, JSON.stringify is not a workaround for this.

Screen Shot 2021-05-24 at 13 54 14

To Reproduce

  1. Open Event Manager => Test Events. Make sure the device is connected to this feature
  2. Log ViewItem Event or other Events by sending an array, you can use custom events. Example: product_ids: ['1', '2', '3']
  3. Check Test Events, nothing entered here

Expected Behavior

This library can send an array data type

Environment

"react": "16.9.0",
"react-native": "0.61.1",
"react-native-fbsdk-next": "^4.2.0",

LoginManager.logInWithPermissions always return {isCancelled: true}

🐛 Bug Report

I already implement all the required steps for the Login with Facebook feature on the official documentation of this library. and already implemented some step required like updating AndroidManifest and res/values/strings.xml . But when I tried to excecute this code:
const result = await LoginManager.logInWithPermissions(['public_profile']);

it opens another activity for a second and then back to the app and said {isCancelled: true} .

Do I need to verify my business in order to use facebook login?

To Reproduce

  1. Add react-native-fbsdk-next
  2. Follow required steps on android native.
  3. Run LoginManager.logInWithPermissions function
  4. return {isCancelled: true}

Expected Behavior

return {isCancelled: false}

Code Example

const result = await LoginManager.logInWithPermissions(['public_profile']);

if (result.isCancelled) {
  throw 'User cancelled the login process';
}

const data = await AccessToken.getCurrentAccessToken();

if (!data) {
  throw 'Something went wrong obtaining access token';
}

const facebookCredential = auth.FacebookAuthProvider.credential(data.accessToken);

return auth().signInWithCredential(facebookCredential);

Environment

System:
OS: macOS 11.2.2
CPU: (8) x64 Apple M1
Memory: 99.65 MB / 8.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.15.5 - /usr/local/bin/node
Yarn: 1.22.10 - ~/Projects/ghackdev/networth/node_modules/.bin/yarn
npm: 7.5.0 - /opt/homebrew/bin/npm
Watchman: 4.9.0 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
Android SDK:
API Levels: 28, 29, 30
Build Tools: 28.0.3, 29.0.2, 30.0.3
System Images: android-30 | Google APIs Intel x86 Atom, android-30 | Google Play ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: Not Found
Xcode: 12.5/12E262 - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_292 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: 0.63.4 => 0.63.4
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.