Wednesday, November 14, 2012

[AIR] Post-mortem iOS development via PC


Adobe AIR is great way to build application on iOS and apply to Android in a blink (yes, you still need sometime to adjust screen size and else), and also PC is cheapest way to build the app, let see what went wrong while developing 'til publishing to store.

Possible to develop iOS on PC?

Yes! here's your choices.
  1. VMWare // geeky find proper installation step (try google for it),  slow as hell, but fine to use for create certificate and upload binary ipa via Application Loader.
  2. UniBeast // super geek installation, you can break your computer in every step, but when it's done it just working just like pricy Mac.

Can app really be done with AIR?

After distribute plenty of my clients app...I've to say yes! but keep in mind that...
  1. Must keep 60fps steady on desktop version as possible, you will get not much trouble when deploy to device.
  2. Must use Flash Builder profiler and/or Monocle to find what cause your app hang up.
  3. Must build and test via real device as much possible.
  4. ANE is best way to deal with anything that AIR can't do. only cons for ANE is fragmentation of iOS version and some ANE still require iOS SDK while build.

Do we need certificate?

You obviously need it for distribution (yes, you can hack for development process certification, but don't ask me how, just paid for it dude) In my case is super fancy, my first development certificate is create via PC command line,  distribution certificate via VMWare Lion and finally import both to UniBeast PC Mountain Lion, Don't follow me on this one ;p
  1. To get some just follow this guide : http://help.adobe.com/en_US/as3/iphone/WS789ea67d3e73a8b2-240138de1243a7725e7-8000.html
  2. Try understand work flow : http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/10-Configuring_Development_and_Distribution_Assets/identities_and_devices.html
  3. Must back up your certificate, in some cloud to be save. // for PC .p12 with password should be enough, in Mac better export all at once save it somewhere. 
  4. If your client need to publish as their company name do ask them to provide distribute certificated.

Can we do In-app purchase?

Sure! for now you need ANE for that, good news is it's free! but...
  1. Must not use Jail broken device for testing. // i think this is undoc ;p
  2. Must include products before submit binary via App detail page. // this will waste your time for a month and also chance to get money if you miss this step because you have reupload binary and queue for review all over again! if it not appear then just upload binary -> reject it yourself -> edit button will appear behind In-app purchase topic -> check what product you will include via check box, yeah all sound weird but just work and don't ask me why just do it!
  3. Must remove any transaction in all case. // or you will get infinite loop yelling for "You've already purchased this but it hasn't been downloaded"
  4. Consumable product won't get reject while create product but Non-Consumable product will get reject if you binary didn't upload yet.
  5. Your product can get reject separately from Application reject, review process seem to be separated BTW.

My application rejected!

do/don't :  https://developer.apple.com/appstore/resources/approval/guidelines.html
  1. Must upload binary within 150 days after named your application, if not you will then be available for another developer to use.
  2. Must have offline mode for tester, especially if your app need Facebook, in short  make any authentication as optional.
  3. If you target iPhone, your app must working via iPad3, iPad4 too! // woot! in my case my client didn't paid for iPad version but i still need to make it work or get reject!
  4. Must use developer name not client name. // my client didn't provide certificate for distribution, so i use client company name instead of my company then it conflicted and get reject.
  5. Must not refer to Android in all case. // even your app can use and/or communicate between iOS and Android, you just can't say it...wooooot!
  6. Comment on Resolution Center will get answer back after 3 days pass and usually nothing but kick you to Appeal page. // in my case i just can't wait for appeal process that i never know how long it gonna take, so i just fix #3 and re submit new binary
  7. Binary Review process took around 14 days usually, update version is vary 1 day for fastest record, and FYI that they also work weekend. // My app get reject on Sunday lol
  8. AIR 3.5 + Default-568h@2x.png 1136x640 will trigger iPhone5 compatible and you will need screenshot for that.

Notes

  1. Your app will list via iPad even you target iPhone.
  2. Your app will appear in search result around 24hrs after ready for sale state.
  3. Don't cry and/or angry when you get rejected, It didn't help and you will get use to it soon. ;)

Tips

  1. It's easier to take screen shot via Mac by Xcode via Organizer window.
  2. To track user behavior do try use https://developers.google.com/analytics/devguides/collection/other/flashTrackingSetupFlash#useAnalyticsLibrary
  3. To transfer file to/from device to/from PC/Mac i use iFunbox
  4. For free cloud hosting perfect for testing i use hostzilla
  5. For free private SVN hosting i use ProjectLocker
  6. For cats lover do try http://instagram.com/katopz

FYI : I will add some screenshot for each topic really later #fingercross ;p

Post a Comment