Wednesday, June 13, 2012

Testing Web Apps on Blackberry

I recently made a simplified web version of my Android application Colombo Stock Trades V4. You can see the web version here. I tested it on android emulator, iphone simulator and my old stupid(aka. non smart) nokia phone. So the only thing left to do was to test it on blackberry. Therefore I set about installing the BB simulator and below are the steps I followed (this was on a Windows 7 PC) .

In order to test a web app on a blackberry simulator..

Step 1:

Download the blackberry simulator and the Email and MDS services simulator package from https://swdownloads.blackberry.com/Downloads/entry.do?code=060AD92489947D410D897474079C1477 .

Step 2:
Install both. First start the MDS and then the emulator (it is important that you follow this order).

Step3:

Now you can browse your web app on your simulator.


Tuesday, June 12, 2012

How to re-sign an ipa file?

On rare occasions you may be provided with an ipa file (only the ipa file and not the code) that has been signed with a different code signing identity, and you will need to re-sign it with the correct identity before submitting to appstore or for beta testing.

To check the current signature of the ipa file..

First unzip it to get the .app file using,

unzip ".ipa_file_name"

Now check the signature of the .app file using,

codesign -dvvv ".app_file_name"

In the output by reading the value of the Authority attribute you can determine if the app was signed using a developer certificate or a distribution certificate.
eg:
Authority=iPhone Distribution: Appleseed Inc.
Authority=iPhone Developer: Appleseed Inc.

Once you have verified that the current signature is incorrect you can proceed to re-sign the ipa file.

Remove old code signature
rm -r "Payload/Application.app/_CodeSignature" "Payload/Application.app/CodeResources"

Replace embedded mobile provisioning profile
cp "MyEnterprise.mobileprovision" "Payload/Application.app/embedded.mobileprovision"


Re-sign
/usr/bin/codesign -f -s "iPhone Distribution: Certificate Name" --resource-rules "Payload/Application.app/ResourceRules.plist" "Payload/Application.app"


Re-package
zip -qr "Application.resigned.ipa" Payload


References:



iOS application beta testing using adhoc distribution

You can beta test your iOS application by distributing it via .ipa files. For this the tester will need to have the following..

- a mac with itunes installed
- an iOS device

Send the application .ipa file along with the mobile provisioning profile ( .mobileprovision) to the tester. Now he/she can test your app by following the steps below..

Step 1:
Install the mobile provisioning profile (double click the file)

Step 2:
Drag the .ipa file into itunes. Now the application should display under Library -> Apps menu (menu on left).

Step 3:
Select the device from the Devices section on the left menu and then select the Apps tab (should be displayed on top). Now the application will be visible in the open panel (see pic below).



Step 4:
Select the application and the Sync Apps option. Now sync the app to the device by clicking on the Apply button.

Step 5:
Test the installed application!:)


But how can you extract the .ipa file for beta testing?


Make sure your distribution profile and certificate are installed on your mac. If not, download the distribution profile from  and install it by double clicking. Download the distribution certificate and install it in the login section of the keychain.



In Xcode (I am using Xcode 4.0) open your application project and Build and Run on the device first. Next select Build -> Archive. In Window -> Organizer under archived applications select the latest archive and then click on Share Application button. Select the proper code signing identity (ie. distribution certificate). This will generate the correct ipa file:)

References :

https://developer.apple.com/library/ios/#technotes/tn2250/_index.html