Mach-O error on Flurry integration Xcode
Asked Answered
P

2

19

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.

Psych answered 22/9, 2012 at 17:6 Comment(6)
Not sure whether you're on Simulator or Device there. You might need to add support for armv6 AND armv7. If so, see: #7489157Atalanti
I was trying it with a device. Just to see I tried building to the simulator and got the same errors. I added support for armv6 and 7 in addition to 7s as described in the link you sent, but that didn't help either. Good thoughts though, any other ideas?Psych
Have you added SystemConfiguration.framework?Protect
Please upgrade to the latest Flurry SDK v4.0.4 for iOS. It is built from Xcode 4.5 and includes support for iPhone 5 and armv7s. The error mentioned by you was caused due to a bug in SDK v4.0.1, and was fixed in the next release v4.0.2. (Disclaimer: I work in the Support team at Flurry)Legibility
Well I was using version 4.0.4. However I'd forgotten to add SystemConfiguration.framework. Thanks for your help everyone!Psych
I had the same problem when I added the framework via the build phases tab in project settings. When I did this it wasn't adding the binary (libFlurry.a) properly. Fixed it by dragging the Flurry folder directly into the Frameworks folder.Primrose
P
43

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

Portland answered 18/10, 2012 at 5:26 Comment(1)
Bam! Wonder why they did not include this in their instructions.Ahoy
H
0

There is an alternative API that is also free (full disclosure I'm a co-founder): www.askingpoint.com. It is iOS 6 ready and includes an embedded rating widget that is controlled from your server side account and uses your analytics to only ask users that use you a lot to rate you.

Hope that addresses the complaints on my earlier post. Sorry about the messed up link.

Hemolysis answered 24/9, 2012 at 13:22 Comment(4)
Cliff, AskingPoint does sound really cool. Is it possible to add it in conjunction with other analytics services? I'd love to try out the ratings system but am probably gonna go with Flurry for the analytics itself.Psych
Sure. It's totally free and there is nothing on our end stopping people from using more than one solution. It really only takes one line of code to get started and about 5 minutes of time. You can contact me via the email on my stack profile or the site listed there if you want.Hemolysis
Hey Cliff, Just wanted to let you know that I installed AskingPoint and have been using it to handle reviews on my app. It's been great so far, thanks for introducing me to it :-)Psych
Hey James, nice! We see your App is cranking and your numbers are climbing pretty fast. Glad to be of help.Hemolysis

© 2022 - 2024 — McMap. All rights reserved.