简体   繁体   中英

Unity Facebook SDK 7.0.2 Failed to compile in iOS

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?

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.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM