2014-10-06 9 views
5

मेरे पास आईओएस 8 के लिए एक शेयर एक्सटेंशन लागू किया गया है। सेवा प्रमाणित करने के लिए OAuth का उपयोग करता है। एक्सटेंशन के लिए उपयोग की जाने वाली लॉगिन जानकारी को कंटेनर ऐप के साथ साझा किया जाता है।आईओएस एक्सटेंशन - "विस्तार स्थिति परिवर्तन" का पता लगाएं (पृष्ठभूमि/अग्रभूमि)

समस्या है:

जब मैं विस्तार में हूँ, कंटेनर एप्लिकेशन और लॉगआउट, और फिर अनुप्रयोग के लिए तो एप्लिकेशन स्विच विस्तार युक्त मेजबान अनुप्रयोग के लिए वापस स्विच - मैं कैसे पता लगाने के एक्सटेंशन वाले हैं बस फिर से दिखाई दिया? एक्सटेंशन कंटेनर ऐप और एक्सटेंशन के बीच साझा डीबी में मौजूद कुछ जानकारी पर निर्भर है, हालांकि, ऐप लॉग आउट होने पर डेटा हटा दिया जाता है।

मैंने विभिन्न "ऐप नोटिफिकेशन" जैसे UIAplplicationDidBecomeActiveNotification के लिए पंजीकरण करने का प्रयास किया है। हालांकि, जैसा कि अपेक्षित है, इन्हें एक्सटेंशन के लिए नहीं कहा जाता है।

विस्तार का राज्य कब बदल सकता है जब मैं फिर से प्रकट होने पर अपना विस्तार अधिक मजबूत बना सकता हूं?

उत्तर

0

viewDidAppear:animated: आपके मुख्य दृश्य नियंत्रक वर्ग की विधि हर बार जब आप अपना एक्सटेंशन पुन: दर्ज करते हैं तो उसे कॉल किया जाना चाहिए। जब आप जाने वाले हैं, viewWillDisappear:animated: कहा जाना चाहिए।

+1

दुर्भाग्य से यह काम नहीं करता। इन कार्यों को इस विशेष मामले (एक्सटेंशन के साथ) में नहीं कहा जाता है। –

1

देखें

NSExtensionContext.h 

iOS 8.2 एक्सटेंशन के लिए उपयोग करने के लिए अधिसूचना की एक संख्या कहा:

NSExtensionHostDidBecomeActiveNotification 
NSExtensionHostDidEnterBackgroundNotification 
NSExtensionHostWillEnterForegroundNotification 
NSExtensionHostWillResignActiveNotification 
+0

और आईओएस 8.0 के लिए समाधान? –

+0

कोई भी जिसे हमने जांच नहीं की। हमने 8.2+ को लक्षित करने और उस पर छोड़ने का निर्णय लिया है। –

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