OStack程序员社区-中国程序员成长平台

标题: ios - 已停用 iOS 应用程序上的地理位置 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 22:15
标题: ios - 已停用 iOS 应用程序上的地理位置

是否可以在应用程序关闭时为其添加位置感知功能?

例如,我想创建一个接近服务,该服务在我的应用程序关闭时工作,并在用户到达某个区域时向用户推送本地通知。

我读到使用 CLRegion 可以实现类似的结果,但只有在应用程序处于事件状态(或在后台)时才能实现。

我需要类似于由用户位置激活的远程通知服务。但这听起来真的很奇怪。是否有可能在 iOS 中提供类似的服务?



Best Answer-推荐答案


有两种选择:

其中一个是 John 上面提到的重大位置变更服务。 另一个是 startRegionMonitoring

两者都包含在 Location Awarness Documentation 中来自苹果

两者都可以在短时间内打开已终止(关闭)的应用程序,并且您可以发送本地推送通知以提醒用户。 应用无法进入正常状态,但如果用户点击通知,应用就会打开,这样就可以达到你的目的。

这里是拦截 didFinishLaunchingWithOptions 委托(delegate)中的事件并触发本地通知的示例代码。 通常,您不应在此处触发通知,而是重新初始化您的位置管理器,获取新位置并显示用户输入区域的消息(本地通知)...

    - (BOOL)applicationUIApplication *)application didFinishLaunchingWithOptionsNSDictionary *)launchOptions
{
    //see if application was launched from a location event!
    if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey]) {
        //if so, we need to reinitialize our location manager!
        [[LocationManager sharedLocationManager] startSignificantLocationMonitoring];
        //fire a notification

        UILocalNotification *notification = [[UILocalNotification alloc] init]; 
        notification.fireDate = [NSDate date]; 
        NSTimeZone* timezone = [NSTimeZone defaultTimeZone]; 
        notification.timeZone = timezone; 
        notification.alertBody = @"app did wake up"; 
        notification.alertAction = @"OK"; 
        notification.soundName = @"yes.caf"; 
        [[UIApplication sharedApplication] scheduleLocalNotification:notification];

    }
}

关于ios - 已停用 iOS 应用程序上的地理位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11729018/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4