July 11, 2009, 3:16 pm
MPoD is retrieving cover art for the currently playing song from Amazon the AWS (Amazon Web Services). From August 15 onwards, all requests made will have to be signed using a secret key that is attached to the registered AWSAccessKeyId. Searching on Google, I found various helpful bits, especially on the learn amazon web services blog. But I didn’t find a ready made implementation that I could use directly from my code.
Based on what I found I created a helper class AWSRequestSigner, that takes a dictionary of parameters to pass to the webservice, and returns a ready made NSURL object that can be used in an NSURLRequest object as in the following example:
NSURL *url = [AWSRequestSigner urlForParameterDict:[NSDictionary dictionaryWithObjectsAndKeys:
@"Sea Of Tears", @"Title",
@"Eilen Jewell", @"Artist",
@"ItemSearch", @"Operation",
@"Images", @"ResponseGroup",
@"Music", @"SearchIndex",
@"AWSECommerceService", @"Service",
nil]];
To look at the source code for the AWSRequestSigner class, download it here and open it in XCode.
May 9, 2009, 7:43 pm
Below are a couple of screenshots of the new v1.3 of MPoD: cover view, improved list view, support for multiple connections and support for icecast (to listen to your mpd stream directly on your iPhone).
Testing is well underway and I expect that this version can be submitted to the AppStore in the next couple of weeks.
January 3, 2009, 9:42 am
For a great start of 2009, version 1.2 of MPoD is available in the AppStore. The main change in this version is on the inside, where a local database is implemented that caches the information from your MPD server. This results in a major improvement of the startup time, which for my 10K song library goes from 18 seconds down to about 3-4 seconds. Furthermore the main screen should be more responsive now.
In addition to this some smaller functional changes have been included as well:
- Shaking your device while you’re in the now playing screen will activate one of the random modes (random album, or a number of random songs)
- The active playlist includes the artist for each song in case the playlist contains songs by different artists
- On the artist, album and song tabs you can immediately toggle between ‘add mode’ and ‘replace mode’. The ‘add mode’ will add the selected item to the active playlist, whereas the ‘replace mode’ will replace the active playlist contents with the selected item.
November 15, 2008, 10:53 pm
Many developers have been facing issues with building iphone applications using distribution profiles (AdHoc and AppStore). Often the correct distribution profiles don’t appear in the build settings in XCode.
I have been struggling with this for quite some time as well, but as of late I seem to have found a method of working that always does the trick. What it comes down to, is that when you want to change the build settings, as well as when you want to build a distribution version, you need to make sure that a device (iPhone, iPod Touch) is connected to your Mac. If you don’t connect it, there’s a good chance that the build profiles don’t show up in the build settings. Connecting the device and restarting XCode usually fixes this.
The practice I’m using currently, is that whenever I want to build for testing in the iPhone simulator I make sure no device is connected, and when a build is destined for a device I make sure that a device is actually connected. I make it a habit to connect or disconnect the device (depending on the build target), and restart XCode. This is a bit of a hassle, but at least it gives me predictable results.