获取特定方案的路径
Get path to particular scheme
我正在 Podfile
中编写一个 post_install
脚本,我需要修改一个特定的方案。我是 Ruby 的新手,所以我确定我有很多 bad/non-idiomatic 习惯。这是我拥有的:
post_install do |installer|
pods_project = installer.pods_project
scheme_filename = "BonMot.xcscheme"
scheme = Xcodeproj::XCScheme.new File.join(pods_project.path, "xcshareddata/xcschemes", scheme_filename)
# do stuff with scheme
end
如何避免中间的硬编码 xcshareddata/xcschemes
?或者这是最好的方法吗?
您可以使用Xcodeproj::XCScheme.shared_data_dir(project_path)
(同意我们可以有一个更好的方法来创建一个 Xcodeproj::XCScheme
而不是直接从 Xcodeproj::Project
实例来使这更容易)
所以像这样的东西应该可以工作:
scheme_path = Xcodeproj::XCScheme.shared_data_dir(project.path) + 'BomMot.xcscheme'
scheme = Xcodeproj::XCScheme.new(scheme_path)
我正在 Podfile
中编写一个 post_install
脚本,我需要修改一个特定的方案。我是 Ruby 的新手,所以我确定我有很多 bad/non-idiomatic 习惯。这是我拥有的:
post_install do |installer|
pods_project = installer.pods_project
scheme_filename = "BonMot.xcscheme"
scheme = Xcodeproj::XCScheme.new File.join(pods_project.path, "xcshareddata/xcschemes", scheme_filename)
# do stuff with scheme
end
如何避免中间的硬编码 xcshareddata/xcschemes
?或者这是最好的方法吗?
您可以使用Xcodeproj::XCScheme.shared_data_dir(project_path)
(同意我们可以有一个更好的方法来创建一个 Xcodeproj::XCScheme
而不是直接从 Xcodeproj::Project
实例来使这更容易)
所以像这样的东西应该可以工作:
scheme_path = Xcodeproj::XCScheme.shared_data_dir(project.path) + 'BomMot.xcscheme'
scheme = Xcodeproj::XCScheme.new(scheme_path)