ドキュメントMain.storyboardにはXcode 8.0以降が必要です


94

Xcodeベータ版をダウンロードして既存のプロジェクトを開き、Xcode 8ベータ版でどのように機能するかを確認しました(Xcode 8からStoryboardファイルを開きました)。

Xcode 7.3からプロジェクトを開くと、ストーリーボードファイルを開くことができません。次のエラーが発生します

このバージョンは、Xcode 8形式で保存されたドキュメントをサポートしていません。このドキュメントをXcode 8.0以降で開きます。

Xcode 7エラー Xcode 7の作業を続けたいので、元に戻すにはどうすればよいですか。

Xcode 8でデバイスを選択するように求められ、iPhone 6Sを選択しましたが、Xcode 7でストーリーボードファイルが開かない原因はなんとなくあると思います


7
バージョン管理の変更を元に戻す
Wain

1
@Wainはい、それは常にオプションでしたが、コミットされていない変更がいくつかあり、解決策についても知りたいと思っていました(時間がかからない場合)
Bhumit Mehta

回答:


212

私はそれを理解しました:

Xcode 8でストーリーボードを開きます。

ファイルインスペクタをクリックします。

インタフェースビルダードキュメントセクション、代わりに、スクリーンショットを以下のように「最新のXcode(8.0)」の「Xcodeの7.xの」で開きを選択します。

ここに画像の説明を入力してください

これを行うと、「Xcode 7.x用に保存するとドキュメントが閉じ、Xcode 8.0機能のデータが削除される」という警告が表示されます。

[保存して閉じる]をクリックすると、Xode 7.xでストーリーボードを開くことができます。


変更を適用するのに苦労しましたが、変更して保存して閉じます。その時点で、灰色のままだったため、実際には保存されませんでした。その後、かなりハングアップしたXcodeを強制的に終了しました。ストーリーボードはXcode 7で動作しています。
マルハル

@Bhumit Mehta ipadとiphoneに2つの異なるストーリーボードがある場合、機能しません。変更は、そのうちの1つについてのみ保存されます。Plzは回避策を教えてくれます。
火星

@mars:両方のストーリーボードで同じ手順を繰り返す必要があるだけです。テストプロジェクトで試してみましたが、うまくいきました。
Bhumit Mehta

2
Interface Builder Documentはどこにありますか?
natecraft1 2016

10
ただし、もう一度xCode 8でプロジェクトを開いてストーリーボードに移動すると、ストーリーボードファイルが再び
乱雑に

67

私には解決策があります:

  1. 「ソースコード」としてストーリーボードを開きます(ストーリーボードを右クリック->開く->ソースコード)。
  2. この行を削除:

<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  1. 使用しているすべてのストーリーボードでこれを削除します。
  2. アプリを実行します。

13
上記の手順を完了した後、インターフェイスビルダーとしてストーリーボードを開くと、Xcodeがクラッシュしました!!!
Elangovan 2016

3
これ XCode 8 Betaで機能した可能性あります。しかし、XCode 8リリースでは、これを行うとXCodeがクラッシュします。
GeneCode

これは現在機能していませんが、まだエラーであり、ストーリーボードが開くと自動的に8.0に設定されます
Arfan Mirza

受け入れられた回答は、単に行を削除するよりもはるかに安全に聞こえます
kiedysktos '24 / 10/16

コードを別の数字で置き換えることは、私にとってはうまくいきません。コード行を削除するだけでエラーが修正されます。受け入れられた答えは、Xcode8がすでにある場合にのみ機能するようです。
jinglei

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

launchscreen.stoaryboardで同じ手順に従います


2
これは、Xcode 8.0をお持ちでない場合のこれまでのところ最良の解決策です
カンパイ2017

2
解決策をありがとう。Xcode 9からXcode 8に移行した後、同じ問題が発生しました。「<capability name = "Safe area layout guides" minToolsVersion = "9.0" />」を<capability name = "Safe area layout guides" minToolsVersion = "8.0" /に変更しました>。この変更後、Interface Builderでストーリーボードを開くと、この行は削除されます。
2017

10

Xcode 9からXcode 8に移行した後も同じ問題が発生しました。ストーリーボードをソースコードで開いて変更しました

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

この変更後、Interface Builderでストーリーボードを開くと、この行は削除されます。


数時間の作業を節約できたので、xcodeは、奇妙なものが見つかって修復されたので、この変更後にファイルが正常になることを警告しますか?
brahimm 2017

7

私もこの質問に会いました。この方法で変更しました。メニューをクリックして7.0以降を選択できなかったため、main.storyboardlaunchscreen.storyboardをソースコードで開きました。手動でバージョンを変更して問題を解決しました。


5
変更前の行は次のとおりです。<capability name = "Xcode 8形式で保存されたドキュメント" minToolsVersion = "8.0" />変更後:<capability name = "Xcode 7形式で保存されたドキュメント" minToolsVersion = "7.0" />
Dani.Rangelov 2016

XCodeの8.0リリースバージョン(非ベータ版)を示しminToolsVersion = "6.0"
GeneCode

4

XCode 8は、ストーリーボードファイルを開くたびに常にXCode 8形式に変換し続けるので(古いプロジェクトであり、すべてがめちゃくちゃになります)、XCode 7をダウンロードして、ストーリーボードファイルを編集するためだけに使用しました(そして、iの前に閉じます) XCode 8に切り替えます)。プロジェクトがGIT上にあるため、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 CodeminToolsVersionキーを検索します。その値を7.0に設定し、そのストーリーボードをXcode 7.xで開きます


0

@Bhumit_Methaが直接的な解決策を与えたように。残念ながら、私の場合、最新のXcode(8.0+)バージョンのMACを持っていないので、古いxcode(7.x)の新しい「xib」ファイルをサポートするように変更します。

だから私は次のような簡単な手順で実用的なソリューションになりました:

[1] xcode 7.xに空のxibファイルを作成します。

[2]空のxibを右クリックしてソースを表示し、そのすべてをコピーします。

[3]ソースビューアで新しいxib(バージョンエラーのあるもの)を開きます。前のコードを上に貼り付けます。

[4] oldのすべての行を新しい内部タグで置き換えます: <objects> ...... </objects>

そして、それだけです。xcode 7.xとの互換性で動作します!

ヒント:次回新しいxcodeで開くときは、必ず互換モードを選択してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.