29

배터리 부족 경고가 표시되면 모바일 게임이 작동하는 것처럼 보입니다. 그것은 낮은 메모리, 들어오는 호출 및 기타 메시지에 잘 작동합니다.iPhone 용 배터리 부족 시뮬레이션

이 상황을 시뮬레이션하는 터미널이나 iPhone 시뮬레이터를 찾을 수 없으므로 테스트하고 디버깅하는 데 어려움이 있습니다. 따라서 휴대 전화를 조금 충전하고 앱을 시작한 다음 전원을 다시 시작합니다.

누구나 현실적인 방법으로이 오류를 생성하는 방법을 알고 있습니까? 바라기를 나의 iPhone 건전지에 너무 스트레스가없는 무언가.

+0

좋은 질문입니다. 비슷한 문제가 있습니다 –

+0

언제 충돌이 발생합니까? "배터리 부족 알림"또는 다른 것을 얻을 때? –

+0

파란 경고가 나타나면 앱이 다운됩니다. 배터리 경고 메시지가 계속 나타납니다. –

답변

10

불행히도 배터리 부족 환경을 시뮬레이트하는 좋은 방법은 없습니다. 실제로 "배터리 부족"상태가 될 때까지 물리적으로 장치의 배터리를 충전 한 다음 응용 프로그램을 디버깅해야 할 가능성이 큽니다.

이 말한 다른 해결하려면 배터리 부족 알림을 시뮬레이션 할 수있는 방법이 없습니다

  1. . 프로젝트 @ 보. 제공된 일정은 무작위로 예약하는 것 이상입니다. UILocalNotifications. 앱에 UIAlertView를 표시하는 것만 큼 다를 것은 없습니다.
  2. 여러분은 @Andrew R. 이 말한 것을 시도하고 UIDevice header에있는 개인적인 방법을 사용할 수 있습니다. 그러나 배터리 부족 환경 인 의 효과를 정확히 모방하는 것은 의심 스럽습니다. 그것은 고통이 실제로 배터리 부족 상태에 충돌하는 장치를 기다려야 할 것입니다하지만

, 당신은 당신을 돕기 위해 앱에 일부 배터리 소모 코드를 추가 할 수 있습니다. 예를 들어 GPS를 사용하면 배터리가 더 빨리 소모 될 수 있습니다.

행운을 빈다. 아이폰 OS에서

1

배터리 부족 알림을 시연 해 보셨습니까?

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

당신은 무엇을보기 위해 실험을해야합니다 : https://github.com/MegaEduX/LowBattery

+0

슬프게도 이것은 실제로 나에게 현실적인 출력을 만드는 것 같아요 ... 그냥 경고를 모방하는 것, 그리고 내 애플 리케이션이 충돌하지 않습니다, 그리고 이것은 여전히 ​​"진짜"아이폰을 실행에서 발생합니다 낮은 전력. –

-2

이는 테스트 목적을위한 가정하면, 다음과 같은 개인 방법에게 시험을 줄 수 : 것을 수행하는 프로젝트가 될 것 같다 예상되는 매개 변수 또는 전혀 영향을 미치지 않는지 여부를 결정합니다.

+1

'_setBatteryLevel' 함수가 카테고리를 통해 사용 가능하고, 그 카테고리에있는 동안, [self performSelector : @selector (_setBatteryLevel :) withObject : [NSNumber numberWithFloat : 0.01]]를 호출하면'[[UIDevice currentDevice] batteryLevel]'당신이 보낸 값을 반환하기 위해, 그것은 메모리 부족 경고를 트리거하지 않습니다. –

+0

@ john.k.doe를 25, 20으로 설정해 보시겠습니까? 배터리 부족 경고가 5 % 간격으로 트리거되고 경고가 레벨 한계에 도달했을 때만 표시되는 것으로 들었습니다. – onmyway133

0

배터리 모니터링이 YES로 UIDevice 싱글의 속성을 설정하여 사용할 수 있습니다 "배터리 부족"을 시뮬레이션 할 수있는 방법이 :

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

아이폰 OS가 배터리 모니터링 이벤트의 두 가지 유형을 제공, 하나는 상태가 변경 될 때 (예 : 충전 중, 분리됨, 완전 충전 중)이고 하나는 배터리의 충전 레벨이 변경 될 때 업데이트됩니다. 근접 모니터링의 경우와 마찬가지로 콜백을 등록하여 알림을 수신합니다.

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