我想每天更新 viewDidLoad()
中的代码 - 即使应用程序未运行 - 关闭或在后台。
let Date = NSDate()
let Calendar = NSCalendar.currentCalendar()
var Days = 20
var Hours = 5
var Difference = 0
override func viewDidLoad() {
let FireDate = userCalendar.components(NSCalendarUnit.Hour, fromDate: Date)
if (FireDate.hour == 7) {
days--
Difference = (Days / Hours)
}
}
此代码无法按我希望的方式运行。
最佳答案
如果该代码在 7 处运行,则检查将成功。也就是说,考虑到用户的时区设置,运行它的设备上的值为 7。
此代码不会每天自动运行。您不会显示代码在哪里,但没有任何东西会在每天的设定时间自动运行 iOS 应用程序。可能您可以发送静默推送作为触发器,但您应该真正计划让应用程序在用户打开它时运行,而不是自动打开。任何时间敏感的离线处理都应该由服务器完成...
您还可以查看使用 func applicationSignificantTimeChange(_ application: UIApplication)
以便在日期更改时通知应用程序,结合您在 application:didFinishLaunchingWithOptions 中的一般处理:
.
关于ios - 每天更新(我的代码有效吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36281282/