swift - 警告:尝试 -exportLocalizations 时未找到“(区域设置)”的屏幕截图
问题描述
我有一组 XCUITests 逐步通过基于 Swift 的应用程序。在测试计划配置中,我选择为荷兰语创建本地化屏幕截图。
然后,当我尝试从 XCode 12.5 导出本地化时,我可以将荷兰语视为一个选项,并且可以按预期导出屏幕截图。
但是,当我尝试从命令行实际导出它们时(我需要这样做以将它们嵌入自动化中),我收到一个错误:
xcodebuild -exportLocalizations -project 'test/test-inhouse.xcodeproj' -localizationPath localizations_output -exportLanguage nl -includeScreenshots
Command line invocation:
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -exportLocalizations -project test/test-inhouse.xcodeproj -localizationPath localizations_output -exportLanguage nl -includeScreenshots
User defaults from command line:
IDEPackageSupportUseBuiltinSCM = YES
--- xcodebuild: WARNING: No screenshots were found for '(
nl
)'
无论我使用什么拼写,或者我是否输入Dutch
. 错误总是相似的,它找不到截图。我什至查看了 project.pbxproj 以确保我将它完全放入数组中。
我试图不向我们的 CI 流程引入进一步的依赖关系,而只是使用内置的 XCodeBuild 命令。关于为什么找不到屏幕截图的任何想法?我是否还必须指定构建的设备类型或其他内容?
解决方案
事实证明,我使用的是项目而不是工作区引用。
据我所知,一个项目只是一组可编译的代码和目标。
我们的 UITest 目标实际上是一个单独的可编译对象,所以当我为工作区而不是项目导出带有屏幕截图的本地化时,它起作用了。
推荐阅读
- google-chrome-extension - background.js 没有收到 chrome.runtime 消息
- angular - 如何在 ionic 4 中保存页面状态
- c - 在实时应用程序中使用 malloc
- xamarin - Xamarin Forms - Syncfusion SF 计划滑动错误 - 仅限 iOS
- sql-server - 具有数百万个文件的 SQL Server FILESTREAM 文件表
- slack-api - 如何停止来自松弛模式输入部分的发布请求?
- java - 如何将带有“重定向”代码的 WebResourceResponse 传递给 WebViewClient.shouldInterceptRequest 中的 Android WebView?
- javascript - 当组件中有多个输入时,如何关注 ReactJS 中的输入字段?
- javascript - 运行构建项目时无法在模块错误之外使用导入语句
- python - 删除 ... 并显示 python pandas 中的所有列