ios - XIB फ़ाइल खोलने के बाद Xcode 6.3 जमा देता है




xcode6.3 (7)

Xcode 6.3 (रिलीज़ संस्करण) में अपग्रेड करने के बाद, Xcode अब हर बार मैं एक XIB / स्टोरीबोर्ड फ़ाइल IB_DESIGNABLE है जिसमें एक IB_DESIGNABLE दृश्य शामिल होता है जो एक कस्टम फ़ॉन्ट का उपयोग करता है किसी भी प्रोजेक्ट के लिए और एक कस्टम फ़ॉन्ट भी शामिल है (जरूरी नहीं कि उस XIB / स्टोरीबोर्ड में उस फ़ॉन्ट का संदर्भ हो)। फ्रीज .xib फ़ाइल को खोलने और फिर किसी अन्य फ़ाइल पर स्विच करने का प्रयास करने के बाद होता है। Xcode हैंग हो जाता है और इसे छोड़ने के लिए बाध्य होना चाहिए।

मैंने Apple के साथ एक बग रिपोर्ट खोली है। (बग 20483867)।

अभी, मेरे पास दो काम हैं।

  1. डाउनलोड करें और Apple से Xcode 6.2 का उपयोग करें।
  2. कस्टम दृश्य हेडर फ़ाइलों से IB_DESIGNABLE टैग निकालें।

यह संभवतः Apple बग है, लेकिन क्या किसी के पास बेहतर समाधान या समाधान है?


@O। कुर्ननकोव के जवाब ने मेरे लिए काम किया। इसका IB_Designable और न ही कस्टम फोंट, Cocoapods, आदि से कोई लेना-देना नहीं था।

किसी कारण से "अपारदर्शी नेविगेशन बार" के कारण nib फ़ाइल ( storyboard को प्रभावित करने के लिए ऐसा प्रतीत नहीं होता है) लगातार स्थिति को बदलने के लिए; यह Size Inspector में देखा जा सकता है जहां y स्थिति 0 और 64 के बीच झिलमिलाहट होगी। यह मेरे लिए Xcode 8.2 (8C38) के साथ हो रहा है।

मेरा अनुमान यहाँ यह है कि इससे Xcode लेआउट को लगातार अपडेट करता रहता है जिससे संसाधनों की निकासी होती है और इससे हैंग / फ्रीज होता है।

समाधान "पारभासी" विकल्पों में से किसी का उपयोग करने के लिए है, Inferred, या कोई भी नहीं।

उम्मीद है की यह मदद करेगा!


Apple से प्रतिक्रिया: Apple पर डेवलपर फ़ोरम से लिंक करें

आपकी रिपोर्ट के लिए आप सभी का धन्यवाद। हम इसे अपने अंत में ट्रैक कर रहे हैं और इसे हल करने के लिए कड़ी मेहनत कर रहे हैं। दुर्भाग्य से हमारे पास एक महान समाधान नहीं है, लेकिन यहां आपको जाने के दो विकल्प हैं:

यदि Xcode लॉन्च पर लटका हुआ है क्योंकि एक कस्टम फॉन्ट / IBDesignable का उपयोग कर एक स्टोरीबोर्ड / XIB पहले खुला था: जिस प्रोजेक्ट को आप खोल रहे हैं उसके xcodeproj के अंदर "UserInterfaceState.xcuserstate" फ़ाइल को हटा दें, यह इस तरह से होगा: My App .xcodeproj / project.xcworkspace / xcuserdata / yourusername.xcuserdatad / UserInterfaceState.xcuserstate

यदि आपको वास्तव में Xcode 6.3 के साथ कस्टम फ़ॉन्ट वाले स्टोरीबोर्ड / XIB फ़ाइल को संपादित करने की आवश्यकता है:

  1. बैकअप के रूप में अपने स्टोरीबोर्ड / XIB फ़ाइल की प्रतिलिपि बनाएँ
  2. टेक्स्ट एडिटर में स्टोरीबोर्ड / XIB फ़ाइल खोलें
  3. उदाहरण के लिए, अपने कस्टम फ़ॉन्ट को संदर्भित करने वाले "fontDescription" नाम के XML टैग को निकालें:। इस टैग को हटाने से फ़ॉन्ट मानक प्रणाली फ़ॉन्ट पर वापस आ जाएगा।
  4. कस्टम फ़ॉन्ट का उपयोग करके ऑब्जेक्ट्स के लिए आउटलेट बनाएं और रनटाइम में उन ऑब्जेक्ट्स के फ़ॉन्ट को आपके कस्टम फ़ॉन्ट पर सेट करें, उदाहरण के लिए व्यूडीडल के ओवरराइड में या आपके व्यू कंट्रोलर पर जाग्रत करें

महत्वपूर्ण नोट: हम कभी भी हाथ से स्टोरीबोर्ड / XIB फाइल एडिट करने की सलाह नहीं देते हैं। हालाँकि हम पहचानते हैं कि यह मुद्दा आप में से कई को अपने दस्तावेज़ों को संपादित करने से रोक रहा है और कैविएट के साथ वर्कअराउंड प्रदान करना चाहता है कि किसी भी हाथ के संपादन से आपके दस्तावेज़ में भ्रष्टाचार हो सकता है।


Xcode 8.1 - यदि आपके पास नेविगेशन के साथ एक दृश्य है (मेरे मामले में यह शीर्ष बार अपारदर्शी नेविगेशन बार था), तो संपत्ति को "टॉप बार" में से कोई भी सेट करने का प्रयास करें।


एक अन्य हल यह है कि फाइल एक्सटेंशन को अपनी सभी फॉन्ट फाइलों में बदला जाए और बदले हुए फाइल नामों को Info.plist से लोड किया जाए। इस तरह से आप IBDesignables रख सकते हैं और फिर भी अपने कस्टम फोंट का उपयोग कर सकते हैं, लेकिन इंटरफ़ेस टेंडर में फॉन्ट पिकर में उन्हें देखने में सक्षम नहीं होंगे।

इंटरफ़ेस बिल्डर से स्पष्ट रूप से सेट किए गए सभी कस्टम फ़ॉन्ट काम करना जारी रखेंगे, लेकिन उन्हें बदलने या किसी अन्य कस्टम फ़ॉन्ट को सेट करने के लिए, आपको इसे कोड से या स्टोरीबोर्ड या नीब फ़ाइलों को पाठ संपादक से संशोधित करने के लिए करना होगा। फ़ॉन्ट नाम सेट करने के लिए।


मेरे लिए भी यही समस्या है। IB_DESIGNABLE को हटाने से समस्या ठीक हो जाती है .. 6.2 पर वापस जाना मेरे लिए काम नहीं करता क्योंकि मैं iOS 8.3 के साथ डिवाइस पर ऐप्स का परीक्षण कर रहा हूं - Xcode 6.2 iOS 8.3 :( के साथ डिवाइस पर ऐप नहीं चला सकता


यह बग आज के सामने आए 6.4 Xcode बीटा में तय किया गया है। देव केंद्र पर जाएं और इसे डाउनलोड करने के लिए लॉग इन करें।


मैंने पहले ही अधिक सटीक वर्णन के लिए एक संपादन का सुझाव दिया है

यह केवल तब होता है जब आपकी परियोजना में एक कस्टम फ़ॉन्ट होता है। यह केवल किसी भी स्टोरीबोर्ड / XIB पर जाकर फ्रीज करेगा जिसमें एक IBDesignable कस्टम दृश्य होता है, यहां तक ​​कि आपके स्टोरीबोर्ड / XIB में उस फ़ॉन्ट का संदर्भ भी नहीं।

मेरा वर्कअराउंड उपयोग करने के लिए है Xcode का एक पुराना संस्करण भी स्थापित है (Xcode 6.3 बीटा या Xcode 6.2) और इसका उपयोग करें कि अपनी इंटरफ़ेस बिल्डर फ़ाइलों को अपडेट करें, और इसे 6.3 में कभी न खोलें। उन स्टोरीबोर्ड / XIB को एक नए विंडो में Xcode में option + shift साथ खोलें + प्रोजेक्ट ट्री में फ़ाइल पर click

जब भी आप फ्रीज का सामना करते हैं, मैं इस कमांड का उपयोग केवल उस प्रोजेक्ट के लिए सहेजे गए स्टेट को खाली करने के लिए करता हूं।

rm -rf YourProject.xcodeproj/project.xcworkspace/xcuserdata





xcode6.3