web-dev-qa-db-ja.com

iOS 9.0より前のUIStackView

私は最近、XCodeを最新のバージョン7.0ベータ3(7A152u)にアップグレードしました。

IPhoneアプリの構築にSwiftを使用しています。Main.storyboardでStack Viewを使用しようとすると、エラーが発生します "iOS 9.0より前のUIStackView"。

Xcode 7ベータ3へのアップグレードで、iOS 9が使えると考えました。Swift開発。

40
bably

チェックインProject Targets-> Deployment info -> Deployment Target。9.0でない場合は、9.0に変更します。

アプリケーションのターゲットのデプロイメントターゲットをiOS 9に変更する必要があります。そうしないと、アプリケーションは、デプロイメントターゲットが設定されているOSをサポートします。

未解決??他の理由でチェックしてください???これをチェックしてください:

展開ターゲットがすでに9.0に設定されているにもかかわらず、このエラーが表示される場合は、project File inspector-> Project Document -> Project FormatXcode-6.3-compatibleかどうか。そうでない場合は、Xcode-6.3-compatible

もう1つの理由は、誤ってUIStackViewを追加した可能性があり、それが問題に遭遇した理由です。 UIStackViewは9.0以降をサポートしますが、デプロイメントターゲットはそれを許可しません。したがって、誤ってUIStackViewを追加したかどうか、また追加したのに削除したくない場合はチェックしてください。

注:展開ターゲットを9.0に設定すると、iOS9を実行しているデバイスのみがアプリを実行できるようになります

57
EI Captain v2.0

受け入れられた回答では、プロジェクトの展開設定全体を変更する必要があります。アプリ全体にiOS 9を必要としない場合は、Builds forXcodeのファイルインスペクターペインのプロパティ:

enter image description here

これをiOS 9.0以降に設定すると、より小規模な展開ターゲット(私の場合は7.0)に合わせてアプリをビルドし続けることができます。もちろん、iOS 9未満のデバイスにxibをロードしようとすると、アプリがクラッシュします。コードでこれを確認し、適切なアクションを実行してください。

35
devios1

これまでの回答では、実際に問題のあるUIStackViewを削除するという考えに取り組んでいませんが、展開ターゲットを変更して問題を修正しています。私のソリューションでは、展開ターゲットを強制的に変更することはありません。

誤ってUIStackViewを追加したときに、この問題に遭遇しました(レイアウト制約を追加するときは簡単です)。この問題を修正するために、ドキュメントアウトレットペイン(下図)に移動し、「ラウンドスタイルテキストフィールド」を「スタックビュー」階層から「ビュー」階層に引き出しました。その後、スタックビューを削除できます。

enter image description here

これによりエラーが修正され、展開ターゲットを変更する必要がなくなりました。これがお役に立てば幸いです。

30
Felker

私の場合、展開ターゲットはすでに9.0に設定されています。プロジェクトの形式をXcode-3.2-compatibleからXcode-6.3-compatibleに更新することにより、このエラーを解決しました。

これは、Xcodeプロジェクトのメイン設定ページの右側の列にあります。

The Project Document section in the right column

7
riot