因为项目需求集成摄像头,通过手机看视频,视频协议是海康的私有协议,需要制作flutter插件工程,完成Android和ios的视频展示需求,安卓的部分没有遇到太多问题,比较顺利。ios的部分遇到的问题比较多,在这里记录一下:
1、问题一:海康的EZUIKit是两年前的版本,可能是网络原因,一直pod不下来,通过git查看,版本太老,很多系统库已经不被支持。
2、问题二:因为是插件工程,需要提供给其他工程依赖调用,直接从海康官网下载最近的ezuikit和sdk和openssl库,想包含在工程里,非插件工程,没有任何问题,但是作为插件工程,要让第三方项目拉过来还能用,花了两天时间,还是掉在openssl这个库上,ios项目经验有限,解决不了。
3、终于放弃ezuikit插件,直接pod EZOpensdk,比较顺利拉下来了。
4、info.plist文件添加键io.flutter.embedded_views_preview值yes,如果不加,会报一个关于embedded的错误。
5、貌似flutter里指定的视图大小生效,oc里指定的视图大小好像没管用,反正能通过flutter代码控制最好,没深究。
6、插件代码确实需要写在:
写在这里的文件和目录会以第三方插件方式包含在工程目录里。
7、插件代码编写参考了:http://www.imooc.com/article/283465?block_id=tuijian_wz 感谢叶梅树大神的文章,讲的很清楚。
8、海康的静态库只提供真机版本,没有模拟器版本,故只能真机调试。
9、插件工程在xcode的example工程里能正常运行,集成到工程里也可以,所以现在例子工程里调通会比较节约时间。
10、例子工程里的插件项目依赖写在pubspec.yaml文件里:
11、其他代码均可参考叶梅树大神(再谢)的代码,包括安卓,真实可用,但是需要按自己项目读懂,并变通。