也许有人曾经在后台运行应用程序时解决了服务器稳定连接的问题吗?我需要将音频数据从服务器传输到客户端应用程序。 我知道iOS上的所有骇客如何保持应用程序正常运行,但是我需要合法的方法来解决此问题。也许你有什么主意吗? 我发现我可以将VoIP推送发送到将唤醒我的应用程序的设备,然后建立与我的服务器的tcp连接,但是此套接字将保持活动状态约30秒(如我在日志中所看到的,每3秒会触发发送该信息的iOS应用中的计时器数据存储到服务器)对我来说还不够。
答案 0 :(得分:0)
也许这个项目https://github.com/SmallSharpToolsOpenSource/Speakerbox对某人会有帮助。 这部影片https://www.youtube.com/watch?v=lXJ1LDjL4Os
以及Apple技术支持的官方答复:
PushKit是voip应用程序的方法 可靠地接收静默通知,而CallKit基本上是一个UI 框架voip应用程序可以用来通知用户有关呼叫的信息。注意那里 不是API内的任何直接连接-例如,voip应用程序可以 生成本地通知(而不是使用CallKit)或什么都不做 并完全“忽略”通知。同样,voip应用程序可能会“伪造” 只需告诉CallKit有一个来电即可随时通话(我们 CallKit的示例代码正是这样做的)。
您的应用以前可能做过的任何事情 它收到了voip套接字流量,也可以在收到PushKit时进行 通知。
标准voip应用 实际上以两种完全不相关的“模式”运行:
1)在等待来电时,该应用将被暂停,直到出现“某物” (PushKit或voip套接字)唤醒应用程序以告知其有关呼叫的信息。
2)通话开始后,该应用将进行有效的音频会话,并且正在 iOS的标准“背景音频”行为,就像各种各样的 其他音频应用程序(例如,任何流音乐应用程序)。