Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Have No MacBook,  Will Code Anyway* Putting the “Mobile” in Mobile App Development   *How To Write   and Test your own cod...
XCode for iOSOf course, it doesn’t exist, but just     how close can we get?
Well, it’s notquite there, yet...But it’s usable. I use it several times                a week.
But Why?Wouldn’t a laptop be easier?
Because it’s convenient
It’s useable more       places Standing in line can be productive,but a laptop would be too awkward.
It’s SocialAn iPad is a better tool forcommunicating with iOSApp developmentcustomersWhen demonstrating anApp or showing a...
It’s powerful enough        *Graphic   from http://www.iakttakelser.com/2011/03/on-feeds-and-speeds.html
It’s a growing market
So what do you have?The project is calledXCAB for now (it standsfor XCode AutoBuild), andit’s available on GitHubunder an ...
So, how does it work?
You start with a connected         iOS device with you**And   a network-connected Mac running back at the office
You use a Dropbox-enabled           App         Dropbox         Textastic (Editor for iPad)         Nebulous Notes (Univer...
To make changes to your       Dropbox
Which get checked into Git
New Git commits get built
Each build gets turned into a installable web archiveUsing iOS Beta Builder
Which gets written to yourpublic web dir on Dropbox
Your iPhone/iPad is sent apush notification over Boxcar
The iOS device follows thelink in the push notification
And the App Gets InstalledSo you can test, and either iterate or notify your                    customer
So, how well does it work?
How well does it work?
How do I use it?XCAB will make a directory in your XCAB directory for eachPROJECT that it can check out from the path in t...
Demo                                 We’ll see if this works :)*If   not, I’ve got some static screenshots to fall back on...
Isn’t that really, really complicated?
Why, YES, yes it is.
Simplification is comingWorking on making a Mac Appto do the Server-side Stuffand an iOS App do to branchcreation, checkout...
How do I set this up?           Part 1: PrerequisitesPut a Dropbox in your Home directory on your MacGet Boxcar App and Se...
How do I set this up?       Part 2: Keychain for Cert Signing   If you want it run without being logged into your session ...
How do I set this up?                   Part 3: XCABGet the code from https://github.com/carlbrown/XCABCopy XCAB.settings....
XCAB.settings.sample
What’s the catch?There’s no provision for managing XCode projects or xib files(you’ll still have to do all that on the Mac)...
What’s the catch?There’s no provision for managing XCode projects or xib files(you’ll still have to do all that on the Mac)...
What’s the catch?There’s no provision for managing XCode projects or xib files(you’ll still have to do all that on the Mac)...
What’s the catch?There’s no provision for managing XCode projects or xib files(you’ll still have to do all that on the Mac)...
Questions?Email: carlb@pobox.com (H) carlb@PDAgent.com (W)Twitter: @CarlAllenBrownBlog: http://www.EscortMissions.comIll p...
Referenceshttp://www.oiledmachine.com/posts/2010/10/27/automated-ota-ios-app-distribution.htmlhttp://stackoverflow.com/ques...
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Developing iOS apps on your iPad with XCAB
Upcoming SlideShare
Loading in …5
×

Developing iOS apps on your iPad with XCAB

24,701 views

Published on

Presentation to cocoacoder.org meeting on 12 May, 2011 on how to develop iPhone and iPad Apps while you are away from your Mac.

Published in: Technology
  • Be the first to comment

Developing iOS apps on your iPad with XCAB

  1. 1. Have No MacBook, Will Code Anyway* Putting the “Mobile” in Mobile App Development *How To Write and Test your own codeon your iPhone/iPad without carrying your Mac @CarlAllenBrown
  2. 2. XCode for iOSOf course, it doesn’t exist, but just how close can we get?
  3. 3. Well, it’s notquite there, yet...But it’s usable. I use it several times a week.
  4. 4. But Why?Wouldn’t a laptop be easier?
  5. 5. Because it’s convenient
  6. 6. It’s useable more places Standing in line can be productive,but a laptop would be too awkward.
  7. 7. It’s SocialAn iPad is a better tool forcommunicating with iOSApp developmentcustomersWhen demonstrating anApp or showing a design toa customer with a laptop,they’re never as interactiveas they are when I’m usingthe iPad
  8. 8. It’s powerful enough *Graphic from http://www.iakttakelser.com/2011/03/on-feeds-and-speeds.html
  9. 9. It’s a growing market
  10. 10. So what do you have?The project is calledXCAB for now (it standsfor XCode AutoBuild), andit’s available on GitHubunder an MIT license.It’s written in Bourne Shellat the momentI’d consider it in the“Advanced Proof ofConcept” stage
  11. 11. So, how does it work?
  12. 12. You start with a connected iOS device with you**And a network-connected Mac running back at the office
  13. 13. You use a Dropbox-enabled App Dropbox Textastic (Editor for iPad) Nebulous Notes (Universal)
  14. 14. To make changes to your Dropbox
  15. 15. Which get checked into Git
  16. 16. New Git commits get built
  17. 17. Each build gets turned into a installable web archiveUsing iOS Beta Builder
  18. 18. Which gets written to yourpublic web dir on Dropbox
  19. 19. Your iPhone/iPad is sent apush notification over Boxcar
  20. 20. The iOS device follows thelink in the push notification
  21. 21. And the App Gets InstalledSo you can test, and either iterate or notify your customer
  22. 22. So, how well does it work?
  23. 23. How well does it work?
  24. 24. How do I use it?XCAB will make a directory in your XCAB directory for eachPROJECT that it can check out from the path in theXCAB.conf fileInto that directory will be placed a file that lists the branchesand tags for that project so you can see your optionsIf you make a new directory, it will check out the closest-named branch/tag it can find into that directory (creating abranch with the name of the directory if it doesn’t exist).Any files changed in that directory will cause a build and apush notification (if there is an associated XCode project)
  25. 25. Demo We’ll see if this works :)*If not, I’ve got some static screenshots to fall back on that I’ll walk you through
  26. 26. Isn’t that really, really complicated?
  27. 27. Why, YES, yes it is.
  28. 28. Simplification is comingWorking on making a Mac Appto do the Server-side Stuffand an iOS App do to branchcreation, checkouts, add newprojects, receive the pushnotifications, etc.Want you to be able to useyour own editor App, so itwon’t be a full IDE.No ETA, though.
  29. 29. How do I set this up? Part 1: PrerequisitesPut a Dropbox in your Home directory on your MacGet Boxcar App and Set up Boxcar account (http://boxcar.io) Enable Growl/API accessGet and build the command-line Beta Builder from• git://github.com/sgruby/iOS-BetaBuilder.git 65
  30. 30. How do I set this up? Part 2: Keychain for Cert Signing If you want it run without being logged into your session (e.g. from cron), you have to make* a new Keychain with just your code-signing Cert and public/private key pair that is locked by a password you don’t mind hard-coding into a script.*See http://stackoverflow.com/questions/577750/running-xcodebuild-from-a-forked-terminal 66
  31. 31. How do I set this up? Part 3: XCABGet the code from https://github.com/carlbrown/XCABCopy XCAB.settings.sample to XCAB.settingsEdit the variables in XCAB.settings as needed See next sliderun run_me_to_verify_install.sh fix anything it points out follow its instructions to get the server running 67
  32. 32. XCAB.settings.sample
  33. 33. What’s the catch?There’s no provision for managing XCode projects or xib files(you’ll still have to do all that on the Mac) In other words, you can’t add new files or edit GUIs Technically, they’re just XML, but really, just don’t bother for anything more complicated that changing the name on the signing certificate
  34. 34. What’s the catch?There’s no provision for managing XCode projects or xib files(you’ll still have to do all that on the Mac) In other words, you can’t add new files or edit GUIs Technically, they’re just XML, but really, just don’t bother for anything more complicated that changing the name on the signing certificateNo auto-complete or refactoring or debugging or instruments
  35. 35. What’s the catch?There’s no provision for managing XCode projects or xib files(you’ll still have to do all that on the Mac) In other words, you can’t add new files or edit GUIs Technically, they’re just XML, but really, just don’t bother for anything more complicated that changing the name on the signing certificateNo auto-complete or refactoring or debugging or instrumentsThe lag and long cycle time gets old
  36. 36. What’s the catch?There’s no provision for managing XCode projects or xib files(you’ll still have to do all that on the Mac) In other words, you can’t add new files or edit GUIs Technically, they’re just XML, but really, just don’t bother for anything more complicated that changing the name on the signing certificateNo auto-complete or refactoring or debugging or instrumentsThe lag and long cycle time gets oldOh, and did I mention it’s really overly complicated
  37. 37. Questions?Email: carlb@pobox.com (H) carlb@PDAgent.com (W)Twitter: @CarlAllenBrownBlog: http://www.EscortMissions.comIll put this presentation up at http://www.slideshare.net/carlbrown/
  38. 38. Referenceshttp://www.oiledmachine.com/posts/2010/10/27/automated-ota-ios-app-distribution.htmlhttp://stackoverflow.com/questions/577750/running-xcodebuild-from-a-forked-terminalhttp://help.boxcar.io/kb/developers/sending-yourself-notificationshttp://www.iakttakelser.com/2011/03/on-feeds-and-speeds.html

×