gpt4 book ai didi

ios - 我想一直运行服务即使应用程序在 Swift IOS 中关闭、终止或终止

转载 作者:行者123 更新时间:2023-11-28 09:44:58 24 4
gpt4 key购买 nike

这是我想一直运行的示例代码服务

internal func backService()
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), { () -> Void in
let anObject = try! Realm().objects(remindertbl).filter("status = 0")
print("here")
for loop in anObject
{
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy hh:mm a"
let timestamp = dateFormatter.stringFromDate(NSDate())
let timeStampint = dateFormatter.dateFromString(timestamp)!.timeIntervalSince1970
if(loop.reminderdays == Int64(timeStampint))
{
if(loop.status == 0){

let notification = UILocalNotification()
notification.fireDate = NSDate(timeIntervalSince1970: 0)
notification.alertBody = "\(loop.title)"
notification.alertAction = "swipe to opem VLB Cloud!"
notification.soundName = UILocalNotificationDefaultSoundName
notification.userInfo = ["CustomField1": "w00t"]
UIApplication.sharedApplication().scheduleLocalNotification(notification)

let updateObject = try! Realm().objects(remindertbl).filter("status = 0")
var reminderObject = remindertbl()
for updateStatus in updateObject{
try! Realm().write()
{
print("target")
reminderObject.status = 2
reminderObject.reminderId = updateStatus.reminderId
reminderObject.syncflag = updateStatus.syncflag
reminderObject.vehicleid = updateStatus.vehicleid
reminderObject.syncid = updateStatus.syncid
reminderObject.dateadded = updateStatus.dateadded
reminderObject.datemodified = Int64(Timestamp)!
reminderObject.remindertime = updateStatus.remindertime
reminderObject.reminerDate = updateStatus.reminerDate
reminderObject.reminderdays = updateStatus.reminderdays
reminderObject.title = updateStatus.title
reminderObject.targetdistance = updateStatus.targetdistance
reminderObject.currentdistance = updateStatus.currentdistance
reminderObject.remindertype = updateStatus.remindertype

reminderObject.synctype = updateStatus.synctype
reminderObject.recuringdays = updateStatus.recuringdays
reminderObject.recuringdistance = updateStatus.recuringdistance

try! Realm().add(reminderObject, update: true)
reminderObject = remindertbl()
}
}
}
}
}

})
}

最佳答案

由于多种原因,您所问的是不可能的:

  1. 根据定义,已终止或终止的任务/应用程序不能运行一些代码
  2. Apple 在 iOS 上授权了一些背景模式设备,如果您不是特定任务(例如 voIP),您的应用程序将不会被操作系统授权在任何时候运行

如果你想了解更多关于在iOS后台执行一些任务,我建议你阅读官方文档:Apple Documentation或 Ray Wenderlich 团队的教程:Background modes for iOS

关于ios - 我想一直运行服务即使应用程序在 Swift IOS 中关闭、终止或终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35449579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com