我正在开发一款手机游戏,当显示低电量警报时,它似乎会崩溃。它适用于内存不足、来电和其他消息。
测试和调试它很痛苦,因为我找不到模拟这种情况的终端或 iPhone 模拟器,所以我必须给手机充电一点,启动应用程序,等待它耗尽电量,然后开始重新来过。
有谁知道以现实方式产生此错误的方法?希望不会对我的 iPhone 电池造成太大压力。
我正在开发一款手机游戏,当显示低电量警报时,它似乎会崩溃。它适用于内存不足、来电和其他消息。
测试和调试它很痛苦,因为我找不到模拟这种情况的终端或 iPhone 模拟器,所以我必须给手机充电一点,启动应用程序,等待它耗尽电量,然后开始重新来过。
有谁知道以现实方式产生此错误的方法?希望不会对我的 iPhone 电池造成太大压力。
不幸的是,没有很好的方法来模拟低电量环境。实际上,您很可能需要对设备的电池进行物理充电,直到它刚好高于“低电量”状态,然后调试您的应用程序。
为了解决其他人所说的话:
UILocalNotifications
。这与仅在您的应用程序中显示 UIAlertView 并没有太大不同。尽管必须等待您的设备真正进入低电量状态是一件痛苦的事,但您可以在您的应用程序中添加一些耗电代码来帮助您。例如,使用 GPS 可能会更快地耗尽电池电量。
祝你好运。
您是否尝试过模拟低电量通知?似乎有一个项目可以做到这一点:https ://github.com/MegaEduX/LowBattery
假设这仅用于测试目的,您可以UIDevice
尝试以下私有方法:
-(void)_setBatteryState:(int)state;
-(void)_setBatteryLevel:(float)level;
您必须进行试验以查看他们期望的参数,或者它们是否有影响。
在 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];