简体   繁体   中英

OpenTok framework in 64bit

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.

$ lipo -info OpenTok.framework/OpenTok 
Architectures in the fat file: OpenTok.framework/OpenTok are: armv7 armv7s i386

What you can do is to change Build Active Architecture only to NO 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.

具有64位支持的OpenTok 2.4.0最近已经发布: https ://tokbox.com/opentok/libraries/client/ios/

You may get this error due to enable bitcode. Try to set enable bitcode "No"

Go to Targets - > Build Settings -> Search "Enable Bitcode" -> Set to "No"

That is solved my problem.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM