読者です 読者をやめる 読者になる 読者になる

山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

SwiftとiOS7

SwiftはiOS7に対応しています。 appleのブログでも明記されています。

Compatibility

私も実際にSwiftのプログラムをiOS7.1の実機で動かしています。動作報告もネット上にたくさんあります。

しかし!事態はそんなに甘くありません。開発中のオイシックスのアプリケーションは前々動きませんでした。ハングするかと思ったら、強制終了して次に立ち上げるとクラッシュします。ビルドとインストールまではできました。どうやらiOS8の機能を使っている部分がいけないのではないかということで、BaseSDKを7.1にしてみます。

そのままだとiOS8のSDKしかないので別途コピーします。やり方はここを参考に。同じやり方で問題なくできました。

Xcode5にiOS SDK 7.0と6.1を共存させる(iOS SDK 6.1を追加でインストールする)

早速BaseSDKの指定を変えてビルドしたところ、こんなエラーが・・・

iOS targets using Swift cannot be built against an SDK older than 8.0, but the effective SDK is 7.1.

全くビルドできません。これが何を意味するかというと、iOS7でも動くがiOS7で動かない機能をコンパイラでチェックできないということです。ひたすら実行させてエラーを拾ってつぶして行かないといけないということです。そんなことは実質的には不可能です。従って本格的なアプリ開発ではSwiftでiOS7は難しいのではないかと思いました。

なおiOS7.1のシミュレーターはXcode6で動作しました。別途インストールする必要があります。