PiwikMobile/BuildRelease

Howto build a release and publish it to the Android Market / iTunes Store

Android

The created release file can be also used to send it to beta users for testing a pre-release.

Building a release file

  • Set Log.enabled=false in library/Log.js
  • Open Titanium
  • Select "Piwik Mobile" Project
  • Select "Test & Package"
  • Select "Distribute"
  • Select "Android"
  • Choose a "Distribution Location", for example Desktop
  • Select the "Key Store Location". This is a certification file needed to build the app. Ask Matt if you don't have this file. This file is valid for about 25 years.
  • Enter the related "Key Store Password". Ask Matt if you don't have this password.
  • Enter the related "Key Store Alias". Ask Matt if you don't have this password.
  • It takes some minutes and generates a file named "Piwik Mobile.apk"
  • That's it! It is possible to create such a file anytime. For example to offer it as a download for beta users.

Publish the app

  • Login at  http://market.android.com/publish/Home (ask Matt if you need credentials)
  • Choose Piwik Mobile
  • Click the link "Upload Upgrade"
  • Choose the previous generated file and press "Upload"
  • Press the big "Publish" button
  • That's it! Isn't that easy?

iOS

Release an iPhone app is a bit more difficult cause you have to install a lots of certificates for the first time.

Attend: It is possible to give access to iTunesConnect to multiple Users. Login at  https://itunesconnect.apple.com/ and click "Mange Users". It is possible to specify different roles (rights) for each user. Otherwise each user using the Piwik credentials will have "Admin" rights.

These steps are required only for the first time

See Setup Mac  http://dev.piwik.org/trac/wiki/PiwikMobile/SetupMac

Prepare the app

  • Login at  https://itunesconnect.apple.com
  • Click "Manage your Applications"
  • Click on the "Piwik Mobile" application icon
  • Click "Add Version"
  • Enter a "Version Number" and "What's New in this version"
  • Press "Submit"
  • Update "Metadata" and "Images" if necessary
  • Press "Ready to Upload Binary"
  • Answer Export Compliance with "No" and press "Continue"
  • Now appears "Version Release Control". You can decide whether Apple shall release the app automatically once it has been approved and press "Save".
  • Read and press "Continue"

Building a release file (universal binary)

  • Set Log.enabled=false in library/Log.js
  • Open Titanium
  • Select "Piwik Mobile" Project
  • Select "Test & Package"
  • Select "Distribute"
  • Select "iPhone"
  • Select the latest available iPhone SDK
  • Select the previous installed Distribution Certificate
  • Select the previous downloaded Provisioning Profile
  • Select a Distribution Location, for example Desktop. It doesn't matter what you choose here
  • Press "Package"
  • It takes some minutes and generates the release

Submit

  • Open Xcode and choose "Window => Organizer" from file menu if not automatically started by Titanium Developer
  • "Piwik Mobile" is now listed in "Archived Applications"
  • Select "Achieved Application" in the left menu of the Organizer
  • Select "Piwik Mobile" app
  • Select the previous generated application binary.
  • Verify the correct application icon is displayed in "Application Info"
  • Click "Validate Application", it should work :)
  • Click "Submit Application to iTunes Connect"
  • Login via Piwik iTunes Store credentials (the same credentials as for developer.apple.com)
  • Now you have to wait till Apple has approved the app, that's about seven days
  • That's it

Publish

tbd

Problems while building the iOS release?

Go into your project folder via terminal. From there go into the build/iphone folder. Than start the build in Titanium and enter the following command in terminal: tail -f build/build.log

You need more guidelines?

A detailed Developer Guide is available here  http://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf
There are tons of documentation available at  http://developer.apple.com Have Fun! Blog post "iOS package for distribution"  http://developer.appcelerator.com/blog/2010/07/ios-package-for-distribution-with-1-4.html