- 使用腾讯的TRTC实现直播课程。flutter = ios + anroid
- , 2022.09.21最新版的flutter-sdk。
- 结果发现直播没有问题,但是,最可怕就是但是。在IOS上进行录屏分享屏幕发现视频流无法抵达其他客户端。
- 之前使用旧版本,^1.3.0的时候,没有问题,可以进行屏幕共享。
- 然后就是检查问题之所在,发现没有抛错,没有异常。也不知道是视频流根本没有推送出去,还是到了服务器后被吃掉了。
- 所以就发邮件求助腾讯大佬
- 大佬给了新版本的sdk,所以替换一下试试吧。
- project/ios/TXLiteAVSDK_ReplayKitExt.framework , 解压缩,找到这个文件(文件夹)删掉,复制新版本过来。 ok!搞定。
- 但是。。。
- 这下好了,多了20个编译错误。
- 反复看了一下,找了各种网站,搜索bug解决方案,都说有可能是TXFFmpeg.xcframework没有集成 进来。
- 再次查找,发现工程里边是有这个包的。打开看了下,里边的资料也一点不少。
- 再次陷入困境。不能啥啥都麻烦大佬吧,显得我们水平很差似的。。。虽然事实上就是这样。
- 折腾ing… 不知不觉,两天过去了。还是没有解决这个问题,甚至还发现了一个更诡异的问题。
- 咋回事,在idea中pod install的时候,会在xcode的pod工程下出现有一个文件夹!!!!貌似跟已有的某个framework是名字相同,后面加上_Resourcebundle。
- 屡次发现,无法编译通过。尝试给这个文件夹加上codesigning设置,结果再次pod install,它又消失了。
- 调研。。。 发现一个简单的方法,把这个文件夹直接删除,然后在xcode中直接run,OK,没有问题!
- 就这样凑合着,又是凑合了两天。
- 认怂吧,给腾讯大佬发邮件。请教编译的问题。
- 嗯,大佬说,就是依赖包的问题。
- 可是我挨个看,眼睛都看花了。基本都找到了。因为我用的是flutter,pod install的方式引入对应的包。
- 跟大佬说的稍有差别。哎,为了测试。在upload Target中,将所有大佬说的包全都引进来!!!! 干!
- 不好使!
- 在主工程的Target里,将大佬说的包再次引入!还是不行。同样的错误啊。
- 无意中找到一篇文章,
- 于是猜测是不是也因为工程里边没有这个基础包呢?
- 查看工程,果然没有!加上!果然好了!!!!!
- 优秀!
- 大佬的工程师们,可能在以前的版本中,依赖这个framework,使用的是Embed,而这次的版本,是Not Embed!
- 哎,基本功不够扎实啊。居然搞了这么长时间!
- 福无双至,祸不单行,证明我就是个面瓜的,不仅这一点!
- 网上查资料,发现 【Signing errors on iOS pod bundle resources on Xcode 14 “Signing for “x” requires a development team.”】的这个问题,居然跟Xcode14有关系!很多人都说,是升级了Xcode14之后,发现的这个问题。
- 嗯嗯,我tm居然也是。但是我没有联想到是这个问题。还以为是啥情况啊,pod改变策略了?framework需要重新组织资源架构??
- 于是乎,在podfile中添加一段文本,禁止所有插件的codesigning即可。
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = ""
config.build_settings['CODE_SIGNING_REQUIRED'] = "NO"
config.build_settings['CODE_SIGNING_ALLOWED'] = "NO"
end
end
end
评论区