4

I'm currently using Unity 5.0.2 and Unity FB SDK 7.0.2 Beta having issue during iOS compilation.

The errors are:

Undefined symbols for architecture armv7:
  "_iosShareLink", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosSetShareDialogMode", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosLogOut", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosLogInWithReadPermissions", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosLogInWithPublishPermissions", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBAppEventsLogEvent", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosInit", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosJoinGameGroup", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBSettingsActivateApp", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosAppRequest", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBSdkVersion", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosCreateGameGroup", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBAppEventsSetLimitEventUsage", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosGetDeepLink", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
  "_iosFBAppEventsLogPurchase", referenced from:
      RegisterMonoModules() in RegisterMonoModules.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

If I'm using IL2CPP to compile, it will shows similar error with some extra information

Undefined symbols for architecture armv7:
  "_iosShareLink", referenced from:
      _IOSFacebook_iosShareLink_m231 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosShareLink_m231, _IOSFacebook_iosShareLink_m231_MethodInfo )
  "_iosSetShareDialogMode", referenced from:
      _IOSFacebook_iosSetShareDialogMode_m230 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosSetShareDialogMode_m230_MethodInfo, _IOSFacebook_iosSetShareDialogMode_m230 )
  "_iosLogOut", referenced from:
      _IOSFacebook_iosLogOut_m229 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosLogOut_m229, _IOSFacebook_iosLogOut_m229_MethodInfo )
  "_iosLogInWithReadPermissions", referenced from:
      _IOSFacebook_iosLogInWithReadPermissions_m227 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosLogInWithReadPermissions_m227_MethodInfo, _IOSFacebook_iosLogInWithReadPermissions_m227 )
  "_iosLogInWithPublishPermissions", referenced from:
      _IOSFacebook_iosLogInWithPublishPermissions_m228 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosLogInWithPublishPermissions_m228_MethodInfo, _IOSFacebook_iosLogInWithPublishPermissions_m228 )
  "_iosFBAppEventsLogEvent", referenced from:
      _IOSFacebook_iosFBAppEventsLogEvent_m236 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosFBAppEventsLogEvent_m236, _IOSFacebook_iosFBAppEventsLogEvent_m236_MethodInfo )
  "_iosInit", referenced from:
      _IOSFacebook_iosInit_m226 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosInit_m226, _IOSFacebook_iosInit_m226_MethodInfo )
  "_iosJoinGameGroup", referenced from:
      _IOSFacebook_iosJoinGameGroup_m234 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosJoinGameGroup_m234_MethodInfo, _IOSFacebook_iosJoinGameGroup_m234 )
  "_iosFBSettingsActivateApp", referenced from:
      _IOSFacebook_iosFBSettingsActivateApp_m235 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosFBSettingsActivateApp_m235, _IOSFacebook_iosFBSettingsActivateApp_m235_MethodInfo )
  "_iosAppRequest", referenced from:
      _IOSFacebook_iosAppRequest_m232 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosAppRequest_m232, _IOSFacebook_iosAppRequest_m232_MethodInfo )
  "_iosFBSdkVersion", referenced from:
      _IOSFacebook_iosFBSdkVersion_m240 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosFBSdkVersion_m240, _IOSFacebook_iosFBSdkVersion_m240_MethodInfo )
  "_iosCreateGameGroup", referenced from:
      _IOSFacebook_iosCreateGameGroup_m233 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosCreateGameGroup_m233, _IOSFacebook_iosCreateGameGroup_m233_MethodInfo )
  "_iosFBAppEventsSetLimitEventUsage", referenced from:
      _IOSFacebook_iosFBAppEventsSetLimitEventUsage_m238 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosFBAppEventsSetLimitEventUsage_m238_MethodInfo, _IOSFacebook_iosFBAppEventsSetLimitEventUsage_m238 )
  "_iosGetDeepLink", referenced from:
      _IOSFacebook_iosGetDeepLink_m239 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosGetDeepLink_m239, _IOSFacebook_iosGetDeepLink_m239_MethodInfo )
  "_iosFBAppEventsLogPurchase", referenced from:
      _IOSFacebook_iosFBAppEventsLogPurchase_m237 in Bulk_Assembly-CSharp_0.o
     (maybe you meant: _IOSFacebook_iosFBAppEventsLogPurchase_m237, _IOSFacebook_iosFBAppEventsLogPurchase_m237_MethodInfo )
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Anyone knows how to fix it?

Cadrick Loh
  • 721
  • 1
  • 7
  • 19

2 Answers2

1

If you find that fbUnityInterface.h is missing from the Xcode project, try this:

Find the file in your Unity project, and click the checkbox by iOS in the "Select platforms for plugin" box in the inspector.

Without this checkbox, Unity may not know that the .h file needs to be included in the build, since it's only referenced in the .mm file, which Unity doesn't parse.

Almo
  • 15,538
  • 13
  • 67
  • 95
  • 1
    This one solved it for me! Although, the `FBUnityUtility.h` also needed to be checked for me in order to make it compile. So a word of advice is to type in "fbunity" in the project search window and examine all the files that are listed in the results to see that the iOS checkbox is ticked. – user1029978 Mar 02 '17 at 07:49
-1

Problem is XCode project is missing Facebook binding file.

Please make sure following files are present in Xcode.

  1. fbUnityInterface.h and fbUnityInterface.m (FB Binding files)
  2. NativeDialogModes.cs
  3. FacebookSDK
Zohaib Javed
  • 323
  • 1
  • 20