LoginSignup
7
5

More than 3 years have passed since last update.

Xcode10.2とSwift5対応

Last updated at Posted at 2019-05-13

1.Xcode10.2をインストールする

まずは、ダウンロードページから、Xcode_10.2.xipをダウンロードしてインストールします。(macOSは10.14.3以降である必要があります)

2.Swift Language VersionをSwift5に変更

Xcode10.2がインストールできたら、Build SettingsのSwift Language VersionSwift5に変更します。

Swift_Version.png

3.警告対応

ビルドしたところ、いくつか警告が出たので対応していきます。

1) Localizations非推奨の警告

<警告>

スクリーンショット 2019-05-07 12.33.08.png

Localizations非推奨の警告が出ていました。Xcode 10.2 Release NotesのLocalizationに記載されていましたが、廃止予定のローカライゼーション識別子を使用していると警告が出るようになりました。移行する必要があるので、警告をクリックして、Migrateボタンで移行します。(※下記イメージを参照)

スクリーンショット 2019-05-07 12.32.58.png

マイグレーション前にあったdeprecatedになったLacalizationsの設定が解消されます。

マイグレーション 画面イメージ
実行前 スクリーンショット 2019-05-07 12.35.47.png
実行後 スクリーンショット 2019-05-07 12.33.46.png

2) public修飾子が付いたextensionの警告

<警告>

'public' modifier is redundant for instance method declared in a public extension

この警告はpublic修飾子がついているextension内で、拡張したメソッドにもpublic修飾子が付いていたため、それが冗長だと警告しているものです。
例えば以下のようなコードで警告が表示されていました。

スクリーンショット 2019-04-26 11.27.21.png

public extensionでUIScreenの拡張メソッドを作成しているのですが、originalSize(scaledSize:)メソッドにもpublicが付いているため、以下のようにメソッドのpublic修飾子を削除すれば警告は消えます。

<対応後>

public extension UIScreen {

    func originalSize(scaledSize: CGFloat) -> CGFloat {
        return scaledSize / UIScreen.main.scale
    }
}

私の関わっているプロジェクトでのXcode10.2とSwift5対応は以上でした。
他の方々の対応する際のご参考になればと思います。

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5