Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Xcode8だけどSwift2.3で実行したい人向け対応

More than 3 years have passed since last update.

Xcode8が9月13日にとうとう正式にでたので早速インストールしてみました。案の定いろいろエラーが出てきたので即席対応した内容を共有します。

Use Legacy Swift Language Version

起動時にLaterを選択したにもかかわらず、シミュレーターや実機に書き込もうとすると

Use Legacy Swift Language Version

というエラーがでて、Convertを推奨してきます…。
これを解除してSwift2.3で書くには

TARGETS -> Build Setting -> Swift Compiler -> Use Legacy Swift Language Version

をYESに変更します。
これでSwift2.3で書かれたモノでも上記のエラーが出なくなります。

ライブラリを使用していた場合

僕はcarthageで導入していたObjectMapperのimport文で以下のようなエラー文がでました。

Module file was created by an older version of the compiler; rebuild 'ObjectMapper' and try again
Carthage/Build

を削除して

TOOLCHAINS=com.apple.dt.toolchain.Swift_2_3 carthage update --platform iOS

Swift2.3を指定して、carthageで導入するライブラリをビルドします。ビルド後に、プロジェクトに追加してください。

以上で、シミュレータに書き込んで実行することができました。

Hakota
東京在住のエンジニア。世の中に残るものを作っていきたいです。
https://hakota.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away