互动视频
  • iOS : Objective-C
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序
  • Electron
  • 概述
  • 限制说明
  • SDK 下载
  • 快速开始
  • 常用功能
  • 推拉流进阶
  • 视频进阶
  • 音频进阶
  • 其他功能
  • 废弃接口
  • API 文档
  • 常见错误码
  • 常见问题
  • AI教育
  • KTV 合唱
  • 视频直播
  • 视频通话
  • 游戏直播
  • 直播答题
  • 娃娃机
  • 文档中心
  • 互动视频
  • 常见问题
  • iOS工程配置常见问题

1 报library not loaded错误

配置工程时如果报下图的错误:

原因:在工程配置的时候,没有在embedded Binaries 导入 zegoLiveRoom 对应的库.

解决:在项目 TARGET -> General -> Link Binary With Libraries,添加 ZegoLiveRoom.framework,Status 设置为 Requied.

2 报use of undeclared identifier错误

报错如图所示

原因:我们的接口含有C++的接口

解决:指定用C++11

同时这个地方要改成objective-c++

3 报undefined symbols for architecture for x86_64错误

提示 undefined symbols for architecture for x86_64:

原因:用模拟器编译的,但是链入的库是真机的framework,编译的时候,可以选择文件iphoneos_simulator下的framework编译,但是提审的时候要用文件iphoneos的framwork编译,因为带模拟器的库提审是不通过的.

解决:选择带模拟器和真机的framework编译即可.

4 报undefined symbols for architecture for arm64错误

提示 undefined symbols for architecture for arm64:

原因:链入的arm64的framework找不到,目前有可能的是:下载下来的SDK不完整,实际只有100多kb.

解决:重新下载SDK替换就可以.

5 提示 undefined symbols for architecture for armv7错误

一、动态库引入,提示 undefined symbols for architecture for armv7:
解决: 1、 Framework_Search_Path是否设置正确

2、clean项目后,重新按照步骤引入试试

二、静态库引入,提示 undefined symbols for architecture for armv7

1.静态库引入后,没有添加系统依赖库

2.联系对应的技术支持要静态库符号表导入后build就可以了.

6 在模拟器下,release编译报错undefined symbols for architecture i386

在模拟器下,release编译跑不了,报错,如下:

提示:undefined symbols for architecture i386:

解决: 修改Build Active Architecture Only 设置,指定是否只对当前连接设备所支持的指令集编译,当其值设置为YES,这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本,而设置为no时,会编译所有的版本. 所以,一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备.

目前SDK不支持老的i386的架构模拟器,不要用老的模拟器,更换使用x86_64的, 这个是可以支持的

7 引入这个头文件zego-api-mediaplayer-oc.h后出现警告

问题:引入这个头文件zego-api-mediaplayer-oc.h,就有这个警告了

解决:这个 warning 没有影响的,如果要去掉这个警告,可以参考一下链接里的说明: https://stackoverflow.com/questions/25800301/xcode-missing-submodule-warning/43181698

8 ios端编译报错image not found

原因:导入库的时候,没有将SDK的framework导入进去,需要操作添加 Embedded Binaries,如下图:

xcode11上的操作方式如下图:

9 app提审不通过

以下两个库,第一个是真机,第二个是模拟器,客户工程配置的时候,只需要导入一个就可以了. 在调试阶段可以用这个目录下的framework,等app发布的时候再用Release-iphoneos下的,包含模拟器和真机的包(第二个)用于开发,最后提审App Store要用真机的那个framework(第一个),否则提审会通不过

10 ios模拟器编译出错?怎么解决:

在模拟器下用iphoneos_simulator下的文件,在调试阶段可以用这个目录下的framework,等app发布的时候再用iphoneos下的

报错示例如下:
错误一:


错误二:

本篇目录