[Swift] アプリの引数処理と引数指定

     

TAGS:

⌛️ < 1 min.

忘れてしまった時に コピペで使用できるスニペットシリーズ コマンド引数 編

環境&対象

以下の環境で動作確認を行なっています。

  • macOS14.5 Beta
  • Xcode 15.3
  • iOS 17.4
  • Swift 5.9

引数処理

Swift では、”CommandLine” という起動時の(コマンドラインの)引数を取得する仕組みが用意されています。


参考
CommandLineApple Developer Documentation

使用方法は非常に単純で、static で定義されている arguments にアクセスするだけです。

なお、arguments は、String の配列です。

if CommandLine.arguments.contains("-fastlane") {
   // 何らかの処理
}

上記では、引数に “-fastlane” が含まれているかを判別して何らかの処理をするということになります。

MEMO

さまざまな引数の処理が必要になるときには、swift-argument-parser が便利です。以下の記事で説明してます。
SwiftUI2021 [SwiftUI] swift-argument-parser を使って、SwiftUI 起動時動作を制御する

引数指定して起動

アプリの引数を指定する方法は、複数ありますが、Xcode での開発時によく使用する方法をメモしておきます。

Schemeで指定

Xcode の Scheme に指定することで、起動時の引数を指定することができます。

“Product” – “Scheme” – “Edit Scheme” でウィンドウを表示します。

“Run” – “Arguments” で表示される “Arguments Passed On Launch” にて 引数を指定することで、起動時の引数指定が可能です。

XcodeScheme

XCUIApplication に arguments 指定

XCUIApplication を使用した UIText では、XCUIApplication に対してコードで 引数を指定することができます。

import XCTest

final class WeightClipNeoUITests: XCTestCase {
    func test_Fastlane() throws {
        // UI tests must launch the application that they test.
        let app = XCUIApplication()
        app.launchArguments = ["-fastlane"]
        app.launch()

        // ... testing ...
    }
}

XCUIApplication の launchArguments プロパティに設定することで起動引数を指定できます。


参考
launchArgumentsApple Developer Documentation

上記 例では、”-fastlane” という引数を指定して 起動しています。

まとめ

Swift アプリの引数の処理とその指定方法

Swift アプリの引数の処理とその指定方法
  • CommandLine を使用すると簡単に 引数を取得し処理できる
  • 起動引数指定は、Xcode の Scheme で指定する方法と、XCUIApplication の arguments を指定する方法がある

説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。

SwiftUI おすすめ本

SwiftUI を理解するには、以下の本がおすすめです。

SwiftUI ViewMatery

SwiftUI で開発していくときに、ViewやLayoutのための適切なmodifierを探すのが大変です。
英語での説明になってしまいますが、以下の”SwiftUI Views Mastery Bundle”という本がビジュアル的に確認して探せるので、便利です。

英語ではありますが、1ページに コードと画面が並んでいるので、非常にわかりやすいです。

View に適用できる modifier もわかりやすく説明されているので、ビューの理解だけではなく、どのような装飾ができるかも簡単にわかります。

超便利です

SwiftUIViewsMastery

販売元のページは、こちらです。

SwiftUI 徹底入門

# SwiftUI は、毎年大きく改善されていますので、少し古くなってしまいましたが、いまでも 定番本です。

Swift学習におすすめの本

詳解Swift

Swift の学習には、詳解 Swift という書籍が、おすすめです。

著者は、Swift の初期から書籍を出していますし、Swift の前に主力言語だった Objective-C という言語についても同様の書籍を出しています。

最新版を購入するのがおすすめです。

現時点では、上記の Swift 5 に対応した第5版が最新版です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です