繁体   English   中英

iOS UILocalNotification用于传入SIP通知

[英]iOS UILocalNotification for incomming sip notification

收到UILocalNotification通知后,当应用程序在后台UILocalNotification时,如何使用UILocalNotification将其显示给用户。

应用程序的Background mode is ->voip ,并且always alive in background

只是在后台通话时无法显示通知。

很难说出您的问题是什么,但是我可以告诉您,UILocalNotification会完全按照Apple文档 “本地和推送通知编程指南”>“处理本地和远程通知”中的描述向用户展示自己。 特别:

  1. 如果您的应用程序在后台或已终止,iOS将使用在创建和配置UILocalNotification时定义的属性为您显示本地通知。
  2. 如果您的应用程序位于前台,iOS不会自动显示您的通知-您必须实现UIApplicationDelegate的-application:didReceiveLocalNotification:并在您认为合适的情况下显示(或不显示)通知。

并且不要忘记使用-scheduleLocalNotification:方法使用-[UIApplication sharedApplication]实际调度UILocalNotification。 仅创建UILocalNotification不会做任何事情。

而且,我认为您甚至需要使用UIApplication的-registerForRemoteNotificationTypes:甚至用于本地通知。

除了与本地通知无关之外,由于我们也对VOIP背景进行了挣扎,请注意,仅仅因为您将“背景”模式设置为VOIP,并不意味着您的应用将始终运行。 以下任何一项都会导致iOS终止您的应用程序:

  • 您将UDP用于VOIP套接字。 iOS似乎不支持UDP背景,仅支持TCP。
  • 如果您的VOIP套接字连接在300秒内收到30次以上的“唤醒”。
  • 如果VOIP套接字已断开连接,则在尝试重新连接时必须请求后台执行时间。 但是,如果在iOS给您提供一定数量的背景时间后您无法重新连接,则该应用将被终止。

因此,当您测试本地通知时,您应该(通过跟踪或其他方式)确认您的VOIP信号通道实际上在后台还活着。

总之,您需要进行大量调查和故障排除:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM