参考にした記事
RubyMotion の小ワザ - satococoa's blog
概要
毎回 Rakefile に testflight の token を書くのは面倒ですし、Rakefile がごちゃっとしますよね。
APIキーとか、あんまり人に晒したくないものあると思うので、 .gitignoreで本物のyamlファイルはGitの追跡から逃れつつ 開発できます。
config.yml.sample
testflight: api_token: API TOKEN team_token: TEAM TOKEN development: provisioning: '/path/to/file' tinami: api: TINAMI API
で、書き方。TestFlightのトークンはともかく、 APIキーとかどうすんだっていうのでちょっとハマりました。
Motion::Project::App.setup do |app| # Use `rake config' to see complete project settings. app.name = 'TinamiReader' require 'yaml' conf_file = './config.yml' if File.exists?(conf_file) config = YAML::load_file(conf_file) app.testflight.sdk = 'vendor/TestFlightSDK' app.testflight.api_token = config['testflight']['api_token'] app.testflight.team_token = config['testflight']['team_token'] app.info_plist['TINAMI_API'] = config['tinami']['api'] env = ENV['ENV'] || 'development' app.provisioning_profile = config[env]['provisioning'] end end
本編にはこのようにぶっこめる。
api = NSBundle.mainBundle.objectForInfoDictionaryKey('TINAMI_API')
こういう書き方は本流じゃないっぽい感じがしなくもないよ。
Rod Wilhelmy : Environment variables in your RubyMotion project