Variáveis ​​de ambiente em seu projeto RubyMotion

Como qualquer rubista sabe, ENVpermite ler variáveis ​​de seu ambiente local. Isso funciona muito bem para projetos web, mas você não pode contar com isso para um projeto RubyMotion, já que o produto final será colocado em um dispositivo sem acesso a esses dados.

Uma solução fácil poderia ser armazenar seus vars ENV dentro da plist de configuração do aplicativo no tempo de construção:

Rakefile

app.info_plist['ID'] = ENV['ID']
app
.info_plist['SECRET'] = ENV['SECRET']

Referência: http://www.rubymotion.com/developer-center/guides/project-management/#_advanced_info_plist_settings

… e acessando-os em seu código através do mainBundle:

your_class.rb

id = NSBundle.mainBundle.objectForInfoDictionaryKey('ID')