34

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

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

有谁知道以现实方式产生此错误的方法?希望不会对我的 iPhone 电池造成太大压力。

4

4 回答 4

12

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

为了解决其他人所说的话:

  1. 没有办法模拟低电量通知。@Bo 的项目。提供的只是安排 random UILocalNotifications。这与仅在您的应用程序中显示 UIAlertView 并没有太大不同。
  2. 您可以尝试@Andrew R. 所说的并使用UIDevice header中的私有方法。但是,您是否会完全模仿真正的低电量环境的效果是值得怀疑的。

尽管必须等待您的设备真正进入低电量状态是一件痛苦的事,但您可以在您的应用程序中添加一些耗电代码来帮助您。例如,使用 GPS 可能会更快地耗尽电池电量。

祝你好运。

于 2012-06-19T17:06:12.913 回答
1

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

于 2012-06-14T08:53:15.687 回答
-2

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

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

您必须进行试验以查看他们期望的参数,或者它们是否有影响。

于 2012-06-19T03:30:20.223 回答
-2

在 iOS 中有一种方法可以模拟“低电量”

通过将 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];
于 2015-03-03T05:24:57.333 回答