दस्तावेज़ Main.storyboard को Xcode 8.0 या बाद के संस्करण की आवश्यकता होती है


94

मैंने Xcode बीटा डाउनलोड किया और यह देखने के लिए कि यह Xcode 8 बीटा के साथ कैसे काम करता है (मैंने Xcode 8 से स्टोरीबोर्ड फ़ाइल खोली है) यह देखने के लिए अपनी मौजूदा परियोजना खोली।

अब जब मैं Xcode 7.3 से अपना प्रोजेक्ट खोलता हूं तो मैं स्टोरीबोर्ड फ़ाइल खोलने में सक्षम नहीं हूं, यह मुझे निम्नलिखित त्रुटि देता है

यह संस्करण Xcode 8 प्रारूप में सहेजे गए दस्तावेज़ों का समर्थन नहीं करता है। इस दस्तावेज़ को Xcode 8.0 या बाद में खोलें।

Xcode 7 त्रुटि मुझे वापस जाने के लिए क्या करना चाहिए, क्योंकि मैं Xcode 7 पर काम करना जारी रखना चाहता हूं।

Xcode 8 में मुझे डिवाइस का चयन करने के लिए प्रेरित किया गया था और मैंने iPhone 6S का चयन किया था, मुझे लगता है कि स्टोरीबोर्ड फ़ाइल Xcode 7 में नहीं खुलने के लिए कुछ हद तक जिम्मेदार है।


7
संस्करण नियंत्रण में परिवर्तन वापस करें
व्यर्थ

1
@ हां, यह हमेशा एक विकल्प था, लेकिन मेरे पास कुछ अनछुए बदलाव थे और इसका समाधान भी जानना चाहते थे (यदि समय नहीं लगता)
Bhumit Mehta

जवाबों:


212

मैंने यह समझ लिया है:

Xcode 8 में अपना स्टोरीबोर्ड खोलें।

फाइल इंस्पेक्टर पर क्लिक करें।

में इंटरफेस बिल्डर दस्तावेज़ वाले अनुभाग में खुलता में "Xcode 7.x" के बदले "नवीनतम Xcode (8.0)", निम्नलिखित स्क्रीनशॉट में के रूप में:

यहां छवि विवरण दर्ज करें

ऐसा करने पर, आपको एक चेतावनी मिलेगी "Xcode 7.x के लिए बचत करने से आपका दस्तावेज़ बंद हो जाएगा और Xcode 8.0 सुविधाओं के डेटा को हटा दिया जाएगा।"

सहेजें और बंद करें पर क्लिक करें और आप Xode 7.x में स्टोरीबोर्ड खोल पाएंगे।


मुझे छड़ी को बदलने में परेशानी हो रही थी लेकिन मैंने जो किया था वह बदल गया था, फिर सहेजें और बंद करें, जिस बिंदु पर यह वास्तव में नहीं बचा था क्योंकि अभी भी ग्रे था, फिर मैं काफी एक्सकोड (जो लटका हुआ था) फिर इसे छोड़ दिया, और अब स्टोरीबोर्ड Xcode 7 पेज में काम कर रहा है!
मल्हल

@ भौमित मेहता यह काम नहीं कर रहा है जब मेरे पास आईपैड और आईफोन के लिए 2 अलग-अलग स्टोरीबोर्ड हैं। उनमें से केवल एक के लिए परिवर्तन सहेजे जाते हैं। Plz मुझे कोई वर्कअराउंड बताएं।
मंगल

@ मार्स: आपको बस दोनों स्टोरीबोर्ड के लिए समान चरणों को दोहराने की आवश्यकता है, मैंने इसे एक परीक्षण परियोजना में आज़माया और यह काम कर गया।
भूमित मेहता

2
इंटरफ़ेस बिल्डर दस्तावेज़ कहाँ है?
natecraft1 19

10
लेकिन अगर आप फिर से xCode 8 में एक प्रोजेक्ट खोलेंगे और एक स्टोरीबोर्ड में जाएंगे - आपके पास फिर से गड़बड़ की गई स्टोरीबोर्ड फ़ाइल होगी और आपको फिर से 7.x पर वापस स्विच करना होगा - और "सेव एंड
कोस

67

मेरे पास एक समाधान है:

  1. "स्रोत कोड" के रूप में स्टोरीबोर्ड खोलें (स्टोरीबोर्ड पर राइट क्लिक करें -> स्रोत कोड के रूप में खोलें)।
  2. यह पंक्ति हटाएं:

<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  1. सभी स्टोरीबोर्ड के लिए इसे हटाएं जो आप उपयोग कर रहे हैं।
  2. ऐप चलाएं।

13
उपरोक्त चरणों को पूरा करने के बाद, जब स्टोरीबोर्ड खोलते हुए इंटरफ़ेस बिल्डर Xcode दुर्घटनाग्रस्त हो गया !!!
एलंगोवन

3
यह XCode 8 बीटा में काम कर सकता है। लेकिन XCode 8 रिलीज़ में, ऐसा करने से XCode क्रैश हो जाएगा।
१०:

यह अब भी काम नहीं कर रहा है, फिर भी त्रुटि है, और यह स्टोरीबोर्ड के रूप में खुला 8.0 पर ऑटो सेट करता है
अरफान मिर्जा

स्वीकृत उत्तर सिर्फ एक पंक्ति को हटाने की तुलना में कहीं अधिक सुरक्षित लगता है
kiedysktos

विभिन्न आंकड़ों के साथ कोड को बदलना मेरे लिए काम नहीं करता है। केवल कोड की लाइन को हटाने से त्रुटि ठीक हो जाती है। स्वीकृत जवाब केवल तभी काम करता है जब आपके पास पहले से ही Xcode8 हो।
जिंगलेई

27

यह मेरे लिए काम है

राइट -> सोर्स कोड और चेंज डिपेंडेंसीज के रूप में खोलने के लिए main.stoaryboard.Go पर क्लिक करें

परिवर्तन

 <capability name="documents saved in the Xcode 8 format"
     minToolsVersion="8.0"/>  to

   <capability name="documents saved in the Xcode 7 format"
     minToolsVersion="7.0"/>

लॉन्चस्क्रीन.स्टॉइबोर्ड पर उसी चरण का पालन करें


2
यह अब तक का सबसे अच्छा समाधान है, अगर आपके पास Xcode 8.0 नहीं है
Kampai

2
समाधान के लिए धन्यवाद। Xcode 9 से Xcode में शिफ्ट होने के बाद समान समस्या हुई। मैंने "<क्षमता नाम =" सुरक्षित क्षेत्र लेआउट मार्गदर्शिकाएँ "minToolsVersion =" 9.0 "/>" से <क्षमता नाम = "सुरक्षित क्षेत्र लेआउट मार्गदर्शिकाएँ" minToolsVersion = "8.0" / बदल दीं > इस परिवर्तन के बाद जब आप इंटरफ़ेस बिल्डर में स्टोरीबोर्ड खोलेंगे तो यह लाइन हटा दी जाएगी।
अमित

10

Xcode 9 से Xcode 8 में शिफ्ट होने के बाद समान समस्या हुई। मैंने स्टोरीबोर्ड को स्रोत कोड में खोला और बदल दिया

"<capability name="Safe area layout guides" minToolsVersion="9.0"/>" 
to <capability name="Safe area layout guides" minToolsVersion="8.0"/>

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


thnks आपने मुझे कुछ घंटों के काम के लिए बचा लिया, xcode ने मुझे सचेत किया कि कुछ अजीब चीज़ पाई गई और उसकी मरम्मत की गई तो इस संशोधन के बाद मेरी फ़ाइल ठीक हो जाएगी?
ब्रह्म

7

यह सवाल मुझे भी मिला था। मैंने इसे बदलने के लिए इस पद्धति का अनुसरण किया: क्योंकि मैं 7.0 या बाद के मेनू को चुनने के लिए क्लिक नहीं कर सका, मैंने स्रोत कोड के साथ main.storyboardऔर इसे खोला launchscreen.storyboard, क्योंकि मैंने इसे मैन्युअल रूप से बदल दिया है और इससे समस्या हल हो गई है।


5
यहां परिवर्तनों से पहले की पंक्ति है: <क्षमता नाम = "दस्तावेज़ Xcode 8 प्रारूप में सहेजे गए" minToolsVersion = "8.0" /> परिवर्तनों के बाद: <क्षमता नाम = "दस्तावेज़ Xcode 7 प्रारूप में सहेजे गए" minToolsVersion = "7.0" />
Dani.Rangelov

XCode 8.0 रिलीज़ संस्करण (नॉन बीटा) minToolsVersion = "6.0"
दिखाता है

4

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

मूर्ख, मुझे पता है, लेकिन यह काम करता है।


3
<dependencies>
    <deployment identifier="iOS"/>
    <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9049"/>
    <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
</dependencies>

अपनी निर्भरता को इस निर्भरता में बदलें


0

स्टोरीबोर्ड खोलें Source Codeऔर minToolsVersionकुंजी की खोज करें । उस मान को 7.0 के रूप में सेट करें और उस स्टोरीबोर्ड को Xcode 7.x में खोलें


0

@Bhumit_Metha के रूप में सीधे आगे समाधान दिया। दुर्भाग्य से, मेरे मामले में मेरे पास नवीनतम Xcode (8.0+) संस्करण के साथ MAC नहीं है, मेरे पुराने xcode (7.x) में नई 'xib' फ़ाइलों का समर्थन करने के लिए उन परिवर्तनों को करता है।

इसलिए मैंने सरल चरणों के साथ एक कार्य समाधान के साथ समाप्त किया:

[१] अपने xcode 1x में एक खाली xib फ़ाइल बनाएँ।

[२] स्रोत को देखने के लिए खाली xib पर राइट क्लिक करें और उस सभी को कॉपी करें।

[३] अब स्रोत दर्शक में नया xib (संस्करण त्रुटि के साथ एक) खोलें। पिछले कोड को शीर्ष पर चिपकाएँ।

[४] पुरानी सभी पंक्तियों को नए टैग के साथ बदलें: <objects> ...... </objects>

और बस यही। संगत के साथ xcode 7.x पर काम करेगा!

युक्ति: अगली बार नए xcode में खोलते समय, संगतता मोड का चयन करना सुनिश्चित करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.