I'm writing a post_install
script in a Podfile
, and I need to modify a particular scheme. I'm new to Ruby, so I'm sure I have many bad/non-idiomatic habits. Here's what I have:
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
How can I avoid the hardcoded xcshareddata/xcschemes
in the middle? Or is that the best way to do this?
You can use Xcodeproj::XCScheme.shared_data_dir(project_path)
(Agreed we could have a better way to create an Xcodeproj::XCScheme
instead directly from the Xcodeproj::Project
instance to make this easier)
So something like this should work:
scheme_path = Xcodeproj::XCScheme.shared_data_dir(project.path) + 'BomMot.xcscheme'
scheme = Xcodeproj::XCScheme.new(scheme_path)