Search code examples
iosxcodeanalyticsflurry

Mach-O error on Flurry integration Xcode


I'm attempting to integrate the Flurry SDK into my iOS app for the first time. I added the libraries and code to AppDelegate.m as explained in their instructions. When I compile I get the following errors:

 Undefined symbols for architecture armv7:
  "_SCNetworkReachabilityCreateWithAddress", referenced from:
      +[FlurryReachability flurryReachabilityWithAddress:] in libFlurry.a(libFlurry.a-armv7-master.o)
  "_SCNetworkReachabilityCreateWithName", referenced from:
      +[FlurryReachability flurryReachabilityWithHostName:] in libFlurry.a(libFlurry.a-armv7-master.o)
  "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
      -[FlurryReachability flurryStopNotifier] in libFlurry.a(libFlurry.a-armv7-master.o)
  "_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
      -[FlurryReachability flurryStartNotifier] in libFlurry.a(libFlurry.a-armv7-master.o)
  "_SCNetworkReachabilitySetCallback", referenced from:
      -[FlurryReachability flurryStartNotifier] in libFlurry.a(libFlurry.a-armv7-master.o)
  "_SCNetworkReachabilityGetFlags", referenced from:
      -[FlurryReachability flurryCurrentReachabilityStatus] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryReachable] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryConnectionRequired] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryConnectionOnDemand] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryUserInterventionRequired] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryReachableViaWWAN] in libFlurry.a(libFlurry.a-armv7-master.o)
      -[FlurryReachability isFlurryReachableViaWiFi] in libFlurry.a(libFlurry.a-armv7-master.o)
      ...
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I've updated to the latest version of XCode and am using the latest Flurry SDK.

Anyone else encountering this and have a fix? Their support forums mentioned a similar issue several days ago but the users claimed it was fixed, and I can't find any suggestions on their site of what to do about it.


Solution

  • In short, you need to link against the SystemConfiguration framework. The answer to this thread explains this. Fixed it for me when I upgraded to Flurry SDK 4.0.6.

    I wish Flurry explained this, but I did not see any documentation on Flurry's site explaining this necessary Flurry SDK 4.0.6 integration step.

    Link Against SystemConfiguration.framework