Ios 从应用程序启动警报警报

Ios 从应用程序启动警报警报,ios,swift,Ios,Swift,我正在尝试创建一个股市警报应用程序,当某个特定的价格被击中时,它会发出警报。如何从我的应用程序中呼叫或创建警报 UILocalNotifications是一种可能性 UILocalNotification *notification = [[UILocalNotification alloc] init]; notification.timeZone = [NSTimeZone defaultTimeZone]; notification.soundName = UILocalNotificat

我正在尝试创建一个股市警报应用程序,当某个特定的价格被击中时,它会发出警报。如何从我的应用程序中呼叫或创建警报

UILocalNotifications是一种可能性

UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.timeZone = [NSTimeZone defaultTimeZone];
notification.soundName = UILocalNotificationDefaultSoundName;
notification.alertBody = @"YOURMESSAGE";
[[UIApplication sharedApplication] presentLocalNotificationNow:notification];
Swift版本:

    let notification = UILocalNotification()
    notification.fireDate = targetDate
    notification.timeZone = NSTimeZone.localTimeZone()
    notification.applicationIconBadgeNumber = 1
    notification.alertAction = "do a task"
    notification.alertBody = "New task is waiting for you!"
    notification.soundName = UILocalNotificationDefaultSoundName
    UIApplication.sharedApplication().scheduleLocalNotification(notification)

所以,在我看来,你有两种方法

1.-为后台获取注册应用程序

这样,每次(使用iOS时)您都可以连接到internet。此时,如果某个点击了您的任何报警,您可以使用发送
UILocalNotification
的方法

如果您单独使用本地通知,而无法在应用程序正式关闭时获取通知,那么您将只在应用程序内部收到通知(您的警报)

这种方法的缺点:您的警报将不准确,可能会丢失一些警报,因为股市可能会进入一个高点,但当iOS后台提取机制决定让您连接时,它已经恢复正常

2.-为推送通知注册应用程序 (正如@WMios在之前的评论中所建议的那样)

按照我的观点,方法是使用推送通知

对于这种方法,您需要有一个Web服务不断地收听股票市场(在这里,您可以使用任何技术或语言,因为这与机制的工作无关),并将您的用户需求注册到该服务器中(您将观察您每个用户的点击次数),每个用户都将其推送ID(希望推送通知的一种方式将发送到唯一的设备)注册到您的Web服务中,当警报响起时,您将向苹果服务器发送一条“特殊”消息(包括一条消息(将向用户显示的内容)和从用户设备收集的推送ID

网上有几本关于这方面的教程,所以你会很容易找到一本好的

提示:您可能希望直接从出现的通知重定向用户,用户可以在其中查看触发警报的原因,但这取决于您:)

这种方法的缺点:如果当用户在应用程序内时触发报警(并发送推送通知)。则不会显示通知,在决定当用户在应用程序内时如何检查这些报警时,请考虑这一点

3.两种方法的混合(是的,第三种..即使我以前写过其他东西)

这里没有什么要说的,只是通过这种方式,您可以攻击前面两种方法的缺点


快乐编码!;-)

你在谷歌上搜索过如何使用推送通知吗?