29

के लिए कम बैटरी सिम्युलेट करना मैं मोबाइल गेम पर काम कर रहा हूं, जो कम बैटरी अलर्ट प्रदर्शित होने पर दिखाई देता है। यह कम स्मृति, आने वाली कॉल और अन्य संदेशों पर ठीक काम करता है।iPhones

इसका परीक्षण करने और इसे डीबग करने का दर्द है, क्योंकि मुझे इस स्थिति को अनुकरण करने के लिए कोई टर्मिनल या आईफोन सिम्युलेटर तरीका नहीं मिल रहा है, इसलिए मुझे अपने फोन को थोड़ा सा चार्ज करना होगा, ऐप लॉन्च करना होगा, इसके लिए इसे निकालना होगा शक्ति, और फिर से शुरू करो।

क्या कोई इस यथार्थवादी तरीके से इस त्रुटि को उत्पन्न करने का तरीका जानता है? उम्मीद है कि मेरी आईफोन बैटरी पर बहुत तनावपूर्ण नहीं है।

+0

अच्छा प्रश्न। मेरे पास एक समान समस्या है –

+0

यह कब दुर्घटनाग्रस्त हो जाता है? जब आपको "कम बैटरी अलर्ट" या कुछ और मिलता है? –

+0

जब नीली चेतावनी दिखाई देती है, तो ऐप क्रैश हो जाता है। बैटरी चेतावनी रहता है। –

उत्तर

10

दुर्भाग्यवश, कम बैटरी वातावरण को अनुकरण करने का कोई अच्छा तरीका नहीं है। जब तक यह "कम बैटरी" स्थिति से ऊपर न हो और तब तक आपके एप्लिकेशन को डीबग न करें, तब तक आपको वास्तव में अपने डिवाइस की बैटरी को भौतिक रूप से चार्ज करने की आवश्यकता होगी।

पता करने के लिए क्या अन्य लोगों ने कहा:

  1. वहाँ कोई रास्ता नहीं कम बैटरी पर आने वाली सूचनाएं है। प्रोजेक्ट कि @ बो। बशर्ते यादृच्छिक UILocalNotifications शेड्यूल से अधिक कुछ नहीं करता है। यह सिर्फ से बहुत अलग नहीं है जो आपके ऐप में UIAlertView दिखा रहा है।
  2. आप कोशिश कर सकते हैं कि @Andrew R.ने कहा और UIDevice header में पाए गए निजी तरीकों का उपयोग करें। लेकिन यह संदिग्ध है कि आप वास्तव में वास्तविक कम-बैटरी वातावरण के प्रभावों की नकल करेंगे।

हालांकि यह आपके लिए डिवाइस को वास्तव में कम बैटरी स्थिति को हिट करने के लिए इंतजार करना पड़ेगा, आप अपनी सहायता के लिए अपने ऐप में कुछ बैटरी-नाली कोड जोड़ सकते हैं। उदाहरण के लिए, जीपीएस का उपयोग करके बैटरी थोड़ा तेज हो सकती है।

शुभकामनाएं।

1

क्या आपने कम बैटरी अधिसूचनाओं को अनुकरण करने का प्रयास किया था?

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

आप क्या देखने के लिए प्रयोग करने के लिए होगा: https://github.com/MegaEduX/LowBattery

+0

अफसोस की बात यह है कि यह वास्तव में मेरे लिए यथार्थवादी आउटपुट नहीं लग रहा है ... यह केवल चेतावनी की नकल करने लगता है, और मेरा ऐप क्रैश नहीं करता है, और यह अभी भी एक "असली" आईफोन चल रहा है कम बिजली पर। –

-2

मान लिया जाये कि यह केवल परीक्षण के लिए है, तो आपको निम्न निजी तरीकों एक कोशिश दे सकता है: वहाँ एक परियोजना है कि है कि हो रहा है पैरामीटर वे उम्मीद करते हैं, या क्या उनके पास कोई प्रभाव पड़ता है।

+1

जबकि '_setBatteryLevel' फ़ंक्शन श्रेणी के माध्यम से उपलब्ध है, और उस कैटोगोरी में,' [स्वयं प्रदर्शन चयनकर्ता: @ चयनकर्ता (_setBatteryLevel :) ऑब्जेक्ट के साथ कॉल करना: [NSNumber numberWithFloat: 0.01]] '' [[UIDevice 'द्वारा लौटाए गए मान का कारण बन जाएगा currentDevice] बैटरीLevel] 'आपके द्वारा भेजे गए मान को वापस करने के लिए, यह कम-स्मृति चेतावनी को ट्रिगर नहीं करेगा। –

+0

@ john.k.doe क्या आपने इसे 25, 20 पर सेट करने का प्रयास किया है? मैंने सुना है कि कम बैटरी चेतावनी 5% अंतराल पर ट्रिगर होती है और चेतावनी केवल तभी दिखाई जाती है जब यह स्तर सीमा तक पहुंच जाती है – onmyway133

0

आईओएस में अनुकरण करने के लिए "कम बैटरी" जिस तरह से

बैटरी निगरानी हां में UIDevice सिंगलटन की संपत्ति की स्थापना द्वारा सक्षम किया गया है है:

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

आईओएस बैटरी निगरानी की घटनाओं के दो प्रकार प्रदान करता है, एक जब राज्य बदलता है (उदाहरण के लिए, चार्जिंग, अनप्लग्ड, पूर्ण चार्ज) और बैटरी के चार्ज स्तर में परिवर्तन होने पर अपडेट होने वाला एक। निकटता निगरानी के मामले में, आप नोटिफिकेशन प्राप्त करने के लिए कॉलबैक पंजीकृत करते हैं:

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

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^