模拟iPhone的低电量

时间:2012-06-14 08:38:51

标签: iphone objective-c ios-simulator simulation power-management

我正在开发一款手机游戏,当显示低电量警报时,它会出现崩溃。它适用于低内存,来电和其他消息。

测试和调试这个很痛苦,因为我找不到终端或iPhone模拟器模拟这种情况的方法,所以我必须稍微给手机充电,启动应用程序,等待它耗尽电量,并重新开始。

有没有人知道以实际方式产生此错误的方法?希望我的iPhone电池没有太大的压力。

4 个答案:

答案 0 :(得分:10)

不幸的是,没有好的方法来模拟低电池环境。您实际上很可能需要对设备的电池进行物理充电,直到它高于“电池电量不足”状态,然后调试您的应用程序。

解决别人所说的话:

  1. 无法模拟电量不足的通知。该项目 那个@Bo。所提供的只不过是随机安排 UILocalNotifications。它与众不同并不是那么多 在您的应用中显示UIAlertView。
  2. 你可以试试@Andrew R. 说并使用UIDevice header中的私有方法。 但令人怀疑的是,你是否会完全模仿真实的影响 低电池环境。
  3. 虽然等待设备实际达到低电量状态是一件痛苦的事,但您可以在应用中添加一些耗尽电量的代码来帮助您。例如,使用GPS可能会更快地耗尽电池。

    祝你好运。

答案 1 :(得分:1)

您是否尝试过模拟低电量通知?似乎有一个项目可以做到这一点:https://github.com/MegaEduX/LowBattery

答案 2 :(得分:0)

在iOS中,可以模拟" Low Battery"

通过将UIDevice单例的属性设置为YES来启用电池监视:

UIDevice *device = [UIDevice currentDevice];
device.batteryMonitoringEnabled = YES;

iOS提供两种类型的电池监控事件,一种用于状态变化(例如,充电,未插电,完全充电),另一种用于在电池电量变化时更新。与接近监控的情况一样,您注册回调以接收通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@"UIDeviceBatteryLevelDidChangeNotification" object:device];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@"UIDeviceBatteryStateDidChangeNotification" object:device];

答案 3 :(得分:-2)

假设这仅用于测试目的,您可以尝试使用以下私有UIDevice方法:

-(void)_setBatteryState:(int)state;
-(void)_setBatteryLevel:(float)level;

您必须尝试查看他们期望的参数,或者它们是否会产生影响。