LoginSignup
46
41

【SwiftがWindows10に正式対応】WindowsでiOSアプリ開発を始めたかった

Last updated at Posted at 2021-02-27

業務ではJavaばかり書いているバックエンド開発者で、Swift初心者です。
今はWindowsが愛機なので先日のニュースを見て、手を出したいなと思っていたiPhoneアプリ開発。

Windows × iPhoneアプリ開発の入門記事はXamarinでやっていた時代のものばかりだったので、メモを残しておきます。

用意するもの

  • Window10のPC
  • Visual Studio 2019
  • Swift

Swiftインストール

https://swift.org/download/
swift toolchainをインストールします。

Visual Studio 2019 インストール

https://visualstudio.microsoft.com/
こちらより、(ライセンスを持っていないので)Community版をダウンロードします。
インストールの際は、以下のコンポーネントを入れます。

  • 必須

    • Windows 10 SDK (10.0.17763.0以上)
    • Windows Universal CRT SDK
    • MSVC v142 - VS 2019 C++ x64/x86 ビルド ツール (v14.25以上)
  • 推奨

    • Python 3 64 ビット (3.7.8)  …入ってるかつパス通せる人は不要
    • Git for Windows
    • Windows 用 C++ CMake ツール
    • JSON エディター

設定

Windows10だとPythonのパスを通してあげないと、swiftコマンドは何やってもエラーになるので以下をコマンドプロンプトから実行します。

path %ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Python37_64;%PATH%

さらに、REPL(対話型のSwift実行環境)を使うためには、Swift toolchain→Windows SDKのアクセスを許可する必要があります。

set SWIFTFLAGS=-sdk %SDKROOT% -I %SDKROOT%/usr/lib/swift -L SDKROOT%/usr/lib/swift/windows
swift repl -target x86_64-unknown-windows-msvc %SWIFTFLAGS%

動いた!

これで動作確認をしてみます。

$> swift
Welcome to compnerd.org Swift version 5.3.3-dev (LLVM 3093af41dd, Swift 266905108e).
Type :help for assistance.
1> 1 + 2
$R2: Int = 3

Windows10でSwiftが動いたようです。やったね。

さて、Swift package managerを動かしてみるぞ!と思った矢先

swift package init
error: unable to invoke subcommand: C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin\swift-package ()

2021年2月27日現在、できないようです。非常に残念。
Swift Package Managerのサポートは近日中に、とのこと。待ちます。
できるようになったら記事更新します。


(2022年2月17日追記)
この記事、最新版一年も放置してしまいました。

2021年4月の以下リリースから、Swift Package Managerが対応したようです。
https://www.swift.org/blog/swift-5.4-released/

すばらしい!!!

実はこの記事書いたすぐあとにMac買っちゃったので自分は試しませんが、どなたか試した方はコメントしてくれると、ありがたいです。

46
41
1

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
46
41