目前我正在使用套接字处理基于聊天的应用。在android中它工作正常,因为android在后台使用socket没有任何限制。我在iOS中搜索了很多关于在后台运行socket的问题。在这种情况下,iOS非常严格。所以我发现从服务器发送推送通知是好的,而不是从套接字发送。但是我想在没有打开应用程序的情况下收到推送时发送消息的发送报告。
有没有办法做到这一点?如果我无法发送发射插座,那就没问题。我至少可以发送一个服务器呼叫吗?
提前致谢。
答案 0 :(得分:1)
现在,在iOS 10和iOS 11中,您应该使用PushKit
来处理传入Voice over IP
来电的推送通知。因此,当你针对iOS 10/11 SDK构建你的应用程序时,你需要转移到PushKit
(可以一直支持到iOS 8,但是一旦你转移到iOS 10/11,推荐是将您的最低部署目标更新到iOS 9)。
// Link to the PushKit framework
import PushKit
// Trigger VoIP registration on launch
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
self.voipRegistration()
return true
}
// Register for VoIP notifications
func voipRegistration {
let mainQueue = dispatch_get_main_queue()
// Create a push registry object
let voipRegistry: PKPushRegistry = PKPushRegistry(mainQueue)
// Set the registry's delegate to self
voipRegistry.delegate = self
// Set the push type to VoIP
voipRegistry.desiredPushTypes = [PKPushTypeVoIP]
}