2011-09-08 13 views
15

कैसे पता करने के लिए एप्लिकेशन को उपयोगकर्ता द्वारा या iOS से समाप्त हो जाता है कि क्या जब एप्लिकेशन पुनः प्रारंभ करें>कैसे पता करने के लिए एप्लिकेशन को उपयोगकर्ता या iOS (10min पृष्ठभूमि के बाद) द्वारा समाप्त किया गया है या

'उपयोगकर्ता द्वारा' "डबल क्लिक घर से मतलब है बटन और दबाने - बटन "। उपयोगकर्ता

का अर्थ है 'आईओएस तक' ने मार डाला "एप्लिकेशन बन पृष्ठभूमि चल राज्य, और iOS 10 मिनट के बाद एप्लिकेशन समाप्त"

+2

आईओएस पृष्ठभूमि में 10 मिनट के बाद आपके ऐप को क्यों समाप्त कर देगा? – mayuur

+0

मैं जानना चाहता हूं कि उपयोगकर्ता ने ऐप को मार दिया है या नहीं (लाल '-' बटन पर क्लिक करके) – ChangUZ

उत्तर

9

सिस्टम संसाधन कम कर रहे हैं, तो आईओएस अपने अनुप्रयोग को समाप्त हो सकता है - अगर ऐसा होता है, आप applicationWillTerminate देखेंगे ।

ऐसा लगता था कि यदि उपयोगकर्ता ने ऐप को मार दिया (बटन मैनेजर, बटन डबल-क्लिक के माध्यम से और फिर लाल '-' हिट करता है) तो यह एक सिगकिल और एप्लिकेशनविल टर्मिनेट नहीं कहा जाता है। मध्य -2013 की एक रिपोर्ट से पता चलता है कि यह बदल गया है और applicationWillTerminate अब कहा जाता है।

आप applicationWillTerminate में कुछ राज्य बिट लिखने के लिए NSUserDefaults का उपयोग कर सकते हैं यह ध्यान देने के लिए कि इस फ़ंक्शन को बुलाया गया था और संभवत: उपयोगकर्ता की हत्या के बजाए सिस्टम की हत्या है।

+2

इस संबंध में: "यदि कोई उपयोगकर्ता ऐप को मारता है (टास्क मैनेजर, बटन डबल-क्लिक के माध्यम से और फिर लाल '-' को हिट करता है) एक सिगकिल और एप्लिकेशनविल टर्मिनेट को नहीं कहा जाता है। " बस एक चेतावनी है कि इस व्यवहार को किसी बिंदु पर बदल दिया हो सकता है। मेरी टीम के एक अन्य डेवलपर ने अभी इसका परीक्षण किया और बताया कि इस मामले में 'एप्लिकेशनविल टर्मिनेट' कहा जाता था। –

+0

धन्यवाद स्टीव, इन उत्तरों को अद्यतन रखने के लिए हमेशा अच्छा है। –

+2

बस डीबगर के साथ इसका परीक्षण किया गया: एप्लिकेशनविल टर्मिनेट को कॉल किया जाता है, लेकिन डीबगर के बिना नहीं है (आईफोन 5 के लिए आईकोड 5 के लिए एक्सकोड कंसोल लॉग का उपयोग करके) –

10

यदि आपका ऐप निलंबित राज्य में है तो applicationWillTerminate कभी भी कॉल नहीं किया जाएगा, जिसने ऐप आईओएस या उपयोगकर्ता को मार डाला है।

आपका applicationWillTerminate केवल तभी कॉल करेगा जब आपका ऐप पृष्ठभूमि में होगा और यह मार डाला जाएगा (या तो आईओएस या उपयोगकर्ता द्वारा) शब्द पृष्ठभूमि का मतलब है कि यह पृष्ठभूमि में चल रहा है न कि निलंबित राज्य में।

बस पढ़ this reference

applicationWillTerminate: -Lets आप जानते हैं कि अपने अनुप्रयोग समाप्त किया जा रहा है। यदि आपका ऐप निलंबित कर दिया गया है तो यह विधि नहीं कहा जाता है। एप्लिकेशन को पृष्ठभूमि और क्रियान्वित कोड में है -

यहाँ विभिन्न राज्यों enter image description here

पृष्ठभूमि की तालिका है। अधिकतर ऐप्स निलंबित होने के तरीके पर संक्षेप में इस राज्य में प्रवेश करते हैं। हालांकि, एक ऐप जो अतिरिक्त निष्पादन समय का अनुरोध करता है, इस अवधि में समय के लिए रह सकता है। इसके अलावा, पृष्ठभूमि में सीधे लॉन्च किया जा रहा एक ऐप निष्क्रिय स्थिति के बजाय इस स्थिति में प्रवेश करता है। पृष्ठभूमि में रहते समय कोड निष्पादित करने के बारे में जानकारी के लिए, पृष्ठभूमि निष्पादन देखें।

+1

इस धागे का सबसे स्पष्ट जवाब। धन्यवाद! –

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

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