2012-02-13 13 views
10

मुझे अपने आवेदन में कुछ डेटा सहेजने की ज़रूरत है, जब एप्लिकेशन समाप्त हो जाता है और यहां तक ​​कि यदि यह क्रैश हो जाता है। मुझे पता है कि applicationWillTerminate को एप्लिकेशन समाप्त होने पर कॉल किया जाता है लेकिन मुझे यकीन नहीं है कि एप्लिकेशन क्रैश होने पर कौन सी विधि को कॉल किया जाता है।
क्या कोई मेरी मदद कर सकता है?क्या ऐपडिलेगेट में कोई तरीका है जिसे एप्लिकेशन क्रैश होने पर बुलाया जाता है?

+1

आपको एक ऐप लिखना चाहिए जो क्रैश नहीं होता है, जो आपकी समस्या हल करता है –

+2

बहुत अच्छा विचार विन्स। लेकिन आप कभी नहीं जानते कि आपके आवेदन को क्या क्रैश हो सकता है। इससे पहले निपटना बाद में इसे करने से बेहतर है। – Nitish

उत्तर

14

ठीक है आप त्रुटि को पकड़ने के लिए अपना अपवाद हैंडलर जोड़ सकते हैं। ,

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); 
    // The rest if you code .... 
} 

ऐप्स क्रैश हो पर डेटा सहेजने बनाने के लिए कोई तरीका नहीं है:

फिर अपने अपवाद संचालक उपयोग करने देता है बता:

सबसे पहले आप अपवाद विधि परिभाषित करने की जरूरत चूंकि बचत दुर्घटना का कारण हो सकती है!

+0

क्या मैं इस uncaughtExceptionHandler विधि में NSUserDefaults में वर्तमान समय (ऐप क्रैश टाइम) सहेज सकता हूं? क्या यह सबसे अच्छा अभ्यास है? – Bhushan

+0

मुझे नहीं लगता कि आप कर सकते हैं, लेकिन आप एप्लिकेशन को सैंडबॉक्स में अपनी त्रुटि लिख सकते हैं, इस प्रकार क्रैशलीटिक्स, हॉकीपैप और प्रकार जैसे पुस्तकालय काम करते हैं। त्वरित प्रतिक्रिया के लिए – rckoenes

+0

धन्यवाद। ऐप क्रैश होने पर वर्तमान समय को सहेजने का कोई और तरीका है? मैं एप्लिकेशन WillTerminate विधि में समय बचा रहा हूं लेकिन ऐप क्रैश होने पर यह कॉल नहीं कर रहा है। दरअसल मेरा आवेदन इस तरह से है कि मुझे आगे की प्रक्रिया के लिए अंतिम सत्र लॉगआउट समय की आवश्यकता है। कोई भी सहायता जो आप प्रदान कर सकते हैं उसकी सराहना की जाएगी। – Bhushan

-3

नहीं, आप यह नहीं जान सकते कि एप्लिकेशन कब क्रैश हो जाता है।

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

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