2014-10-14 9 views
7

से ऐप लॉन्च करते समय अजीब दुर्घटना, मैं अपने विट्स एंड पर हूं, मुझे एक अजीब दुर्घटना हो रही है जो केवल तब होता है जब ऐप अधिसूचना केंद्र से लॉन्च होता है। या तो स्थानीय अधिसूचना (अधिसूचना पक्ष में) या एक्सटेंशन को कॉल करने के लिए कॉल करने पर कॉल टैप करें: openURL: completHandler (मेरे आज के विजेट से) ऐप को कस्टमURL योजना के साथ लॉन्च करेगा।अधिसूचना केंद्र

जब ऐप चल रहा है (गर्म बूट), कोई समस्या नहीं, विज्ञापन के रूप में काम करता है। जब मैं ऐप (टास्क स्विचर में) को मारता हूं और फिर अधिसूचना केंद्र (ठंडा बूट) के माध्यम से इसे लॉन्च करने का प्रयास करता हूं, तो मुझे नीचे क्रैश रिपोर्ट मिलती है।

मैंने कुछ भी के लिए कम और उच्च खोज किया है, इसे नहीं मिला। यह केवल आईओएस 8 उपकरणों पर होता है, आईओएस 7 उपकरणों में कोई समस्या नहीं है (अधिसूचना लॉन्च के साथ, जाहिर है आज कोई विजेट नहीं)

क्या किसी ने इसे देखा है ??

धन्यवाद!

Date/Time:   2014-10-14 18:16:39.924 -0400 
Launch Time:   2014-10-14 18:16:38.667 -0400 
OS Version:   iOS 8.0.2 (12A405) 
Report Version:  105 

Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Subtype: KERN_INVALID_ADDRESS at 0x000000016a4cbeb8 
Triggered by Thread: 0 

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 libobjc.A.dylib     0x0000000195ebbbd0 objc_msgSend + 16 
1 UIKit       0x000000018a27d840 -[UIApplication workspaceDidEndTransaction:] + 216 
2 FrontBoardServices    0x000000018da7563c __31-[FBSSerialQueue performAsync:]_block_invoke + 24 
3 CoreFoundation     0x000000018582a35c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 16 
4 CoreFoundation     0x0000000185829464 __CFRunLoopDoBlocks + 308 
5 CoreFoundation     0x0000000185827a88 __CFRunLoopRun + 1752 
6 CoreFoundation     0x0000000185755660 CFRunLoopRunSpecific + 392 
7 UIKit       0x000000018a05f4fc -[UIApplication _run] + 548 
8 UIKit       0x000000018a05a4f4 UIApplicationMain + 1484 
9 therichest      0x00000001001caa8c main (main.m:16) 
10 libdyld.dylib     0x0000000196516a04 start + 0 
+0

क्या आपने इस @ माइक को ठीक करने में कामयाब रहे? मैं जंगली में कुछ ऐप्स में एक ही चीज़ देख रहा हूं, लेकिन ऐप पर पुश अधिसूचना भेजकर इसे स्थानीय रूप से दोहराना नहीं कर सकता। – siburb

+0

मैं इसे ऊपर दिए गए चरणों के साथ लगातार दोहरा सकता हूं। दूसरा मजेदार तथ्य यह है कि केवल आईओएस 8। मैं v8.1 को अद्यतन कर रहा हूं और देख रहा हूं कि यह हल हो गया है या नहीं। – Mike

+0

मुझे आशा है कि यह रहा है। मैंने आईओएस 8.1 (अभी तक) में हमारे ऐप्स में ऐसा होने का एक उदाहरण नहीं देखा है, लेकिन यह निश्चित रूप से बताना बहुत जल्दी हो सकता है। उम्मीद है कि आपका परीक्षण पुष्टि कर सकता है। – siburb

उत्तर

7

या तो अपने कोड या आप उपयोग कर रहे मैन्युअल runloop स्पिन हो रही है एक तीसरी पार्टी पुस्तकालय। यह -workspaceDidEndTransaction का कारण बन रहा है: फिर से प्रवेश करने के लिए कहा जाता है और मुफ्त में उपयोग को ट्रिगर करता है। यदि आप ब्रेकपॉइंट सेट करते हैं - [NSRunLoop runMode: beforeDate:] और - [NSRunLoop runUntilDate:], इसे पिछले स्टैक फ्रेम पर होने वाले दोषी कोड के साथ मारा जाना चाहिए।

रन लूप को मैन्युअल रूप से कताई करते समय कभी भी अनुशंसा नहीं की जाती है, अगर आप इसे तब तक करने में देरी कर सकते हैं जब तक कि आपका एप्लिकेशन शुरू नहीं हो जाता है (सभी लॉन्च ऐप प्रतिनिधि कॉल प्राप्त होते हैं) आपको इस क्रैश को मारने से बचना चाहिए।

+0

युप, आपको मिल गया। यह एक मुश्किल था। धन्यवाद! – Mike

+0

@ माइक आपने इसे कैसे हल किया? क्या यह तीसरी पार्टी मुक्ति थी? –

+0

क्या @Dex का उल्लेख सही है। मैं एक थर्ड पार्टी लाइब्रेरी का उपयोग कर रहा था जो मैन्युअल रूप से रन लूप कताई कर रहा था। उस लाइब्रेरी को अक्षम करना मेरी समस्या को ठीक करता है। तब से मैंने लाइब्रेरी डेवलपर को भी अधिसूचित किया है। – Mike

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