質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

5521閲覧

iOSアプリにおけるOSバージョンアップ対応について

SwiftGanbaruMan

総合スコア10

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/10/20 08:00

編集2020/10/20 08:50

Xcode上で設定する iOS Development Target
Podfileで設定する platform :ios
上記二つのOSバージョンがなんの意味を持っているのか分からないです。
例えば上記二つを共にiOS13に設定した上でiOS14のiPhone上にビルドしても、特に問題なくビルドでき、動作にも問題がありません。
これら二つの意味を教えていただきたいです。
また、一般的にiOSのバージョンが上がったとき、これら二つの数字も最新に上げ、エラーなくビルドできるように対応するべきなのでしょうか?
ご回答よろしくお願いいたします。

--追記 202010201749--
XcodeのバージョンとSwiftのバージョンとiOSのバージョンの兼ね合いも分からないので教えていただきたいのです。
Xcode12でSwift5.3及びiOS14に対応したことは分かったのですが、それはつまりXcode11以前でビルドしたアプリはiOS14では動かせないということでしょうか?
反対に、Xcode12でswift4.2などでビルド(もしかしたらそんなことはできないのかも知れませんが)した場合、iOS14では動くのでしょうか?
動作可能なiOSバージョンというものが、swiftのバージョンに紐づいているのか、Xcodeのバージョンに紐づいているのか、分かりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Xcode上で設定する iOS Development Target

アプリの配布対象となる「最低バージョン」です。iOS14にしたらiOS13.x系以前のiPhone/iPod touchにはインストールできなくなります。

Podfileで設定する platform

XcodeのDeployment Targetと合わせておけばよいです。

また、一般的にiOSのバージョンが上がったとき、これら二つの数字も最新に上げ、エラーなくビルドできるように対応するべきなのでしょうか?

最新のiOSにしか対応しないのであれば、それでOKです。
ある程度過去のバージョンのiOSにも対応するのであれば、ここの値は変更しません。そのうえで特定のバージョン以降でしか使えない処理をする必要がある場合は以下のようにして、端末のiOSバージョンにあわせて処理を分岐させることになります。

swift

1var img: UIImage? = nil 2if #available(iOS 13.0, *) { 3 img = UIImage(systemName: "xxxxx") 4} else { 5 img = UIImage(name: "xxxxx") 6}

XcodeのバージョンとSwiftのバージョンとiOSのバージョンの兼ね合いも分からないので教えていただきたいのです。

Xcode12でSwift5.3及びiOS14に対応したことは分かったのですが、それはつまりXcode11以前でビルドしたアプリはiOS14では動かせないということでしょうか?
反対に、Xcode12でswift4.2などでビルド(もしかしたらそんなことはできないのかも知れませんが)した場合、iOS14では動くのでしょうか?
動作可能なiOSバージョンというものが、swiftのバージョンに紐づいているのか、Xcodeのバージョンに紐づいているのか、分かりません。

こちらも考え方は同じです。iOS14特有の機能を使おうと思ったり、あるいは既存のアプリをiOS14で動かしたときに起こるバグを修正しようと思ったときにはXcode12が必要です。いっぽうで、iOS13.xまでの機能、Swift5.2.4までの書き方でビルドしたアプリがiOS14で使えないというわけではありません。

というか、もしそうだとしたら、iOSの新しいバージョンが公開されるたびに大混乱になるはずですね。
とくに、iOS14は発表が急だったので、各社あわてて対応していました。(マジでひどかった……)
おそらくiPhone実機なんかをお持ちだと思いますが、iOS14ローンチの数日後にAppStoreでアプリの更新が沢山来ていたことを覚えていませんか。でも、更新しなくてもアプリは動いていましたよね。バグは出ていたかもしれませんが……

投稿2020/10/20 08:29

編集2020/10/20 09:45
thyda.eiqau

総合スコア2982

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SwiftGanbaruMan

2020/10/20 08:51 編集

なるほど、最低バージョンだったんですね。 ありがとうございます。 XcodeのバージョンとSwiftのバージョンとiOSのバージョンの兼ね合いも分からないので教えていただきたいです。 Xcode12でSwift5.3及びiOS14に対応したことは分かったのですが、それはつまりXcode11以前でビルドしたアプリはiOS14では動かせないということでしょうか? 反対に、Xcode12でswift4.2などでビルド(もしかしたらそんなことはできないのかも知れませんが)した場合、iOS14では動くのでしょうか? 動作可能なiOSバージョンというものが、swiftのバージョンに紐づいているのか、Xcodeのバージョンに紐づいているのか、分かりません。 ご教授願いたいです。よろしくお願いいたします。 (こちら質問本文の方にも追記させていただきます。)
SwiftGanbaruMan

2020/10/20 09:53

追記へのご回答ありがとうございます。 なるほど!!とても分かりやすくご説明いただきありがとうございます。 理解できました。 本当にありがとうございました。
guest

0

13に設定すれば13以上を指定していることになるので、14でも動きます。
そのため、アプリがサポートする(動作を保証する)最も古いバージョンに設定します。

今はiOS14がリリースされたばかりで、まだ更新していない人が多いと思われるので、12〜13にしているアプリが多いのではないでしょうか。

投稿2020/10/20 08:23

takutakuya

総合スコア979

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問