简体   繁体   English

64位的OpenTok框架

[英]OpenTok framework in 64bit

Hi I am using OperTok SDK for video chating in my app. 嗨,我正在使用OperTok SDK在我的应用中进行视频聊天。 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. 但是,当我尝试在64位设备/模拟器中运行它时-生成失败,并显示以下错误报告。

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) 但是,当我将这些仅用于ARMV7时-它可以工作(32位设备/模拟器)

What could be the issue, doesn't opentok support 64 bit devices ? 这可能是问题所在,opentok不支持64位设备吗? Please help me, thanks in advance. 请帮助我,在此先感谢。

You can check if the library contains 64bit code using lipo. 您可以使用lipo检查库是否包含64位代码。 The result shows it is a 32bit framework. 结果显示它是一个32位框架。

$ 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. 您可以做的是将项目设置和目标设置中的“ Build Active Architecture onlyBuild Active Architecture onlyNO ,这样,由于arm64是64位iPhone的更好选择,因此xcode将构建设置中包含的所有体系结构,但会损失一些性能。

具有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. 那解决了我的问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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