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

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

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

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

以下代码摘自MobileChat:

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

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

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

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

  • 1.
  • 2.
  • 3.

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

- (void)powerMessageReceived:(natural_t)messageType withArgument:(void *) messageArgument {  
 switch (messageType) {  
  case kIOMessageSystemWillSleep:  
   IOAllowPowerChange(root_port, (long)messageArgument);   
   break;  
  case kIOMessageCanSystemSleep:  
   //if([self wifiKeepAliveIsSet]) {  
   IOCancelPowerChange(root_port, (long)messageArgument);  
   //}  
   break;   
  case kIOMessageSystemHasPoweredOn:  
   break;  
 }  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

这样就可以保持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

思科网络软件

2021-02-22 10:27:30

网络软件多云网络复杂性

2015-01-21 09:20:06

企业软件更新

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音乐移动应用

2020-02-19 11:35:21

iPhone越获PP助手

2023-08-04 11:04:03

线程池项目开发

2012-08-02 18:02:57

思科收购

2021-06-04 08:56:09

勒索软件攻击数据泄露

2016-02-23 13:06:10

Wi-Fi连接故障网络连接

2009-11-10 09:19:30

2010-01-27 09:11:30

Windows 7离线模式

2009-11-12 13:34:20

路由器设备

2010-08-25 10:50:25

无线网络断线

2011-10-05 02:29:38

iPhone 4s
点赞
收藏

51CTO技术栈公众号