1

I am getting the following error while running my app on a device from Xcode 5.1. while it Build succesfully in Xcode 5.0.2

/Users/XX/TestFlightSDK/libTestFlight.a (4 slices)
Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_TestFlight", referenced from:
      objc-class-ref in XXDataTypes.o
      objc-class-ref in XXAppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I have added arm64 as valid architecture and libTestFlight.a in LinkBinaryWithLibrary, and note that this error shows only in Xcode 5.1 any suggestions or help?

Thanks in advance

LML
  • 1,659
  • 12
  • 29

2 Answers2

1

I think the TestFlight library you are using is not built for arm64 architecture. Check on TestFlight website for latest version which contains arm64.

You can cross check by running the lipo command on the .a file as,

xcrun -sdk iphoneos lipo -info libTestFlight.a

This should list out the architectures contained in the FAT file. Check for existence of arm64 or something like (cputype (16777228) cpusubtype (0)). If it is not present assume that lib is not built for arm64.

Hope that helps!

NOTE : TestFlight 3.0.0 is the latest version which supports arm64 ARCH, But this SDK can only be dowloaded if there is an already uploaded build. Check This

http://help.testflightapp.com/customer/portal/articles/1452760

LML
  • 1,659
  • 12
  • 29
Amar
  • 13,202
  • 7
  • 53
  • 71
  • Yes, armv7 armv7s armv6 i386 are the only archs supported by testflight lib I am using. Thank You – LML Mar 13 '14 at 05:12
0

I suggest you to use Xcode 5.02 stable version (As you mention in your question that these error resolve by using Xcode 5.02, the reason behind is that Xcode 5.01 is beta version and it not stable). Same problems I was facing too before installing Xcode 5.02.

Hopefully this info will helps you.

Irfan
  • 4,301
  • 6
  • 29
  • 46
  • 1
    I am using Xcode 5.1 which is a stable release with iOS 7.1. I think this issue related to the 64bit architecture – LML Mar 13 '14 at 04:40
  • I think the TestFlight you are using, does not support arm64.Kindly check the following link it will hopefully helps you http://stackoverflow.com/questions/19213782/undefined-symbols-for-architecture-arm64 – Irfan Mar 13 '14 at 04:46