2016-05-25 13 views
0

私のiOSアプリケーションでUIテストをしていますが、私はいくつかの奇妙な動作が見られます。Swift - なぜProcess.argumentsが空の配列を返します

XCUIApplication().launchArgumentsにいくつかの値を追加していますが、起動引数を確認するためにクエリを実行すると、空の配列が表示されます。

これは私のsetUp()方法がどのように見えるかです:これは私がProcessは独自のクラスであるかのかはわからない引数

func checkArguments(){ 
    let launchArguments = Process.arguments 
    for index in 0 ..< launchArguments.count { 
     let argument = launchArguments[index] as String 

     if argument.compare("USE_DEBUG_SERVER") == NSComparisonResult.OrderedSame { 
      // Do something 
     } 
    } 
    return true 
} 
+0

オートメーションについてはわかりませんが、この回答を確認してください。適切なプロセスにアクセスしていない可能性があります。 http://stackoverflow.com/a/33335994/1671729 – Putz1103

答えて

0

を取得するためにProcess.argumentsを呼び出す関数である

override func setUp() { 
    super.setUp() 

    let application = XCUIApplication() 
    application.launchArguments = ["USE_SERVER_DEBUG"] 
    application.launch() 
} 

タイプミスですが、NSProcessInfoを使用してください。

if NSProcessInfo.processInfo().arguments.contains("USE_SERVER_DEBUG") { 
    // Do something 
} 

また、私は通常起動引数を設定に対してお勧めします。代わりにを追加する必要があります。しかし、それは何よりもベストプラクティスです。

application.launchArguments += "USE_SERVER_DEBUG" 
+0

'Process'はSwiftの「現在のプロセスのコマンドライン引数」です。 – Moritz

関連する問題