iPhone网络软件在睡眠情况断线 已解决

移动开发 iOS
本文介绍的是iPhone网络软件在睡眠情况断线,iPhone处于睡眠状态时,Wifi会中断,这样程序就无法保持连接,看本文如何解决。

iPhone网络软件在睡眠情况断线是本文要介绍的内容,如果你希望使用iPhone网络功能并保持长连接,并使用Wifi的话,你可能会发现一个问题,那就是在iPhone处于睡眠状态时,Wifi会中断,这样程序就无法保持连接。(iPhone非官方SDK)

下面的代码可能会帮你解决这个问题。

以下代码摘自MobileChat:

首先在applicationDidFinishLaunching方法中添加以下代码:

  1.  IONotificationPortRef notificationPort;  
  2. root_port = IORegisterForSystemPower(self, &notificationPort, powerCallback, &notifier);  
  3. CFRunLoopAddSource(CFRunLoopGetCurrent(), IONotificationPortGetRunLoopSource(notificationPor t), kCFRunLoopCommonModes);  

接着添加如下全局方法(在所有类之外添加)

  1. void powerCallback(void *refCon, io_service_t service, natural_t messageType, void *messageArgument) {  
  2.  [(YourAppnameApp*)refCon powerMessageReceived: messageType withArgument: messageArgument];  

在你的程序里添加下面的代码:

  1. - (void)powerMessageReceived:(natural_t)messageType withArgument:(void *) messageArgument {  
  2.  switch (messageType) {  
  3.   case kIOMessageSystemWillSleep:  
  4.    IOAllowPowerChange(root_port, (long)messageArgument);   
  5.    break;  
  6.   case kIOMessageCanSystemSleep:  
  7.    //if([self wifiKeepAliveIsSet]) {  
  8.    IOCancelPowerChange(root_port, (long)messageArgument);  
  9.    //}  
  10.    break;   
  11.   case kIOMessageSystemHasPoweredOn:  
  12.    break;  
  13.  }  

这样就可以保持iPhone网络连接的状况下不睡眠了(当然,可能会比较费电 ^_^)。

小结:iPhone网络软件在睡眠情况断线 已解决的内容介绍完了,希望本文对你有所帮助。

责任编辑:zhaolei 来源: CocoaChina
相关推荐

2011-08-22 14:42:40

iPhone网络

2015-07-28 11:29:01

网络软件

2013-12-03 14:01:12

2010-07-13 16:34:28

思科网络软件

2015-01-21 09:20:06

企业软件更新

2021-02-22 10:27:30

网络软件多云网络复杂性

2012-03-01 11:29:43

云计算微软Azure

2014-11-07 10:44:26

恶意软件WireLurker

2012-05-10 17:16:07

信息图iPhoneAndroid

2021-11-26 22:25:48

QQQQ音乐移动应用

2023-08-04 11:04:03

线程池项目开发

2020-02-19 11:35:21

iPhone越获PP助手

2012-08-02 18:02:57

思科收购

2010-01-27 09:11:30

Windows 7离线模式

2010-08-25 10:50:25

无线网络断线

2009-11-12 13:34:20

路由器设备

2021-06-04 08:56:09

勒索软件攻击数据泄露

2009-11-10 09:19:30

2016-02-23 13:06:10

Wi-Fi连接故障网络连接

2011-10-05 02:29:38

iPhone 4s
点赞
收藏

51CTO技术栈公众号