我是IOS的新手,想要使用iOS的本地通知功能。 我的问题是我不知道我是否可以使用本地通知。在我的情况下,数据将来自网络服务...它就像......没有特定的日期。默认时间间隔为60秒。 60秒后应用程序必须调用webservice,它将返回通知数据。在一些验证后,我需要推送给用户。 如果用户点击查看详细信息,它将启动app并通过webservice获取数据。
使用本地通知是否符合我的目的?或者我必须采用其他方法?
请帮忙。
先谢谢。
答案 0 :(得分:0)
我认为这60秒的事情是你每隔60秒轮询一次服务器以获取新数据,然后是否有新数据发布本地通知?
这对于iOS7来说是有可能的,但不是每60秒,有时根本不是,但总的来说它是非常不受欢迎的。相反,网络服务器应在新数据可用时发送推送通知,从而节省用户电池寿命。
在iOS7上有静默推送通知(只是不包括警报),可以要求客户端进行您提到的验证,如果用户需要通知,您可以创建本地通知以提醒用户变化
你应该仔细看看这个文档,对于一个新的iOS程序员来说这不是一件容易的事: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction.html
以下是相关的Apple文档报价“本地和推送通知可满足不同的设计需求。本地通知是iPhone,iPad或iPod touch上的应用程序的本地通知。推送通知 - 也称为远程通知 - 来自它们起源于远程服务器 - 应用程序的提供者 - 当有消息要查看或要下载数据时,它们被推送到设备上的应用程序(通过Apple推送通知服务)。“
答案 1 :(得分:0)
如果您尝试自动/轮询实现此功能(即没有用户交互,例如点击查看详细信息按钮) - 答案是一个很大的 NO ,至少在iOS6之前。 X
你的应用程序无法在后台运行无限长度 - 直到ios6.x.您可能必须考虑使用APNS服务来实现此目的。
否则,您安排本地通知的方法将持续60秒 - 用户点击视图选项 - 应用程序启动 - 您进行Web服务调用 - 获取数据 - 验证收到的数据 - 上传到服务器,看起来很好。
用户获取通知60秒并不会令人讨厌在应用程序上运行以执行您打算做的任何事情? - 好奇。