Swift - 为啥 Process.arguments 返回空数组
Posted
技术标签:
【中文标题】Swift - 为啥 Process.arguments 返回空数组【英文标题】:Swift - Why Process.arguments returns empty arraySwift - 为什么 Process.arguments 返回空数组 【发布时间】:2016-05-25 20:02:17 【问题描述】:我正在我的 ios 应用程序中进行一些 UI 测试,但我看到了一些奇怪的行为。
在我的setUp()
方法中,我向XCUIApplication().launchArguments
添加了一些值,但是当我查询以查看启动参数时,我得到了一个空数组。
这就是我的setUp()
方法的样子:
override func setUp()
super.setUp()
let application = XCUIApplication()
application.launchArguments = ["USE_SERVER_DEBUG"]
application.launch()
这是调用Process.arguments
来检索参数的函数
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
【问题讨论】:
我对自动化一无所知,但请查看此答案。看来您可能没有访问正确的进程。 ***.com/a/33335994/1671729 【参考方案1】:我不确定Process
是您自己的课程还是拼写错误,但您应该使用NSProcessInfo
。
if NSProcessInfo.processInfo().arguments.contains("USE_SERVER_DEBUG")
// Do something
另外,我通常建议不要设置启动参数。相反,您应该将它们附加。但这更像是一种最佳实践。
application.launchArguments += "USE_SERVER_DEBUG"
【讨论】:
Process
是 Swift 的“当前进程的命令行参数”。以上是关于Swift - 为啥 Process.arguments 返回空数组的主要内容,如果未能解决你的问题,请参考以下文章