如何使用 iOS 8 弃用设置每周重复的 UILocalNotification?
Posted
技术标签:
【中文标题】如何使用 iOS 8 弃用设置每周重复的 UILocalNotification?【英文标题】:How to set up weekly repeating UILocalNotifications with iOS 8 deprecations? 【发布时间】:2015-04-20 17:23:46 【问题描述】:在 ios 8 之前,安排每周重复通知很容易,我们只需将 NSWeekCalendarUnit
分配给 notification.repeatInterval
值。现在在 iOS 8 中,几乎所有的 NSCalendarUnit
值都已被弃用和替换,主要是为了让 Apple 可以将它们从 NSDayCalendarUnit
重命名为 NSCalendarUnitDay
以保持一致性。但是,他们将NSWeekCalendarUnit
更改为NSCalendarUnitWeekOfMonth
和NSCalendarUnitWeekOfYear
,但没有明确说明区别是什么,而且UILocalNotification
文档仍然在讨论已弃用的值。
我希望UILocalNotification
每 7 天重复一次。我认为NSCalendarUnitWeekOfMonth
是正确的值,但是当我使用它时,我没有得到重复。测试很耗时,因为每次测试都需要一周时间!
有人知道哪些新的周历单位应该用于每周重复的本地通知,还是应该继续使用已弃用的值,尽管有警告?
【问题讨论】:
【参考方案1】:假设公历,似乎NSCalendarUnitWeekOfYear
是来自1 - 53
或0 - 52
的值,表示日历年内中的周数。 NSCalendarUnitWeekOfMonth
是 1 - 5
或 0 - 4
代表一个月中的一周(未记录的东西,这些是个人意见)。
根据我的经验,我发现 NSCalendarUnitWeekOfYear 工作正常。
【讨论】:
感谢您的提示。我想出一种快速测试这些的方法是创建一个重复通知以很快触发,然后在它触发一次后检查它的下一个触发日期(显示一个 po 通知)。 NSWeekCalendarUnit 和 NSCalendarUnitWeekOfYear 都可以创建每 7 天重复一次的通知,因此 NSCalendarUnitWeekOfYear 是最好用的,因为它没有被弃用。以上是关于如何使用 iOS 8 弃用设置每周重复的 UILocalNotification?的主要内容,如果未能解决你的问题,请参考以下文章
由于 UISearchDisplayController 在 iOS 8 中已弃用,如何创建 UISearchController?
'openURL'在iOS 10.0中已被弃用:请使用openURL:options:completionHandler:而不是在Swift 3中[重复]