在 Swift 2 Xcode 7 Beta 4 中设置基于位置的提醒时出错
Posted
技术标签:
【中文标题】在 Swift 2 Xcode 7 Beta 4 中设置基于位置的提醒时出错【英文标题】:Error when setting location based reminders in Swift 2 Xcode 7 Beta 4 【发布时间】:2015-07-29 19:05:44 【问题描述】:我想设置基于位置的提醒。这是我的代码:
let locattionnotification = UILocalNotification()
locattionnotification.alertBody = textAllert
locattionnotification.regionTriggersOnce = false
locattionnotification.region = CLCircularRegion(circularRegionWithCenter: CLLocationCoordinate2D(latitude:
mylatitude, longitude: mylongitude), radius: 300.0, identifier: "Location1")
UIApplication.sharedApplication().scheduleLocalNotification(locattionnotification)
mylatitude 和 mylongitude 是双精度值。问题是,Xcode 抱怨:
init(circularRegionWithCenter:radius:identifier:)' 不可用:API >在 ios 7 及更早版本中弃用,在 Swift 中不可用
有没有更好的方法来设置基于区域的提醒?我已经做了一些研究,发现使用 CLRegion 也可以,但无法弄清楚如何使用手动设置坐标进行设置。
【问题讨论】:
【参考方案1】:你可以使用another CLCircularRegion
constructor:
locattionnotification.region = CLCircularRegion(center: CLLocationCoordinate2D(latitude:
mylatitude, longitude: mylongitude), radius: 300.0, identifier: "Location1")
【讨论】:
这个答案似乎破坏了 UILocalNotification 的区域退出通知和进入通知属性。以下代码“locationnotification.region.notifyOnExit = false”不再有效,因为 swift 抱怨“可选类型 'CLRegion 的值?'没有拆开。”我怎样才能让它的这部分工作? 更改为locationnotification.region!.notifyOnExit = false
。并了解optional types - 你会经常遇到它们。以上是关于在 Swift 2 Xcode 7 Beta 4 中设置基于位置的提醒时出错的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Swift 2 在 Xcode 7 beta 中导入 FBSDK
Xcode 7 beta 5、Swift 2:UITableViewCell 的子视图在运行时未添加到 contentView
swift 2.0(XCode 7 beta 5)中的拆分方法