दिलचस्प पोस्ट
जावा कोड में लिनक्स कमांड चलाने के लिए कैसे? लाइनों के बीच एंड्रॉइड टेक्स्टदृश्य पैडिंग एंड्रॉइड: इंटरनेट कनेक्टिविटी बदलें श्रोता मूल्य पर नेस्टेड सूची में एक सूची को विभाजित करें लॉक प्राप्त करने की कोशिश करते समय mysql 'डेडलॉक से बचने के लिए कैसे; लेनदेन को पुनः आरंभ करने का प्रयास करें ' ThreadPool.QueueUserWorkItem बनाम कार्य। फ़ैक्टरी। स्टार्ट न्यू जावा कायम रहने की एपीआई में फैच टेक्स्ट LAZY और EAGER के बीच का अंतर? क्या एक स्ट्रिंग के कितने अक्षर printf () का उपयोग करने के लिए मुद्रित करने का तरीका है? "Git commit" के बजाय "git commit –amend" को कैसे पूर्ववत करें जावास्क्रिप्ट: स्क्रॉल एंड का पता लगाएं इसे जेफ्री चार्ट के स्वरूप को देखने के बाद कैसे अपडेट किया जा सकता है? MySQL में विदेशी कुंजी की मूल बातें? मैं एक निर्देशिका की सभी फाइलों को कैसे सूचीबद्ध करूं? रूसी / होमब्रे / आरवीएम को योसेमाइट पर कैसे काम करना है? IOS पर OpenGLS 2.0 सीखना

जब उपयोगकर्ता उपयोगकर्ता के संपर्क पहुंच अनुमतियाँ बदलता है तो ऐप iOS 6 में क्रैश हो जाता है

मेरे पास ऐप बुक का उपयोग करने वाला ऐप है I IOS 6 में चलते समय यह कोड चलाता है जब उपयोगकर्ता कुछ ऐसा करता है जिसके लिए एड्रेस बुक एक्सेस की आवश्यकता होती है।

if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) { ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL); ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error) { if (granted) { showContactChooser(); } }); CFRelease(addressBookRef); } else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized) { showContactChooser(); } else { showAccessDeniedAlert(); } 

यह पूरी तरह से काम करता है: मैं संपर्क जानकारी को पढ़ने में सक्षम हूं और जब उपयोगकर्ता ने इनकार करने से इनकार किया है, तो एप के अनुसार प्रतिक्रिया दी जाती है।

हालांकि, यदि उपयोगकर्ता:

  1. ऐप में संपर्क पहुंच की अनुमति देता है,
  2. एप को छोड़ दें,
  3. सेटिंग-> गोपनीयता-> संपर्क पर जाता है और एप के लिए संपर्क एक्सेस को अक्षम करता है,
  4. ऐप चलाता है,
  5. जबकि ऐप पृष्ठभूमि में चल रहा है सेटिंग में जाता है और ऐप के लिए संपर्क पहुंच सक्षम करता है,

ऐप तुरंत बिना किसी अपवाद की जानकारी या सार्थक स्टैक ट्रेस के अंदर main() क्रैश हो जाता है मैंने "सभी अपवाद" और [NSException raise] ब्रेकपॉइंट को बदलने की कोशिश की, लेकिन उसने मुझे और अधिक जानकारी नहीं दी।

दुर्घटना को पुन: प्रस्तुत किया जा सकता है, भले ही ऐप लॉन्च के दौरान उपरोक्त कोड को नहीं चला।

यहाँ क्या हो रहा है? क्या कोई कॉलबैक है जिस पर मुझे सदस्यता लेनी चाहिए?

वेब के समाधान से एकत्रित समाधान "जब उपयोगकर्ता उपयोगकर्ता के संपर्क पहुंच अनुमतियाँ बदलता है तो ऐप iOS 6 में क्रैश हो जाता है"

मैंने इसे अपने स्वयं के ऐप में देखा है और मैंने देखा है कि दूसरों ने भी इस तरह की रिपोर्ट की है। मुझे पूरा यकीन है कि यह जानबूझकर व्यवहार है ओएस किसी भी पृष्ठभूमि ऐप्स को मारता है जो गोपनीयता अनुमतियों में बदलावों पर प्रतिक्रिया करता है। ऐसा लगता है कि ऐप्पल ने एक स्लेजहामर दृष्टिकोण अपना लिया है यह एक दुर्घटना नहीं है (हालांकि यह डिबगर में चलते समय दिखाई दे सकता है)। एप्लिकेशन अन्य अन्य कारणों के लिए समाप्त हो जाते हैं। कारणों की सूची में इसे जोड़ें यह हमें हमारे ऐप्स के पूर्ण पुनरारंभ पर ऐप स्थिति को पुनर्स्थापित करने के लिए एक अच्छा काम करने का अधिक कारण बताता है

ध्यान दें कि यह व्यवहार विभिन्न गोपनीयता सेटिंग्स जैसे कि संपर्क, फोटो, माइक्रोफोन, कैलेंडर और कैमरे पर लागू होता है।

आमतौर पर, जब एक आवेदन निलंबित होने से वापस आ जाता है, तो उसे एप्लिकेशन पर कॉल करना चाहिए: आपके एडिडेलेगेट का क्या होगा? मेरी राय में, यह आपके लिए एक अच्छी जगह होगी, ताकि आप अपने एड्रेस बुक अनुमति को पुनर्स्थापित कर सकें।