gpt4 book ai didi

iphone - XMPP 框架 - 在后台连接的基于位置的应用程序

转载 作者:行者123 更新时间:2023-12-03 18:48:01 25 4
gpt4 key购买 nike

我开发的应用程序当前设置为“基于位置”,以便它可以无限期地在后台运行。这不是一个技巧,我需要它在用户移动时做一些事情。经过一番搜索,我了解到这个应用程序只会在位置发生变化时执行代码,任何计时器都无法在 10 分钟后执行任何代码。

我的应用程序在后台时与 XMPP 保持连接 50 分钟左右,然后断开连接。我希望应用程序永远不会断开连接,我查看了框架,但找不到修复此行为的地方。您知道是否可以“无限期”地保持联系吗?如果是这样,我必须在 xmppframework 中更改哪些设置。

谢谢

[编辑]50 分钟后,用户仍然连接到 XMPP,但已断开与其连接的 XMPPRoom 的连接。另一次运行连接了3个小时,iPhone连接的时间似乎不一致。

最佳答案

为了确保您的应用程序可以发送和接收保持事件消息,它需要是一个 voip 应用程序并使用 voip 套接字。来自 Apple's Documentation :

  1. Add the UIBackgroundModes key to your app’s Info.plist file. Set the value of this key to an array that includes the voip value.
  2. Configure one of the app’s sockets for VoIP usage.
  3. Before moving to the background, call the setKeepAliveTimeout:handler: method to install a handler to be executed periodically. Your app can use this handler to maintain its service connection.

对于套接字:

NSInputStream and NSOutputStream: For Cocoa streams, use the setProperty:forKey: method to add the NSStreamNetworkServiceType property to the stream. The value of this property should be set to NSStreamNetworkServiceTypeVoIP.

关于iphone - XMPP 框架 - 在后台连接的基于位置的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9175911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com