您的位置:首页 > 移动开发 > Swift

swift 进入后台或者点击home键是程序进入后台后,持续定位

2016-07-15 15:19 585 查看
进入后台的方法

import UIKit

@UIApplicationMain

class AppDelegate:
UIResponder, UIApplicationDelegate,CLLocationManagerDelegate {

    

    var locationManager :
CLLocationManager?

    

    var window:
UIWindow?

    

    var notificationDict =
NSDictionary()

    

    func applicationDidEnterBackground(application:
UIApplication) {

        

        UIApplication.sharedApplication().beginBackgroundTaskWithExpirationHandler(nil)

        

        if
self.respondsToSelector("IntoTheBackground") {

            

            NSNotificationCenter.defaultCenter().addObserver(self,
selector: "IntoTheBackground", name:
UIApplicationDidEnterBackgroundNotification, object:
nil)

            

        }

        

    }

    

    override
func performSelectorInBackground(aSelector:
Selector, withObject arg:
AnyObject?) {

        

        tik()

        

    }

    

    //计时器

    func tik() {

        if
UIApplication.sharedApplication().backgroundTimeRemaining <
61.0 {

            

            locationManager!.delegate =
self

            

            locationManager?.startUpdatingLocation()

            

            UIApplication.sharedApplication().beginBackgroundTaskWithExpirationHandler(nil)

            

        }

        

    }

    

在需要的页面中viewDidAppear调用方法即可

 override
func viewDidAppear(animated:
Bool) {

        

        super.viewDidAppear(animated)

        

        let model :
ShareModel = ShareModel()

        

        if (!model.NetWorking) {

            

            NSHelper.showAlertTitle("网络不可用,请检查网络连接。", forView:
self.view)

            

            return

            

        }

        

        self.mapView?.delegate =
self

        

        self.search?.delegate =
self

        

        self.manager.pausesLocationUpdatesAutomatically =
false

        

        NSNotificationCenter.defaultCenter().addObserver(self, selector:
"IntoTheBackground", name: UIApplicationWillResignActiveNotification, object:
nil)

        

        view.endEditing(true)

        

         NSNotificationCenter.defaultCenter().addObserver(self, selector:
"keyboardWillHide:", name: UIKeyboardDidHideNotification, object:
nil)

        

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: