2012-08-30 5 views
13

पर क्रैश हो रहा है हम अपने ऐप के पायलट भेजने के लिए टेस्टफलाइट का उपयोग कर रहे हैं।केवल टेस्टफाइट

एप्लिकेशन कि क्रैश हो रहा है का एक हिस्सा है, और हम मुसीबत दुर्घटना से उत्पन्न होने का एक बहुत था। कोड उनके काफी सरल है।

ऐसा लगता है कि उपयोगकर्ताओं को, जो TestFlight के माध्यम से App मिला, दुर्घटना पाने के लिए यदि आप अनुप्रयोग का निर्माण और आईडीई यह दुर्घटना नहीं करता है का उपयोग कर इसे स्थापित करते हुए!

किसी के पास इस बारे में विचार है कि इसका क्या कारण हो सकता है?

कामकाज के लिए कोई विचार? हम टेस्टफलाइट का उपयोग करना बंद नहीं करना चाहते हैं।

+0

क्या testflight समर्थन क्षेत्रों पर कोई जानकारी है? – Jessedc

+0

रोचक, testflight के साथ हमारे पायलट तैनाती में उस समस्या को कभी भी टोपी न करें। क्या आप अपने कोड में किसी भी testflight एपीआई का उपयोग कर रहे हैं, जैसे चेकपॉइंट्स या कुछ? – NDY

+3

सुनिश्चित करें कि आप अपने कंप्यूटर पर रिलीज मोड में अपना ऐप बनाएं और डीबग न करें। यह केवल रिलीज मोड –

उत्तर

10

डीबग में रिलीज मोड में अपना ऐप बनाना सुनिश्चित करें। जब रिलीज में ऐप केवल क्रैश हो सकता है।

+0

जो testflight की बजाय मेरे डिवाइस का उपयोग करने में मदद करता है लेकिन इसे कैसे ठीक किया जाए? – Dude

5

पहली बात मैं कोशिश करता हूँ अपने आवेदन में समारोह के नाम करने के लिए दुर्घटना स्टैक ट्रेस मैप करने के लिए है। यह क्रैश की प्रकृति में उपयोगी अंतर्दृष्टि उत्पन्न कर सकता है:

  1. जैसे ही क्रैश की रिपोर्ट की जाती है, क्रैश लॉग का अनुरोध करता है। यह Xcode के आयोजक के माध्यम से प्राप्त किया जा सकता है या अगर वह एक विकल्प यह हो सकता है नहीं है iPhone के सेटिंग से स्क्रीन पर कब्जा कर लिया -> जनरल -> के बारे में -> निदान & प्रयोग -> नैदानिक ​​& उपयोग डेटा। ऐप नाम या अनुभाग नवीनतम स्क्रैश-AppName.plist पर स्क्रॉल करें।
  2. यद्यपि आप सिद्धांत में एक दुर्घटना का प्रतीक हो सकते हैं, मुझे स्टैक से प्रतीक प्राप्त करने के लिए मूर्खतापूर्ण तरीके से नीचे वर्णित प्रक्रिया मिलती है। क्रैशिंग थ्रेड के लिए सभी स्टैक पते को विधि नामों में कनवर्ट करें।
  3. वैकल्पिक रूप से iDevice syslog का अनुरोध करें। इसमें सम्मिलन विफलता संदेश शामिल हो सकते हैं जो अमूल्य भी हैं। ध्यान दें कि इसे जितनी जल्दी हो सके किया जाना चाहिए क्योंकि सिसॉग केवल गिराए जाने से पहले इतनी सारी प्रविष्टियां रखता है। आप इसे प्राप्त करने के लिए ऑर्गनाइज़र या cmd लाइन idevicesyslog का उपयोग कर सकते हैं।

मैन्युअल प्रतीक: यह तब तक काम करेगा जब तक आपके निर्माण में डीबग जानकारी हो।

  1. क्रैश किए गए _exact_same_ .ipa प्राप्त करें। यदि आपने इसे सहेजा नहीं है तो आप इसे iFunBox या cmd line ideviceinstaller उपयोगिता का उपयोग करके डिवाइस से डाउनलोड कर सकते हैं।
  2. खोल दो .ipa
  3. भागो निष्पादन योग्य फ़ाइल पर निम्न आदेश (पेलोड/AppName.app/AppName):

    otool टीवी AppName.app | C++ filt> listing.asm

  4. प्रतीक्षा करते हुए पिछले चरण पूरा करता है (कुछ समय लग सकता है)। जेनरेट की गई listings.asm फ़ाइल कई मेगाबाइट लंबी होगी।

  5. एक संपादक है कि स्टैक ट्रेस में सूचीबद्ध पते के लिए बड़ी फ़ाइलों को खोज listing.asm संभाल कर सकते हैं का उपयोग करना। ध्यान दें कि पते कुछ बाइट्स बंद हो सकते हैं (आमतौर पर आगे 3 या तो बाइट इंगित करते हैं)। साथ ही, पते जो लिस्टिंग में नहीं मिलते हैं। आईओएस पुस्तकालयों में पते इंगित करता है। अब उनको अनदेखा करें।
बेशक

, यदि आप symbolicate करने में सक्षम हो, तो आप इस प्रक्रिया को छोड़ सकते हैं।

शुभकामनाएं डीबगिंग!

+0

अरे, ये हम पहले से टेस्टफलाइट के माध्यम से प्रतीकात्मक हैं - डीएसवाईएम – daidai

+0

अपलोड करना क्रैशिंग थ्रेड का प्रतीकात्मक स्टैक ट्रेस क्या कहता है? वह सुनहरी जानकारी है। – Blanka

0

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

एक साधारण परीक्षण यह साबित होंगे: -

1.) इसके बजाय आईडीई से निर्माण की, एक .app फ़ाइल बनाने और फिर iTunes के माध्यम से इसे लोड और देखें कि क्या आप दुर्घटना हो रही है।

हमने मैन्युअल रूप से .iPA बनाकर इस पर काम किया है, जो .app बना रहा है, फिर एक पेलोड फ़ोल्डर बना रहा है और info.plist के साथ .app को इसमें डाल रहा है।

तब चीजें टेस्टफलाइट में भी काम करना शुरू कर दीं।

+0

क्या आप एक स्वचालित निर्माण स्क्रिप्ट का उपयोग कर रहे थे? मुझे लगता है कि मुझे एक ही समस्या है – alemangui

+0

नहीं, हम एक स्वचालित निर्माण स्क्रिप्ट का उपयोग नहीं कर रहे थे। त्रुटि हमारे लिए भी अजीब थी, लेकिन हमारे सभी टेस्टफाइट के लिए वर्कअराउंड प्राप्त करने के बाद स्थिर पुस्तकालयों के साथ हमने उपर्युक्त विधि का उपयोग किया। – VikrantY