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)
}
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)
}
相关文章推荐
- 编程词典 - Swift version V1.1
- Swift中实现Observable机制
- Swift中实现Observable机制
- Swift Array Slice
- Swift学习目录
- Cocoapods swift配置
- swift语言之ios开发实现界面跳转
- OC与Swift语言的相互调用
- Swift - Cell自适应+代码约束(SnapKit)横竖屏支持平铺+根据URL获取图片size
- Swift高级
- 用 swift 纯代码自定义 TableViewCell ,以及自定义 cell 在 TableView 中的调用
- Swift学习二
- Swift学习一
- Swift如何使用Masonry和SnapKit
- Swift 必备开发库10个
- swift 学习笔记二
- iOS开发之三个Button实现图片无限轮播(参考手机淘宝,Swift版)
- Swift-Code-Style
- Swift基本语法(5)-集合
- Swift基本语法(4)-字符串