1. Hakota

    Posted

    Hakota
Changes in title
+Xcode8だけどSwift2.3で実行したい人向け対応
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,44 @@
+
+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で導入するライブラリをビルドします。ビルド後に、プロジェクトに追加してください。
+
+以上で、シミュレータに書き込んで実行することができました。
+
+
+