Main.storyboard belgesi, Xcode 8.0 veya sonrasını gerektirir


94

Xcode beta'yı indirdim ve Xcode 8 beta ile nasıl çalıştığını görmek için mevcut projemi açtım (Storyboard dosyasını Xcode 8'den açtım).

Şimdi projemi Xcode 7.3'ten açtığımda storyboard dosyasını açamıyorum, bana aşağıdaki hatayı veriyor

Bu sürüm, Xcode 8 biçiminde kaydedilen belgeleri desteklemez. Bu belgeyi Xcode 8.0 veya üstü ile açın.

Xcode 7 hatası Xcode 7 üzerinde çalışmaya devam etmek istediğim için geri dönmek için ne yapmalıyım?

Xcode 8'de cihaz seçmem istendi ve iPhone 6S'yi seçtim, film şeridi dosyasının Xcode 7'de açılmamasından bir şekilde bu bölümün sorumlu olduğunu düşünüyorum.


7
Sürüm kontrolündeki değişiklikleri geri al
Wain

1
@Wain Evet bu her zaman bir seçenekti, ancak bazı beklenmedik değişiklikler yaptım ve ayrıca çözümü bilmek istedim (zaman alıcı değilse)
Bhumit Mehta

Yanıtlar:


212

Ben anladım:

Storyboard'unuzu Xcode 8'de açın.

Dosya Denetleyicisine tıklayın.

Gelen Arayüz Oluşturucu Belge bölümü aşağıdaki gibi ekran "son Xcode (8.0)" yerine açar olarak "Xcode 7.x" seçmek:

görüntü açıklamasını buraya girin

Bunu yaptığınızda, "Xcode 7.x için kaydetme, belgenizi kapatır ve Xcode 8.0 özellikleri için veriler kaldırılır" şeklinde bir uyarı alacaksınız.

Kaydet ve Kapat'a tıkladığınızda film şeridini Xode 7.x'te açabileceksiniz.


Değişikliği sabitlemek için sorun yaşadım ama yaptığım şey onu değiştirmek, sonra kaydetmek ve kapatmaktı, bu noktada aslında kaydetmedi çünkü hala griydi, sonra oldukça Xcode (asılıydı) sonra zorla çıkmaya zorladım ve şimdi film şeridi Xcode 7 phew'de çalışıyor!
malhal

@Bhumit Mehta ipad ve iphone için 2 farklı storyboard'um olduğunda çalışmıyor. Değişiklikler yalnızca biri için kaydedilir. Plz bana herhangi bir geçici çözüm söyle.
mars

@mars: Her iki storyboard için de aynı adımları tekrarlamanız gerekiyor, bir test projesinde denedim ve işe yaradı.
Bhumit Mehta

2
Arayüz Oluşturucu Belgesi nerede?
natecraft1

10
AMA tekrar xCode 8'de bir proje açacak ve bir storyboard'a girecekseniz - storyboard dosyasını tekrar karıştıracaksınız ve tekrar
7.x'e

67

Bir çözümüm var:

  1. Film şeridini "kaynak Kodu" olarak açın (film şeridine sağ tıklayın -> farklı aç -> kaynak kodu).
  2. Bu satırı silin:

<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  1. Bunu, kullandığınız tüm film şeridi için silin.
  2. Uygulamayı çalıştırın.

13
Yukarıdaki adımları tamamladıktan sonra, arayüz oluşturucu Xcode çöktüğü için hikaye panosunu açarken !!!
Elangovan

3
Bu , XCode 8 Beta'da işe yaramış olabilir . Ancak XCode 8 sürümünde, bunu yapmak XCode'u çökertecektir.
GeneCode

bu artık çalışmıyor, hala hata veriyor ve film şeridi açıkken otomatik olarak 8.0'a ayarlandı
Arfan Mirza

kabul edilen cevap bir satırı silmekten çok daha güvenli görünüyor
kiedysktos

Kodu farklı rakamlarla değiştirmek benim için işe yaramıyor. Yalnızca kod satırını silmek hatayı düzeltir. Kabul edilen yanıt yalnızca Xcode8'e sahip olduğunuzda işe yarıyor gibi görünüyor.
jinglei

27

Benim için iş

Sağ, main.stoaryboard'a tıklayın. -> kaynak kodu olarak açmak için gidin ve bağımlılıkları değiştirin

değişiklik

 <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"/>

Launchscreen.stoaryboard'da aynı adımı izleyin.


2
Şimdiye kadar en iyi çözüm, Xcode 8.0
Kampai

2
Çözüm için teşekkürler. Xcode 9'dan Xcode 8'e geçtikten sonra da aynı sorun oluştu. "<Capability name =" Güvenli alan düzeni kılavuzları "minToolsVersion =" 9.0 "/>" öğesini <capability name = "Güvenli alan düzeni kılavuzları" minToolsVersion = "8.0" / olarak değiştirdim >. Bu değişiklikten sonra, film şeridini Arayüz oluşturucuda açacağınız zaman bu satır kaldırılacaktır.
Amit

10

Xcode 9'dan Xcode 8'e geçtikten sonra da aynı sorun oluştu. Film şeridini kaynak kodda açtım ve değiştirdim

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

Bu değişiklikten sonra, storyboard'u Interface builder'da açtığınızda bu satır kaldırılacaktır.


Beni birkaç saat çalışmadan kurtardığınız için, xcode bazı garip şeylerin bulunduğunu ve tamir edildiğini beni uyarır, böylece dosyam bu değişiklikten sonra iyi olur?
brahimm

7

Ben de bu soruyla karşılaştım. Bunu değiştirmek için bu yöntemi takip ettim: 7.0 veya daha sonrasını seçmek için menüyü tıklayamadığım için main.storyboardve launchscreen.storyboardkaynak koduyla açtım, sürümünü manuel olarak değiştirdim ve bu sorunu çözdü.


5
İşte değişikliklerden önceki satır: <capability name = "Xcode 8 biçiminde kaydedilen belgeler" minToolsVersion = "8.0" /> Değişikliklerden sonra: <capability name = "Xcode 7 biçiminde kaydedilen belgeler" minToolsVersion = "7.0" />
Dani.Rangelov

XCode 8.0 yayın sürümü (beta olmayan) minToolsVersion = "6.0" gösteriyor
GeneCode

4

XCode 8, her açtığımda film şeridi dosyalarını XCode 8 biçimine dönüştürmeye devam ettiğinden (bu eski bir projedir ve her şey karışır), XCode 7'yi indirip yalnızca film şeridi dosyalarını düzenlemek için kullandım (ve XCode 8'e geri dönün). 8'de yanlışlıkla film şeridi dosyasını açarsam, proje GIT'de olduğu için bu dosyayı son işleme sıfırlarım.

Aptalca biliyorum ama işe yarıyor.


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

Bağımlılıklarınızı bu bağımlılıklarla değiştirin


0

Film şeridini farklı açın Source Codeve minToolsVersionanahtarı arayın . Bu değeri 7.0 olarak ayarlayın ve bu film şeridini Xcode 7.x'te açın


0

@Bhumit_Metha'nın basit bir çözüm verdiği gibi. Ne yazık ki, benim durumumda en son Xcode (8.0+) sürümüne sahip MAC'im yok, bu değişiklikleri eski xcode'umdaki (7.x) yeni 'xib' dosyalarını desteklemek için yap.

Bu yüzden aşağıdaki gibi basit adımlarla çalışan bir çözüm buldum:

[1] xcode 7.x'inizde boş bir xib dosyası oluşturun.

[2] Kaynağı görüntülemek ve hepsini kopyalamak için boş xib'e sağ tıklayın.

[3] Şimdi kaynak görüntüleyicide yeni xib (sürüm hatası olan) açın. Önceki kodu üstüne yapıştırın.

[4] Tüm eski satırları yeni iç etiketle değiştirin: <objects> ...... </objects>

Ve hepsi bu. Xcode 7.x ile uyumlu çalışacak!

İpucu: Yeni xcode'da bir dahaki sefere açarken uyumluluk modunu seçtiğinizden emin olun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.