草庐IT

ios - 当应用程序不在前台时从 iOS 应用程序向上游发送 gcm + 用于上传 APNs 证书的 gcm API

我有两个关于使用gcm库的APNs推送通知的问题。gcm或fcm是否有用于上传APNs证书的publicapi?我需要自动而不是手动执行此操作。在iOS应用中使用gcm库发送上游似乎只在应用处于前台时有效。这是对的吗?即使应用程序未打开或处于后台,是否有任何解决方法可以向上游发送?我想使用gcmupstream向我的服务器发送通知click事件,最好立即执行。我知道我可以保存这个点击事件并在应用激活时发送它,但用户可能很长时间没有打开应用。 最佳答案 1.DoesgcmorfcmhaveapublicapiforuploadingA

ios - ViewDidAppear 不会在每次应用程序进入前台时执行

我正在使用Arduino板构建物联网应用程序并调用API来检查Arduino板的更新引脚值。当我从API收到更新时,我必须根据收到的数据将我的按钮颜色更新为红色或绿色。我第一次加载应用程序时它工作正常并且调用了viewDidAppear()。但是当我进入后台然后再次进入前台时,它不会被调用。我所知道的是,每次出现View时,它都必须运行函数内部的指令,但似乎并非如此。我试图将我的代码放在AppDelagateapplicationDidBecomeActive()中,但是因为我正在尝试更新我的View,而View还不存在,这给了我致命的打击发现错误为零。这是我在viewDidAppea

ios - UIRefreshControl 卡在返回前台 iOS 10

我们在UITableViewController上实现了下拉刷新。对于长时间运行的刷新,如果用户转到主屏幕然后返回到应用程序,UIRefreshControl似乎被卡住-它仍然显示但不旋转。在SO上尝试了许多解决方案,但没有任何效果。我们的实现://Configurepulltorefreshwhenuser"pullsdown"self.refreshControl?.addTarget(self,action:#selector(NotificationTableViewController.handleRefresh(refreshControl:)),for:UIControl

ios - 当应用程序在前台时更新来自推送通知的标签栏角标(Badge)计数

我的TabBarController中有一个通知选项卡,我想显示与App角标(Badge)计数相同的角标(Badge)计数。除了应用程序位于前台时,我可以在所有情况下使用它。为此,我为我的TabBarController创建了一个自定义类,它注册了UIApplicationWillEnterForeground通知并将通知选项卡的角标(Badge)设置为与App角标(Badge)相同。我也在OnLoad()函数中执行此操作。现在,当应用程序已经在前台时,我该如何更新通知标签角标(Badge)?我在AppDelegate函数中捕获通知:application(_:didReceiveRe

ios - 当应用程序进入前台时,哪个 View Controller 处于事件状态?

通常我可以找出何时出现一个ViewControlleroverridefuncviewDidAppear(_animated:Bool){super.viewDidAppear(animated)}虽然如果用户按下主页按钮或由于某些其他原因应用程序进入后台然后返回前台,则不会调用此方法。要了解应用程序何时进入前台,我可以向通知中心添加一个观察者。classFirstViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()NotificationCenter.default.addObser

objective-c - 如果应用程序在前台,iOS8 禁用推送通知

我的AppDelegate中有一个didReceiveRemoteNotification处理程序。即使我返回一个空代码块,我的应用程序也会收到推送通知并在应用程序运行时将其显示给用户。我想要应用程序在后台运行时的推送通知,而不是在前台运行时的推送通知。我已经阅读了十几篇关于iOS8通知的SO帖子和文档,以及关于通知的WWDC2014视频,但我仍然无法弄清楚当应用程序位于前台时如何防止通知模式警报。如果你知道这样做的任何方法,请告诉我。 最佳答案 您可以在didReceiveRemoteNotification中检查应用程序状态以实

ios - 在前台推送通知

我有一个能够接收推送通知的应用程序。当应用程序处于后台模式时,推送通知显示良好,但如果应用程序处于前台模式,我想显示我的自定义View包含来自userInfo的信息。我如何从我的appDelegatedidReceiveRemoteNotification通知任何viewController以显示此自定义View并将userInfo字典发送到那里?有人可以帮我解决我的问题吗? 最佳答案 你可以发送一个通知,然后你想要被提醒的viewControllers可以有观察者:NSNotificationCenter.defaultCente

ios - 在 Swift 中以编程方式将应用程序置于前台

我测试过:UIControl().sendAction(#selector(URLSessionTask.suspend),to:UIApplication.shared,for:nil)用于将应用程序置于后台并且可以正常工作。如何将应用程序重新置于前台?我试过:UIControl().sendAction(#selector(URLSessionTask.resume),to:UIApplication.shared,for:nil)但最终它崩溃了......谢谢 最佳答案 更新:既然您已经表示您正在寻找任何技术解决方案,即使是那

iOS 后台任务会在前台完成吗?

如果我使用此方法运行任务,但将应用程序保持在前台,当应用程序处于前台时是否会调用expirationHandler?我每次进后台都是用这个来启动定位服务的,但是有时候用户进了后台又立马回到app,这个会调用expirationHandler吗?funcbeginBackgroundTask(expirationHandlerhandler:(()->Void)?=nil)->UIBackgroundTaskIdentifier 最佳答案 文档说:Ahandlertobecalledshortlybeforetheapp’sremai

swift - 在前台、后台和杀死(从后台删除)应用程序中检测信标

我正在研究前台、后台和杀死(从后台删除)应用程序中的信标检测。我有kontakt信标。我已经实现了位置管理器委托(delegate)方法,但我无法在前台检测到信标和背景甚至没有调用方法didEnterRegion和didExitRegion。对于解决方案,我将位置管理器委托(delegate)与KTKDevicesManagerDelegate合并。我无法在位置管理器中检测到信标,所以我尝试在位置管理器方法的didRangeBeacons中实现我启动KTKDeviceManagerDelegate的devicesManager.startDevicesDiscovery()那个时候检测