草庐IT

ios - 当应用程序在后台时使用 React Native 静默 iOS 推送通知

我有一个ReactNative应用程序,我正在尝试将静默的iOS推送通知发送到JavaScript中的处理程序。我看到的行为是AppDelegate中的didReceiveRemoteNotification函数被调用,但我在JavaScript中的处理程序不会被调用,除非应用程序在前台或有最近才关闭。我感到困惑的是,显然应用程序正在被唤醒并调用它的didReceiveRemoteNotification函数,但是随后对[RCTPushNotificationManagerdidReceiveRemoteNotification:notification]的调用没有似乎无所不能。此外,

javascript - iOS WKWebView JS 在后台应用时不更新属性修改

嘿,我有一个带有WatchExtension的iOS应用程序。当启动AppleWatch应用程序时,它会启动iPhone应用程序并通过每隔几秒发送一次sendMessage调用来保持它的事件。iPhone应用程序然后导航到WKWebView中的网站,每隔几秒检查一次其内容,然后将一些数据发送到AppleWatch以便在那里显示。在AppleWatch上显示不断更新的内容非常好,我在iPhone上这样获取数据:self.webView.evaluateJavaScript("document.documentElement.outerHTML.toString()",completion

ios - 我可以像 App Store 应用程序一样在后台更新 iOS 企业应用程序吗?

我有一个iOS企业应用程序,我们正在无线分发到我们的设备。目前,该应用程序每天轮询一次我们的服务器,以查看是否有应用程序更新。如果有,我们会尝试通过让应用程序调用以下代码来安装它:NSURL*installUrl=[NSURLURLWithString:[NSStringstringWithFormat:@"itms-services://?action=download-manifest&url=%@",plistUrl]];[[UIApplicationsharedApplication]openURL:installUrl];这会导致应用程序通过警告对话框提示用户安装更新。如果他

iphone - 使用 Objective c 在后台调用类方法

在下面的摘录中,/*AClassNamewithinstanceMethodandClassMethod*/-(void)instanceMethod;+(void)ClassMethod;/*Tocallainstancemethodinbackground*/ClassNameclass1obj=[ClassNamealloc]init];[class1objperformSelectorInBackground:@selector(instanceMethod)withObject:nil];同样,如何使用performSelectorInBackground在后台调用Class

ios在后台线程上写入磁盘

我目前正在通过调用在后台线程中将一些文件写入磁盘dispatch_async(my_queue,^{[selfwriteToRoot:filenamedata:data];};-(BOOL)writeToRoot:(NSString*)pathdata:(NSData*)content{NSString*fullPath=[[selfrootPath]stringByAppendingPathComponent:path];NSString*pathWithoutFile=[fullPathstringByDeletingLastPathComponent];BOOLdirectory

ios - 在后台线程上创建一个 View ,将其添加到主线程上的主视图

我是ObjectiveC的新手,来自.NET和java背景。所以我需要异步创建一些UIwebview,我在自己的队列上使用dispatch_queue_tqueue=dispatch_queue_create("myqueue",NULL);dispatch_async(queue,^{//createUIwebview,otherthingstoo[self.viewaddSubview:webView];});正如您想象的那样,这会引发错误:bool_WebTryThreadLock(bool),0xa1b8d70:Triedtoobtaintheweblockfromathrea

ios:在后台排队阻塞并在网络可用时执行

我正在使用parse.comAPI(提供API以在其服务器上保存数据的托管后端)开发应用程序。我希望能够在线和离线无缝地使用该应用程序。为此,我需要使用一个队列,我可以在其中放置需要网络访问的block。当网络可用时,block应该串行执行,当网络离线时,队列处理应该暂停。我正在考虑在网络可用/不可用时将GCD与挂起/恢复一起使用。我想知道是否有更好的选择?如果将应用程序置于后台,这会起作用吗?这里的一个典型例子是用户在网络不可用(排队)时保存一些数据,然后将应用程序置于后台。现在当网络可用时,是否可以自动在后台进行保存? 最佳答案

ios - WatchOS2 WCSession sendMessage 不会在后台唤醒 iPhone

这正在模拟器和真实物理设备iphone5s上进行测试。我尝试使用WCSessionsendMessage从WatchOS2扩展到iPhoneiOS9代码进行通信。当iphone应用程序在前台和后台模式下运行时,它运行良好。但是如果我终止iPhone应用程序(根本不运行应用程序),那么我总是会遇到errorHandler超时。因此Watch无法再与iPhone通信。"ErrorDomain=WCErrorDomainCode=7012"Messagereplytooktoolong."UserInfo={NSLocalizedDescription=Messagereplytooktoo

ios - 我可以使用 PushKit 进行定期推送而不使用 VoIP 吗?如果用户不根据通知采取行动,是否会允许在后台启动已终止的应用程序?

在PushKit中提到我们可以使用常规推送或VoIP推送。但是我没有找到任何关于PKPushType用于常规推送的文档。有人尝试使用PushKit进行常规推送吗?如果我不使用VoIP,如果收到推送通知,是否有可能在后台启动已终止的应用程序?意思是如果应用程序被杀死并且收到通知并且用户没有采取任何行动,如果我使用PushKit,应用程序可以在后台由iOS启动吗? 最佳答案 从iOS13.0开始,不再允许这样做。如果在didReceiveIncomingPush(withPayload:)完成之前无法呈现CallKit,Apple将终止

ios - Block_release 在后台线程上释放 UI 对象

在WWDC2010“BlocksandGrandCentralDispatch”演讲中提出的模式之一是使用嵌套的dispatch_async调用在后台线程上执行耗时任务,然后在任务完成后更新主线程上的UIdispatch_async(backgroundQueue,^{//dosomethingtimeconsuminginbackgroundNSArray*results=ComputeBigKnarlyThingThatWouldBlockForAWhile();//useresultsonthemainthreaddispatch_async(dispatch_get_main_