altf

iOS Wireless (OTA) App Distribution

Posted in Apple, mobile, QA, Tech by AltF on May 18, 2011

One of the major annoyance of developing a native mobile application for iOS is distributing internal builds to enterprise users/beta testers. Using the ad-hoc distribution method developer has to create a release build (.ipa or .app) with provisioning profile (.mobileprovision) and send both the files to the users who then copies these files to iTunes and syncs their device to the computer. And the users have to repeat this process each time there is a new build.

With iOS 4 you can now have over-the-air installation of applications. You can distribute in-house software to users without have them to use iTunes/Computer. Installing the app is simple. Users download the manifest file from your website to their iOS 4 device, which instructs the device to download and install the apps referenced in the manifest. You can distribute the URL for downloading the manifest file via SMS or email. You can also create a custom, easy-to-remember tiny url (http://tinyurl.com/) and share with your users.

It’s up to you to design and host the website used to distribute apps (I use simple touch friendly template for nested list of directories http://dev.sencha.com/deploy/touch/examples/nestedlist/) . You need to make sure that users are authenticated, perhaps using basic auth or directory-based authentication, and that the website is accessible via your intranet or the Internet. The app and manifest can be placed in a hidden directory, or in any other location that’s readable using HTTP or HTTPS.

Step 1. Creating the app (.ipa) and the manifest (.plist) file

  • In Xcode, you create an app archive using the “Build > Build and Archive” command.
  • Then, in the Archived Applications source in Xcode’s Organizer, select the app and click the “Share Application…” button.
  • Then click the “Distribute for Enterprise…” button.
  • In the distribution window, enter the title and the full url to the app (.ipa) file (path to the app on your webserver) for example, http://apollo42.com/testapp.ipa.
  • Xcode will then create the app (.ipa) and manifest (.plist) file based on the information you provided
  • The manifest file is a file in XML plist format. It’s used by an iOS 4 device to find, download, and install apps from your web server.

Step 2. Hosting the files on your web server

  • Along with the generated .plist and the .ipa files, you’ll need the provisioning profile and a simple index file.
  • Create a simple index file with the following href

<a href=”itms-services://?action=download-manifest&url=http://apollo42.com/testapp.plist”>Install app</a>

Note: When you archive using XCode4 + iOS 4.3 you might see “No Packager exists for the type of archive” message in the organizer when you click on share and Distribute for Enterprise option may also be missing in XCode4. This happens when you have some linked projects inside your main project. Go to the Build settings of linked projects and set the setting “Skip install” (Deployment section) to “Yes” (leave the “Skip install” of the main project to “No”). Build and Archive again and you should be able to select the ipa and the identity and when you click next you should see an option to “Save for Enterprise Distribution”

Advertisements

object-oriented programming explained by steve jobs

Posted in Apple, Tech by AltF on February 15, 2010

Jeff Goodell: Would you explain, in simple terms, exactly what object-oriented software is?

Steve Jobs: Objects are like people. They’re living, breathing things that have knowledge inside them about how to do things and have memory inside them so they can remember things. And rather than interacting with them at a very low level, you interact with them at a very high level of abstraction, like we’re doing right here.

Here’s an example: If I’m your laundry object, you can give me your dirty clothes and send me a message that says, “Can you get my clothes laundered, please.” I happen to know where the best laundry place in San Francisco is. And I speak English, and I have dollars in my pockets. So I go out and hail a taxicab and tell the driver to take me to this place in San Francisco. I go get your clothes laundered, I jump back in the cab, I get back here. I give you your clean clothes and say, “Here are your clean clothes.”

You have no idea how I did that. You have no knowledge of the laundry place. Maybe you speak French, and you can’t even hail a taxi. You can’t pay for one, you don’t have dollars in your pocket. Yet I knew how to do all of that. And you didn’t have to know any of it. All that complexity was hidden inside of me, and we were able to interact at a very high level of abstraction. That’s what objects are. They encapsulate complexity, and the interfaces to that complexity are high level.

(In 1994, Apple’s kingpin sat down for a free-ranging session with Rolling Stone reporter Jeff Goodell. Full interview)

Asus Eee PC 901 arrives in Singapore

Posted in Tech by AltF on July 10, 2008

Asus Eee PC 901

Asus Eee PC 901 - Priced at 798 S$

Tagged with: , , ,
%d bloggers like this: