首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLCircularRegion和唤醒应用

CLCircularRegion和唤醒应用
EN

Stack Overflow用户
提问于 2016-02-05 06:07:30
回答 1查看 139关注 0票数 0

在应用程序中,我们有像iOS中的本机提醒应用程序一样的机制,当用户进入或退出某个区域时,会触发通知。

但两个设备在同一时间内的行为不同(5秒和5秒)。所有设备都已启用通知,并允许使用位置。

两个设备都有一些“出行”,并在路线中创建了10个点。第一台设备(5)在完成时仅收到6个通知,(5)不会收到任何通知。

但我的问题是,我如何知道我的应用程序何时在后台重启或继续工作。因为,所有登录的app我都会重定向成一个文件,并在下载容器后分析app在旅行时间里发生了什么。

我注意到,当设备进入区域,我的日志标记在文件中触发,但没有收到通知时,应用程序会在同一时间重启。当应用程序尝试从didFinishLaunchingWithOptions中的web服务获取一些信息时,就会发生这种情况

也许这就是问题所在。如何区分重启应用程序或继续工作。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-02-06 01:32:25

你是否在didFinishLaunchingWithOptions中检查UIApplicationLaunchOptionsLocationKey (对不起,我现在有Swift ):

代码语言:javascript
复制
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    if launchOptions?[UIApplicationLaunchOptionsLocationKey] != nil {
        // app was launched in response to incoming location event
    }
}

此外,如果你还没有这样做,你可能需要创建不同的通知,如果应用程序在后台:

代码语言:javascript
复制
    // Show an alert if application is active
    if UIApplication.sharedApplication().applicationState == .Active {
        if let message = notefromRegionIdentifier(region.identifier) {
            if let viewController = window?.rootViewController {                    
                showSimpleAlertWithTitle(nil, message: message, viewController: viewController)
            }
        }
    }
    else {
        // Otherwise present a local notification:
        let notification = UILocalNotification()
        notification.alertBody = notefromRegionIdentifier(region.identifier)
        notification.soundName = "Default";
        UIApplication.sharedApplication().presentLocalNotificationNow(notification)
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35212588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档