回答編集履歴

3

Codableに関する記述を修正

2018/01/10 02:43

投稿

YokemuraTakeshi
YokemuraTakeshi

スコア297

test CHANGED
@@ -36,4 +36,10 @@
36
36
 
37
37
 
38
38
 
39
- Codableですが、CodableプロトコルはSwift4の言語仕様を使っていますが、これ自体は言語の方の話なので本来はOSとは関係ありません。が、実際にエンコード/デコードを行うJSONDecoderがiOS11から利用可能なAPIなので、上記のAPIによる縛りがかかってiOS11以降専用となります。
39
+ ~~Codableですが、CodableプロトコルはSwift4の言語仕様を使っていますが、これ自体は言語の方の話なので本来はOSとは関係ありません。が、実際にエンコード/デコードを行うJSONDecoderがiOS11から利用可能なAPIなので、上記のAPIによる縛りがかかってiOS11以降専用となります。~~
40
+
41
+
42
+
43
+ (修正)
44
+
45
+ Codableですが、CodableプロトコルはSwift4の言語仕様を使っていますが、OSの新機能を使っているわけではないので、コンパイル時にデータや文字列の基本操作に還元されるようです。したがって、SDKの最低サポートバージョンまで利用可能です。JSONDecoderはiOS11以降かと思っていましたが、Deployment TargetをiOS8にしてもビルド可能でした。これも内部的には新機能は使っていないようです。

2

冒頭の一文が紛らわしいので修正

2018/01/10 02:43

投稿

YokemuraTakeshi
YokemuraTakeshi

スコア297

test CHANGED
@@ -1,4 +1,4 @@
1
- 結論から言うと、Swift4でiOS10アプリを書くこきます。
1
+ Swiftバージョンと最低動作OS関係はちょっ複雑です。
2
2
 
3
3
 
4
4
 

1

Codableの話を追加

2018/01/10 00:01

投稿

YokemuraTakeshi
YokemuraTakeshi

スコア297

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- iOS開発で最低OSバージョンを決めているのは、SDKです。普通にXCodeの最新版を使っていると最新のSDKが付属しますが、その最新のSDKはだいたい数バージョン前のOSまでをサポートすることが多いです。現在、 XCode9付属のSDKでは最低iOS8までサポートしているようです。
5
+ iOS開発で最低OSバージョンを決めているのは、言語ではなく、SDKです。普通にXCodeの最新版を使っていると最新のSDKが付属しますが、その最新のSDKはだいたい数バージョン前のOSまでをサポートすることが多いです。現在、 XCode9付属のSDKでは最低iOS8までサポートしているようです。
6
6
 
7
7
  加えて、手動で古いSDKをインストールすることができるので、頑張るともう少し前のOSまでサポート範囲を広げることができるようです(けっこう苦労するらしいですが)。
8
8
 
@@ -33,3 +33,7 @@
33
33
 
34
34
 
35
35
  これにプラスして、使う機能によってはAPIによる縛りがかかります。新しいOSでのみ利用可能な機能を使うアプリは、最低サポートOSがそこになります。例えばiOS9以降で搭載されたReplayKitを使用する場合、そのアプリの最低OSバージョンはiOS9です。
36
+
37
+
38
+
39
+ Codableですが、CodableプロトコルはSwift4の言語仕様を使っていますが、これ自体は言語の方の話なので本来はOSとは関係ありません。が、実際にエンコード/デコードを行うJSONDecoderがiOS11から利用可能なAPIなので、上記のAPIによる縛りがかかってiOS11以降専用となります。