我正在编写一个post_install
脚本,Podfile
以便在我在示例项目中运行单元测试时能够从我的框架中收集代码覆盖率报告。这是我所拥有的:
post_install do |installer|
pods_project = installer.pods_project
shared_data_dir = Xcodeproj::XCScheme.shared_data_dir(pods_project.path)
scheme_filename = "BonMot.xcscheme"
scheme = Xcodeproj::XCScheme.new File.join(shared_data_dir, scheme_filename)
test_action = scheme.test_action
test_action.code_coverage_enabled = true
scheme.test_action = test_action
puts "now scheme is #{scheme}"
scheme.save!
end
当我打印出方案时,我可以确认代码覆盖率收集已启用,并且当我检查文件的修改日期时,它会更新到当前时间,尽管这很容易通过我正在运行的事实来解释pod install
。代码覆盖选项不会被写回BonMot.xcscheme
文件。为什么不?