2013-01-10 12 views
12

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

भले ही वर्तमान इंस्टॉल से कोई अधिसूचना निर्धारित नहीं है, मुझे सूचनाएं प्राप्त होती हैं। क्या इन अधिसूचनाओं को अनदेखा/निकालने का कोई तरीका है?

उत्तर

13

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

समाधान:

आप AppDelegate की "didFinishLaunchingWithOptions" विधि में तो ऐप खोलते हैं, विधि नीचे कहते हैं।

-(void)removeAllLocalNotification 
{ 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
} 

ताकि आप सभी पूर्व निर्धारित अधिसूचना को हटा दें।

लेकिन, उपर्युक्त काम करने से पहले: आपको ध्यान रखना होगा कि आपको उपर्युक्त विधि केवल एक बार कॉल करना होगा। ऐप लॉन्च होने पर हर बार नहीं।

आप निम्नलिखित तरीके से यह कर सकते हैं:

एक BOOL चर बनाएँ और NSUserDefault में संग्रहीत। अब, जब ऐप खुलता है तो एनएसयूसर डीफॉल्ट से इसका मूल्य जांचें। यदि यह गलत है, तो उपर्युक्त विधि को कॉल करें और इसके मान को TRUE पर सेट करें और NSUserDefault में सेट करें।

अब, जब आप ऐप को दोबारा खोलेंगे तो आपको इस समय मूल्य के रूप में मूल्य मिलेगा, इसलिए आपको उपरोक्त विधि को कॉल करने की आवश्यकता नहीं है। इसलिए, आपकी वर्तमान सेट अधिसूचना को हटाया नहीं गया है।

आशा है, आपको पूरी चीजें मिल गई हैं।

हैप्पी कोडिंग।

चीयर्स!

+0

धन्यवाद, लेकिन अगर मैं पुनः स्थापित करने के बाद ऐप लॉन्च नहीं करता हूं, तो मुझे अभी भी अधिसूचनाएं मिलती हैं। – Nassif

+0

वह सेब डिफ़ॉल्ट व्यवहार है। आप इसे प्रबंधित नहीं कर सकते। –

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