簡體   English   中英

CLCircularRegion和喚醒應用程序

[英]CLCircularRegion and wake up app

在應用程序中,我們具有機制,如iOS中的本機Reminder應用程序,當用戶在某個區域進入或退出時會觸發通知。

但是,兩個設備在同一時間表現不同(5和5s)。 所有設備都具有啟用通知,並允許使用位置。

兩個設備有一些“行程”,並在路線中創建了10點。 第一台設備(5)即將完成時,僅收到6條通知,(5s)沒有收到任何通知。

但是我的問題是我如何知道我的應用何時在后台重新啟動或繼續工作。 因為,所有登錄應用程序后,我都會重定向到文件中,並在下載容器后分析在旅途中應用程序中發生了什么。

當設備進入區域並且文件中觸發了我的日志標記時,我注意到應用在同一時間重新啟動,但是沒有收到通知。 當應用嘗試從didFinishLaunchingWithOptions Web服務獲取一些信息時,就會發生這種情況

也許這是個問題。 如何知道區分重啟應用程序還是繼續工作。 謝謝。

您是否正在檢查didFinishLaunchingWithOptions UIApplicationLaunchOptionsLocationKey是否類似於(對不起,Swift是我現在擁有的):

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

此外,如果您尚未執行此操作,則在應用程序處於后台時,您可能需要以其他方式創建通知:

    // 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)
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM