2011-10-21 23 views
11

मैं एक ऐप को पुनर्प्राप्त करने का प्रयास कर रहा हूं जिसे मैंने गलती से हटा दिया और आयोजक के माध्यम से ऐसा करने में कामयाब रहा, हालांकि, जब मैं इसे सिम्युलेटर या आईफोन पर चलाने की कोशिश करता हूं, तो यह एक त्रुटि main.m फ़ाइल में पॉपिंग के साथ दुर्घटनाओं:ऐप क्रैश हो जाता है main.m

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 
    } 
} 

में "वापस UIApplicationMain (argc, argv, शून्य, NSStringFromClass ([AppDelegate वर्ग]));" त्रुटि होती है SIGABRT त्रुटि के साथ फ़ाइल का खंड। मैं एआरसी के साथ एक्सकोड 4.2 का उपयोग कर रहा हूँ। मैं आईओएस 4.3 और आईओएस 5.0 पर इसका परीक्षण कर रहा हूं। ऐप पहले और वास्तव में काम कर रहा था, अभी ऐप स्टोर पर है। कुछ भी

उत्तर

9

यदि आप डीबगर में देखते हैं तो यह शायद आपको बताएगा कि त्रुटि का कारण क्या है। अपर्याप्त स्मृति (एक बार स्क्रीन पर बहुत अधिक आइटम) के कारण, यह मेरे साथ पहले हुआ है। किसी भी तरह से, त्रुटि के कारण लक्षित डीबगर को देखें।

+2

जब यह मुझे क्या हुआ, मैं एक से एक परियोजना नकल की थी और देखने नियंत्रक का नाम नहीं था।मैंने निब फ़ाइल को स्रोत के रूप में खोला और तदनुसार अपमानजनक रेखाओं का नाम बदल दिया और यह काम किया। – gonzobrains

1

में मदद मिलेगी, मैंने यह देखा है कि निम्न बिल्ड सेटिंग्स वहां नहीं हैं। OTHER_LDFLAGS = -ObjC -all_load

यह लक्ष्य में लिंकिंग के अधीन है।

1

सुनिश्चित नहीं है कि त्रुटि संदेश क्या है-यह सहायक होगा। लेकिन क्या आप AppDelegate.h आयात कर रहे हैं?

7

आमतौर पर जब मुझे समान त्रुटियां मिलती हैं तो इंटरफ़ेस बिल्डर पर एक टूटा लिंक होता है। शायद आपने आईबीओलेट का नाम बदल दिया है और इसे फिर से कनेक्ट करना भूल गया है।

2

मेरे साथ हुआ, डीबगर में देखा और पाया कि मैंने एक एक्शन को दिए गए नाम का उल्लेख किया है, लेकिन इसे हटाए जाने के बाद इसे हटा दिया गया है। नियंत्रक। एच और .एम इसलिए किसी कारण से पुरानी कार्रवाई एक अलग नाम से बनाई गई , अभी भी कहीं भी lingered ... तो मैंने अपना कोड कॉपी किया और इसे एक नए कार्यक्रम पर चिपकाया। बेशक, यह एक बहुत छोटा दृश्य ऐप था इसलिए यह आसान था ...

1

यह मेरे साथ हुआ और मैंने जो कुछ किया वह मेरे छवि दृश्य का नाम बदल गया और इसे बाद में बदल दिया गया। लेकिन, मैंने इसे हटाए जाने के बाद दूसरे नाम को डिस्कनेक्ट करना भूल गया। हालांकि, एक बार जब मैंने इसे इंटरफ़ेस बिल्डर से डिस्कनेक्ट कर दिया तो यह काम करता था।

0

इसे ठीक करने के लिए, मुख्यस्टोरीबोर्ड पर क्लिक करें यानी इंटरफ़ेस बिल्डर, फ़ाइल इंस्पेक्टर टैब का चयन करें, और ऑटोलायआउट का उपयोग अनचेक करें। वैकल्पिक रूप से, आप आईओएस 6.0 + -ऑनली डिवाइस को लक्षित कर सकते हैं और न्यूनतम लक्ष्य बदल सकते हैं, अगर आपके पास बिल्कुल ऑटोलाउट होना चाहिए। यह समस्या xcode के संस्करणों और सीखने के कार्यक्रमों के स्रोतों में मेल नहीं खाती है।

1

एलएलडीपी डीबगर के साथ दुर्घटनाग्रस्त मैं जीडीबी में बदल गया और फिर यह काम किया।

मैं इस समस्या को भी नहीं लेकिन हर समय केवल 1/2 प्रक्षेपण के साथ अटक गई। कंसोल में बिल्कुल कोई त्रुटि नहीं, कुछ सिग्नल सिग्बर्ट नहीं। मेरा ऐपडिलेगेट भी नहीं किया गया FinishLaunchingWithOptions। डीबगर को वापस जीडीबी में बदलना (योजना संपादित करें ...> (जानकारी टैब) डीबगर> एलएलडीबी) ने समस्या हल की।

4

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

enter image description here

+0

वह मेरे लिए था! मैंने रूट व्यू कंट्रोलर की कक्षा बदल दी और इसमें मूल वर्ग के कुछ आउटलेट नहीं थे। – Troy

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