在IOS上集成VOIP功能能后,前后台切换时遇到的坑
来源:互联网 发布:windows 7传统窗口 编辑:程序博客网 时间:2024/05/29 08:51
最近公司的设计APP中,集成进去了VOIP的功能,今天我就在IOS上集成VOIP功能,简单述说一下:
1、首先加入pushkit的功能包。
2、申请一个VOIPPush的证书,服务器要通过这个证书,才能给客户端推送VOIP消息,看官方解释,应该1s能到,具体参考官方的pushKit文档。
3、启动voip推送功能。
4、打开后台运行voip,
以上功能,只是做离线VOIP的一些常用功能,稍微有点经验的人,都可以搞定!
其实我在VOIP遇到的主要的坑,是这样的,
当启用Voice over IP 功能后,当APP进入后台后,就会一直在后台跑,知道系统通知你,资源用完了,当再次打开APP的时候,先Crash一次,抓到的日志如下:
Exception Type: EXC_RESOURCE
Exception Subtype: CPU_FATAL
Exception Message: (Limit 80%) Observed 97% over 60 secs
想要解决这个问题,主要的思路,就是把VOIP的那条TCP,标志上VOIP的标记,其他不变。
由于多数的voip通讯协议是C++编写的,想要在不修改原来socket代码的基础上,标上标志,需要把socket 的 句柄 抛出来,执行以下代码:
CFReadStreamRef readStream; CFWriteStreamRef writeStream; CFStreamCreatePairWithSocket(NULL, m_socket, &readStream, &writeStream); NSInputStream* miStream; NSOutputStream* moStream; miStream = (__bridge NSInputStream *)readStream; moStream = (__bridge NSOutputStream *)writeStream; [miStream setProperty:NSStreamNetworkServiceTypeVoIP forKey:NSStreamNetworkServiceType]; [moStream setProperty:NSStreamNetworkServiceTypeVoIP forKey:NSStreamNetworkServiceType];
0 0
- 在IOS上集成VOIP功能能后,前后台切换时遇到的坑
- IOS 前后台切换
- IOS 前后台切换
- IOS前后台切换检测
- ios应用UIApplication前后台切换代理方法在不同ios系统下的差异
- IOS的生命周期及应用的前后台切换
- iOS -- 应用程序生命周期(前后台切换,应用的各种状态)
- 关于iOS生命周期和前后台的切换
- iOS应用程序生命周期(前后台切换,…
- 通知实现ios前后台切换管理
- iOS前后台切换运行周期
- iOS传感器:App前后台切换后,获取敏感信息使用touch ID进行校验
- Symbian 程序的前后台切换
- Symbian 程序的前后台切换
- Linux任务前后台的切换
- Linux任务前后台的切换
- Linux任务前后台的切换
- ubuntu 进程的前后台切换
- 有关小波的几个术语及常见的小波基介绍
- 安卓--第九天--蓝牙app的界面的搭建实现
- Android 返回键与对话框的处理
- jQuery学习之旅 8 DOM事件操作
- 组态软件在配套设备中的应用
- 在IOS上集成VOIP功能能后,前后台切换时遇到的坑
- 关于代理方法的使用
- sentos6.5重启vmware服务及命令启动虚拟机
- 安卓--第十天--蓝牙app实现与BLE设备简单通信
- Python SimpleHTTPServer 实现日志简单的web展示
- Androidx学习笔记(26)--- Android更新SDK Manager
- ASP.Net运行原理与运行机制
- hdu 5613 /BC 69D Baby Ming and Binary image
- pom.xml中各个标签 的意思