से निपटने मैंपुश अधिसूचना
Handling Local and Remote Notifications
पर एप्पल डॉक्स पढ़ रहा हूँ और यह परस्पर विरोधी बयानों के लिए मेरे लिए लग रहा है। क्या कोई इन भ्रम बिंदुओं को साफ़ कर सकता है? चलो अब रिमोट अधिसूचना (बनाम स्थानीय) के बारे में सख्ती से बात करते हैं।
दस्तावेज़ कहते हैं कि अगर अधिसूचना पर कार्रवाई बटन दबाया जाता है, तो यह एप्लिकेशन को कॉल करता है: didFinishLaunchingWithOptions और अधिसूचना पेलोड में गुजरता है। बाद में यह कहता है कि यदि ऐप अग्रभूमि में चल रहा है, तो यह एप्लिकेशन के माध्यम से अधिसूचना प्रदान करता है: didReceiveRemoteNotification:। यह मेरा तात्पर्य है कि जब ऐप पृष्ठभूमि या नहीं चल रहा है, तो आवेदन: didFinishLaunchingWithOptions कहा जाता है। अन्यथा, आवेदन: didReceiveRemoteNotification: कहा जाता है।
बाद में, वहाँ एक iOS नोट कह निम्नलिखित:
"iOS नोट: आईओएस में, आप निर्धारित कर सकते हैं एक आवेदन कार्रवाई बटन या अधिसूचना दिया गया था दोहन उपयोगकर्ता का एक परिणाम के रूप में शुरू किया गया है या नहीं आवेदन स्थिति की जांच करके पहले से चल रहे आवेदन के लिए। आवेदन के प्रतिनिधि के कार्यान्वयन में: didReceiveRemoteNotification: या अनुप्रयोग: didReceiveLocalNotification: विधि, एप्लिकेशनस्टेट गुण का मूल्य प्राप्त करें और इसका मूल्यांकन करें। यदि मान UIAplplicationStateInactive है, तो उपयोगकर्ता ने टैप किया एक्शन बटन; यदि मान UIAplplicationStateActive है, तो सूचना को प्राप्त होने पर एप्लिकेशन सबसे आगे था। "
यह मेरा तात्पर्य है कि आवेदन: didReceiveRemoteNotification: ऐप पहले से ही अग्रभूमि होने पर दोनों को बुलाया जाता है और यदि उपयोगकर्ता एक्शन बटन दबाता है (या आईओएस 5 में एक्शन स्लाइडर स्लाइड करता है) ऐप को अग्रभूमि/लॉन्च करने के लिए।
मेरे भ्रम का स्रोत पहले भाग के साथ हो सकता है जहां दस्तावेज़ों को अधिसूचना पेलोड को एप्लिकेशन के साथ भेजा जाता है: didFinishLaunchingWithOptions: विधि या "चल रहा" एप्लिकेशन क्या है इसकी गलतफहमी के साथ (एक पृष्ठभूमि वाला ऐप माना जाता है " चल रहा है "?)। आवेदन के लिए प्रलेखन: didReceiveRemoteNotification: कहता है कि इसे "चलने" अनुप्रयोगों के लिए बुलाया जाता है।
तो, संक्षेप में प्रस्तुत करने, मैं पर स्पष्टीकरण मिल सकता है:
1) है आवेदन: didReceiveRemoteNotification: हमेशा कहा जाता है जब एप्लिकेशन foregrounded या है उपयोगकर्ता अधिसूचना पर "क्रिया" के लिए चुनता है जब? यदि नहीं, तो आवेदन राज्य को सक्रिय या निष्क्रिय होने का निर्धारण करने पर हम आईओएस नोट का अर्थ कैसे बना सकते हैं?
2) कम से कम एक दस्तावेज ऐप "चल रहा है", कम से कम दस्तावेजों का दावा करने वाले दस्तावेज़ों के अर्थ में: didReceiveRemoteNotification को चलाने वाले ऐप्स के लिए बुलाया जाता है?
3) पूरा होने के लिए, एक पृष्ठभूमि वाला ऐप UIApplicationStateInactive या Active है?
क्या मुझे एक चेकमार्क मिल सकता है? – ch3rryc0ke