Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building A Tool To Build Apps

Building A Tool To Build Apps

About the tools we use to build apps on Propeller (http://usepropeller.com) using RubyMotion

Clay Allsopp

May 29, 2014
Tweet

More Decks by Clay Allsopp

Other Decks in Programming

Transcript

  1. 1. Code'the'app'(Xcode) 2. Take'screenshots'(Simulator) 3. Test'the'app'(Xcode.&.Simulator) 4. Create'a'bundle'iden;fier'&'profile'(ADC) 5. Archive'the'app'(Xcode)

    6. Create'an'entry'on'iTunes'Connect'(ITC) 7. Upload'(Applica6on.Loader) 8. Do'something'when'it's'released'(Email)
  2. class AppScreenshots < Motion::Screenshots::Base async_screenshot "profile" do ready_delay 3 before

    do App.delegate.table_view_controller.selectRowAtIndexPath( NSIndexPath.indexPathForRow(0, inSection: 1), animated: false, scrollPosition: UITableViewScrollPositionNone ) ready! end end end
  3. class AppScreenshots < Motion::Screenshots::Base async_screenshot "profile" do ready_delay 3 before

    do App.delegate.table_view_controller.selectRowAtIndexPath( NSIndexPath.indexPathForRow(0, inSection: 1), animated: false, scrollPosition: UITableViewScrollPositionNone ) ready! end end end
  4. $ rake spec AppScreenshots - should take screenshots AppScreenshots.profile -

    should be <= 5.0% difference [FAILED - was 10.75%] Bacon::Error: was 10.75% spec.rb:698:in `satisfy:': AppScreenshots.profile - should be <= 5.0% difference spec.rb:438:in `execute_block' spec.rb:402:in `run_postponed_block:' spec.rb:397:in `resume' 2 specifications (2 requirements), 1 failures, 0 errors
  5. app:create Create App app:reject_binary Reject the binary of an pending

    release app:remove_from_sale Remove app from sale app:update Update App app_id:create Create App ID app_id:delete Delete App ID app_id:list List App IDs profile:create Create Provisioning Profile profile:download Download a Provisioning Profile profile:list List Provisioning Profiles
  6. $ applebot app:create -h Options: --title VALUE REQUIRED App's title

    --sku VALUE REQUIRED App's SKU --id VALUE REQUIRED App's bundle identifier --app_version VALUE REQUIRED App version number --copyright VALUE REQUIRED App copyright info --first_name VALUE REQUIRED Contact Info first name --last_name VALUE REQUIRED Contact Info last name --email VALUE REQUIRED Contact Info email --phone VALUE REQUIRED Contact Info phone number ...
  7. require "appleslice" email_body = "<!DOCTYPE HTML PUBLIC>..." slice = AppleSlice::Email.new(email_body)

    slice.review_status # => :ready_for_sale slice.app_version_number # => "1.0.5" slice.app_name # => "Awesome App"
  8. 1. Code'the'app'(Xcode) 2. Take'screenshots'(Simulator) 3. Test'the'app'(Xcode.&.Simulator) 4. Create'a'bundle'iden;fier'&'profile'(ADC) 5. Archive'the'app'(Xcode)

    6. Create'an'entry'on'iTunes'Connect'(ITC) 7. Upload'(Applica6on.Loader) 8. Do'something'when'it's'released'(Email)