Hi I am using OperTok SDK for video chating in my app. Everything works fine in my app. But when I try to run it in a 64 bit device/simulator - Build fails with below error report.
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_OTPublisher", referenced from:
objc-class-ref in Instr_Video_call.o
objc-class-ref in Student_Video_call.o
"_OBJC_CLASS_$_OTSession", referenced from:
objc-class-ref in Instr_Video_call.o
objc-class-ref in Student_Video_call.o
"_OBJC_CLASS_$_OTSubscriber", referenced from:
objc-class-ref in Instr_Video_call.o
objc-class-ref in Student_Video_call.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
My Architecture set up is -
ARCHITECTURES - standard architectures armv7, armv7s, arm64
VALID ARCHITECTURES - armv7, armv7s, arm64
But when I chage these to only ARMV7 - it works (32bit devices/simulators)
What could be the issue, doesn't opentok support 64 bit devices ? Please help me, thanks in advance.
You can check if the library contains 64bit code using lipo. The result shows it is a 32bit framework.
What you can do is to change
Build Active Architecture only
toNO
in project settings and target settings, this way xcode will build all architecture included in the settings but lose some performance since arm64 is better option for 64bit iPhones.