Fastlane,模拟器启动前的屏幕截图自定义操作?

Fastlane, screenshot custom action before simulator is launched?

我正在尝试启动 quick time 播放器来从 iOS 模拟器录制视频和音频。

我想我可以为每种语言和每种设备创建一个包含数组的 shell 脚本。然后循环并 运行 一条快车道,传递参数。

我看到您可以在 fastfile 中使用 before_each,但这会在模拟器启动之前启动,但是我需要在模拟器启动时启动 quick time player。

fastlane 没有对 QuickTime 的集成支持,因此您需要使用 shell 脚本自行完成此操作。因为 QuickTime 和 Simulator 的启动时间可能会有所不同,所以我认为正确计时会很困难且容易出错。

如果你想继续探索这种方法,我会避免使用 before_each 而是依赖一个车道调用另一个车道的能力,例如:

lane :record_qt_video do
    my_languages = [] # some array of options
    # launch quicktime
    # launch simulator
    my_languages.each do |lang|
        launch_localized_app(language: lang)
        # save video and reset quicktime state
    end
end

private_lane :launch_localized_app do |options|
    lang = options[:language]
    # run whatever you want in the simulator
end

我看到您正在开发 fastlane pull request,它使用集成模拟器录制选项而不是 QuickTime。我认为这可能是一种更好的方法,因为它将消除等式中的时间问题。