项目接入视频IM需要用到MobileRTC包,加入后运行项目直接崩溃报如下错误
1、报错信息
dyld: Library not loaded: @rpath/MobileRTC.framework/MobileRTC
Referenced from: /var/containers/Bundle/Application/82FB6F9E-5C4C-4E7C-9863-7347708F40C8/Runner.app/Runner
Reason: image not found
具体意思就是MobileRTC这个库没有加载,找不资源。
如果只是单存的把Target ->Build Phases -> Link Binary With Libraries
下的包的状态修改为Optional
状态,当使用到这个包的时候还是会崩溃。
原因如下:
修改成Optional
状态可以运行但是遇到会崩溃的原因是framework
的Status分
两种
- Required:强引用(一定会被加载到内存,当运行的时候加加载)
- Optional:弱引用(在被需要的时候才会被载入到内存)
所以项目运行到用到崩溃包的地方时还是会crash。所以需要下面的解决办法,直接把包嵌入到项目中。
2、解决办法:
Target ->Build Phases -> Embed Frameworks
添加刚才报错的库。Destination
要选择Frameworks
不然也会崩溃。
添加好后,运行👌,顺利运行项目。