1

I am trying to upgrade my iOS app to use Facebook 4.38.0. I am getting a link error as follows:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_FBSDKViewHierarchy", referenced from:
  objc-class-ref in FBSDKMarketingKit(FBSDKButtonIndexer.o)
  "_OBJC_CLASS_$_FBSDKSwizzler", referenced from:
  objc-class-ref in FBSDKMarketingKit(FBSDKButtonIndexer.o)
  "_OBJC_CLASS_$_FBSDKCodelessIndexer", referenced from:
  objc-class-ref in FBSDKMarketingKit(FBSDKButtonIndexer.o)
ld: symbol(s) not found for architecture arm64

My build settings are as follows: Build Active Architecture Only: Yes, Valid Architectures: arm64, armv7, armv7s

In my build settings, the Framework Search Paths correctly points to

/Users/me/Documents/me/iPhone Apps/myProducts/myApp/Pods/FBSDKMarketingKit

which is where the marketingKit is located. Additionally, I manually added the marketingKit framework to the Build Phases->Link with binaries (actually doesn't matter if its there or not).

Does anyone have any other ideas on what I can do to resolve this?

JeffB6688
  • 3,782
  • 5
  • 38
  • 58

1 Answers1

-1

I had the same problem because of the version of FBSDKCoreKit and FBSDKMarketingKit pods were out of sync.

My podfile looked like:

pod 'FBSDKCoreKit', '4.34.0'
pod 'FBSDKLoginKit', '4.34.0'
pod 'FBSDKMarketingKit' // by default it uses the latest version (4.8.0 in my case)

so when I changed pod 'FBSDKMarketingKit' to pod 'FBSDKMarketingKit', '4.34.0' the problem had fixed.

Community
  • 1
  • 1