草庐IT

ios - 如何在推送通知 iOS Swift 中终止应用程序时调用 API?

我们正在处理推送通知。当我们在事件、后台、前台和终止时收到通知时,我们需要调用Web服务。但是当我们终止应用程序时,我们会收到通知但无法调用网络服务。调用网络服务的原因是为了识别消息是为移动应用程序接收的。funcapplication(_application:UIApplication,didReceiveRemoteNotificationuserInfo:[AnyHashable:Any],fetchCompletionHandlercompletionHandler:@escaping(UIBackgroundFetchResult)->Void){if(applicatio

ios - 当用户终止应用程序时,我可以进行 api 调用吗?

我需要在用户终止应用程序(强制关闭)时进行API调用。我所做的直接实现如下。在应用委托(delegate)中,我添加了以下代码。funcapplicationWillTerminate(_application:UIApplication){print("________TERMINATED___________")testAPICall()}functestAPICall(){leturl=getURL()letcontentHeader=["Content-Type":"application/json"]Alamofire.request(url,method:.put,para

ios - 应用程序终止时未调用 UNUserNotificationCenter didReceive 响应

我正在处理本地通知,但我遇到的问题是当应用程序终止时没有调用didReceiveResponse方法,所以当我点击通知操作时它只是启动应用程序而没有做任何其他事情。但是,当该应用程序仅在后台运行时,一切正常。我的代码有什么问题吗?//MyClassNameViewController.swiftoverridefuncviewDidLoad(){super.viewDidLoad()UNUserNotificationCenter.current().delegate=self}functriggerAlarm1(){//Createaninstanceofnotificationce

ios - 当我们退出应用程序而不终止应用程序 Swift 4 时,弹出窗口不会重新出现

早上好,我遇到了一个问题,当我进入我的应用程序时,会出现一个带有funcviewDidAppear()的弹出窗口,但是当我点击“否”按钮时,该按钮会像我们按下主页按钮一样正确退出应用程序。当我重新进入应用程序而不杀死它时,弹出窗口不会重新出现......我搜索了3个小时,但没有找到解决方案...代码如下:overridefuncviewDidAppear(_animated:Bool){ifwarning==true{self.alertStart()}}funcalertStart(){letalertatstart=UIAlertController(title:"ATTENTIO

ios - 调用 .cancel() 时 DispatchWorkItem 不终止函数

我在主函数runTask()中调用的函数列表中使用Alamofire按顺序发出了一系列HTTP请求,我希望能够停止这些请求。因此,我为每个需要运行的任务在DispatchWorkItem中设置了runTask()函数调用,并将工作项存储在数组中,如下所示:taskWorkItems.append(DispatchWorkItem{[weakself]inconcurrentQueue!.async{runTask(task:task)}})然后,我迭代工作项数组并调用perform()函数,如下所示:forworkItemintaskWorkItems{workItem.perform

ios - 如何在应用程序未运行/应用程序终止时获取推送通知

我试过了Google开发人员的“在iOS上设置GCM客户端应用程序”。我的应用程序有一个android版本,服务器成功向Android发送推送通知。在ios中,我可以将消息检索到didRecieveRemoteNotification函数。打印时如下所示,aps:{alert={body=tyyy;title="2isgoingoutat03/24/201615:02:48";};badge=2;sound=default;}当应用程序处于前台和后台时,它会收到此消息。当应用程序处于后台时,系统托盘中不显示任何内容。当应用程序终止并且服务器正在发送推送通知时,我什么也没有收到,也没有显

ios - 在应用程序终止之前存储(持久化)结构数组的最有效方法是什么?

编程语言-swift。我创建了一个结构来存储与我的应用有关的所有相关信息,如下所示。此外,我正在创建一个wordstruct类型的数组,并用3000个条目填充它。structwordStruct{varwordd:NSStringvarmeaning:[NSString]varsentance:Stringvarsyn:[String]varseen:Intvarset:IntvarHF:Int}在尝试了我能想到的多种方法之后,我一直无法存储(持久化)数据(即结构数组)。我已经尝试过NSUserDefault、Plist和NSCoding方法(我可能做错了什么。)存储结构数组的最有效方

ios - 保存任何未保存的 PFObject 甚至用户终止应用程序

我正在创建一个社交网络应用程序,用户可以在其中创建群组、发布图片、更新图片。等等我遇到的问题是,有时,在将数据保存到Parse的过程中,用户可以终止应用程序。我想知道是否有解决此问题的方法?无论如何我可以检索任何未保存的PFObjects并保存它们吗? 最佳答案 是saveEventually对你来说够好吗?Theadvantageisthatiftheusercurrentlydoesn'thaveanetworkconnection,saveEventuallywillstoretheupdateonthedeviceuntil

ios - 由于未捕获的异常 'NSUnknownKeyException' 而终止应用程序,原因 : this class is not key value coding-compliant for the key Label2. '

这个问题在这里已经有了答案:Xcode-Howtofix'NSUnknownKeyException',reason:…thisclassisnotkeyvaluecoding-compliantforthekeyX"error?(78个答案)关闭5年前。这是我收到的确切错误消息:Terminatingappduetouncaughtexception'NSUnknownKeyException',reason:'[setValue:forUndefinedKey:]:thisclassisnotkeyvaluecoding-compliantforthekeyLabel2.'我创建了

swift - 如果存在管道,通过 NSTask 的 cURL 不会终止

我正在尝试为Swift中的简单命令行批处理脚本同步读取URL的内容。为了简单起见,我使用cURL——我知道如果必须的话,我可以使用NSURLSession。我还使用swiftbuild在OSX上使用Swift的开源版本来构建它。问题是在某些URL上,如果stdout已被重定向到管道,NSTask永远不会终止。//Thiswillhang,andwhenterminatedwithCtrl-Creports"(23)Failedwritingbody"importFoundationlettask=NSTask()letpipe=NSPipe()task.launchPath="/usr