ios - 在 ios 中使用后台

标签 ios appdelegate

<分区>

我已经为 iOS 应用程序开发了 socket.IO。当应用程序运行时,应用程序可以毫无问题地发送和接收 http 套接字数据。

我只想在应用程序进入后台时收到消息。

我认为 appdelegate.h 的委托(delegate)方法:

- (void)applicationDidEnterBackground:(UIApplication *)application

为它工作。但是我怎样才能在那个范围内实现我的功能?

最佳答案

在 iOS 中,除了 VOIP 应用程序、导航应用程序或音乐应用程序之外,没有任何应用程序具有无限的后台工作权限(除非您的应用程序是通过蓝牙与某些外部硬件连接的应用程序)。他们只能工作一段特定的时间,之后,他们进入暂停状态。

现在就您的评论询问有关 IM 应用程序而言,它们使用 Apple 推送通知服务来通知用户任何重要事件,因此无论暂停时间如何,它们都可以随时处理该数据。

例如,Facebook 通过推送通知让您知道任何收到的消息。当您从那里打开应用程序时,您的 appDelegate 的 applicationDidFinishLaunchingWithOptions: 方法会被调用,该方法的参数包含您的推送通知想要它包含的信息。您可以在 Apple 网站上查看推送通知服务文档 here .在 Ray Wenderlich 上也有一个很好的教程。 .

关于ios - 在 ios 中使用后台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18674149/

相关文章:

ios - 具有渐变的 UITableViewCell 在第一次重用单元格之前不起作用

iOS swift : UIWebView has extremely big content

ios - 游戏在快速从后台恢复后退出暂停状态

android - 如何填充 SQLite 数据库并在 phonegap 中使用该数据库?

iOS:如何在使用 componentSeparatedByCharactersInSet 时维护分隔符

iOS - 从 ViewController 调用 App Delegate 方法

ios - 从 appdelegate 展示一个 View Controller

swift - 如何在 NSApplicationDelegate 上加载 NSViewController

objective-c - 获取 UITabBarController 中选定选项卡的标题

ios - 如何实现导航 Controller 的全屏滑动/平移功能?