上次說到 rake 是幫忙 iOS App 本地化的好用工具,但其實幾乎所有要自動化的事情都能請它幫忙, 例如寫 game 的人需要做的 sprite sheet 也能請 rake 自動產生。
除此之外,準備各種不同的 build 也是頗煩人的事,如果你也用 rake 的話就可以用 wox 這個 gem 來幫忙,下面的範例是 wox 文檔建議的方式:
# Rakefile
Wox::Tasks.create :info_plist => 'Resources/Info.plist', :sdk => 'iphoneos', :configuration => 'Release' do
build :debug, :configuration => 'Debug'
build :release, :developer_certificate => 'iPhone Developer: Dangerous Dave (9GZ84DL0DZ)' do
ipa :app_store, :provisioning_profile => 'App Store'
ipa :adhoc, :provisioning_profile => 'Team Provisioning Profile' do
testflight :publish, :api_token => 'nphsZ6nVXMl0brDEsevLY0wRfU6iP0NLaQH3nqoh8jG',
:team_token => 'Qfom2HnGGJnXrUVnOKAxKAmpNO3wdQ9panhtqcA',
:notes => proc { File.read("CHANGELOG") },
:distribution_lists => %w[Internal QA],
:notify => true
end
end
end
使用 wox 的優點是不同 task 的 configuration 是可以繼承的,例如 ipa:app_store 套用的就是上一層 build:release 的設定,但用的是上傳 App Store 用的 provisioning profile。同樣道理 ipa:adhoc 用的是 Team Provisioning Profile。而如果你有用 TestFlight 的話,就可以繼承 ipa:adhoc 把做出來 的 ipa 檔直接上傳到 TestFlight。
關於 TestFlight,可以參考 Polydice 的介紹。