带有参数的 xcode 命令行测试在启动时传递

Posted

技术标签:

【中文标题】带有参数的 xcode 命令行测试在启动时传递【英文标题】:xcode command line test with argument passed at launch 【发布时间】:2015-07-14 14:53:02 【问题描述】:

我在 CI 实施 xcodebuild 命令测试时遇到了小问题。我有与特定设备语言相关的测试,在 xcode 中我可以将“启动时传递的参数”设置为 -AppleLanguages(语言)。我可以使用 xcodebuild 传递该参数吗?

我的脚本是这样的

xcodebuild -workspace MyApp.xcworkspace -scheme "MyAppTests" -sdk iphonesimulator -destination 'platform=ios Simulator,name=iPhone 6,OS=9.0' test

谢谢!

【问题讨论】:

它可能是通过环境变量设置的。运行 xcodebuild -workspace <ws> -target <t> -configuration <c> -showBuildSettings 并 grep 获取 -AppleLanguages。你得到任何合理的输出吗? 您找到解决方案了吗? 【参考方案1】:

xcodebuild 用于构建您的应用程序。您可以使用此命令以特定语言运行您的应用程序。

xcrun simctl launch <deviceid> <appid> -AppleLanguages "(pt-BR)"

这是一个示例,其中包含构建和运行您的应用的所有步骤:

xcodebuild -sdk iphonesimulator8.4 -arch i386 install DSTROOT=YourAppFolder
xcrun instruments -w "iPhone 6 (8.4 Simulator)"
xcrun simctl install booted YourAppFolder/Applications/YourApp.app
xcrun simctl launch booted com.yourdomain.yourapp -AppleLanguages "(pt-BR)"

【讨论】:

它适用于构建和运行应用程序,但不适用于运行特定语言的 UI 测试。

以上是关于带有参数的 xcode 命令行测试在启动时传递的主要内容,如果未能解决你的问题,请参考以下文章

从带有命令行参数的批处理文件运行控制台应用程序,如何在运行时传递参数值? [复制]

xcode build 命令行变量不能同时传递给 UI 测试和 App

参数传递策略 - 环境变量与命令行

使用 electron-builder NSIS 安装程序安装后运行时如何传递命令行参数

如何在 Xcode 4 中指定命令行参数?

在哪里可以找到从命令行开始的 XCode UI 测试报告