Ios 输入地理位置时获取本地通知
当我进入一个地理位置时,我试图得到一个本地通知来触发,我遵循了一些在线教程,我请求始终访问该位置,但我无法让实际的位置监控工作。我有一个GPX文件来模拟进入这个位置。但它从未在该地区开火 以下是我现在掌握的代码:Ios 输入地理位置时获取本地通知,ios,swift,geolocation,core-location,uilocalnotification,Ios,Swift,Geolocation,Core Location,Uilocalnotification,当我进入一个地理位置时,我试图得到一个本地通知来触发,我遵循了一些在线教程,我请求始终访问该位置,但我无法让实际的位置监控工作。我有一个GPX文件来模拟进入这个位置。但它从未在该地区开火 以下是我现在掌握的代码: func locationManager(manager: CLLocationManager, didEnterRegion region: CLRegion) { if region.identifier == "Sparkle" { let notific
func locationManager(manager: CLLocationManager, didEnterRegion region: CLRegion) {
if region.identifier == "Sparkle" {
let notification = UILocalNotification()
notification.alertBody = "Dont forget to punch in!"
notification.regionTriggersOnce = false
}
}
func locationManager(manager: CLLocationManager, didExitRegion region: CLRegion) {
if region.identifier == "Sparkle" {
let notification = UILocalNotification()
notification.alertBody = "Dont forget to punch out!"
notification.regionTriggersOnce = false
}
}
func regionWithGeotification() -> CLCircularRegion {
// 1
let sparkle = CLLocationCoordinate2DMake(39.4931008, -87.3789913)
let region = CLCircularRegion(center: sparkle, radius: 10, identifier: "Sparkle")
// 2
region.notifyOnEntry = region.notifyOnEntry
region.notifyOnExit = region.notifyOnExit
return region
}
在DidFinishLaunching中,使用AppDelegate的选项
locationManager.delegate = self
locationManager.requestAlwaysAuthorization()
self.locationManager.startMonitoringForRegion(regionWithGeotification())
知道我做错了什么吗
编辑:
这是我的GPX
<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode">
<wpt lat="39.4904392" lon="-87.3803517">
<name>Pawn It</name>
</wpt>
<wpt lat="39.48823178" lon="-87.37907">
<name>Sparkle</name>
</wpt>
</gpx>
你的应用程序可以访问位置服务吗?是的,我可以。隐私显示应用程序具有地理围栏。请发布您的GPX文件内容,并在您的CLLocationManager上更新更多信息(即,实际声明的位置、设置的属性等)!感谢您的帮助您的GPX文件看起来有缺陷,A)缺少结束标记,B)没有实际移动(两个坐标相同)
import CoreLocation
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, CLLocationManagerDelegate {
var window: UIWindow?
let locationManager = CLLocationManager()
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let notificationSettings = UIUserNotificationSettings(forTypes: UIUserNotificationType.Alert, categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(notificationSettings)
locationManager.delegate = self
locationManager.requestAlwaysAuthorization()
self.locationManager.startMonitoringForRegion(regionWithGeotification())