Apple iTunes Affiliate Program - Song link metadata? - iphone

I have an app that plays music from the user's iTunes library on the device. Without going into the details of the "Whys" behind what I am doing, I just need to know how to automatically get the iTunes store link from each song. So in the app, I will show a song list. I want a "Download" button next to each song. When the user presses that button it opens up the song in iTunes to be purchased. Is there a way to dynamically find the links to those songs, or do the links have to be pre-programmed into the app?
I was hoping any official iTunes music would have an iTunes download link/other useful meta data associated with it.
Again these songs are never the same on all devices because they are coming from the users library.
Maybe there is some search function I can do?

It is not exactly automatically (though for the user it will be), but with the title of the track you could search it using the iTunes Store Web Service Search API.
This will return a JSON response with the link to the song in the iTunes store (along with some other useful metadata).

I've got his same problem. Considering using EchoNest to actually identify a track from its audio content, then using the returned values (title, album, etc.) from EN to query iTunes API for the track in the Store.
This is based on the assumption that the user's track metadata is not reliable, and has the added benefit that you can fill in any missing data that the user may not have (eg. album art)
Any other ideas?

Related

How can I check that my iOS app is reviewed & rated by a user or not from my code

If someone reviews my application, is it possible to get an event? I am using a third party library for managing app ratings. It is the most popular iOS rating library called iRate. iRate has an method:
[[iRate sharedInstance] ratedThisVersion]
But it seems, it is not working when I tried to test. Is there any native way to check that my app is reviewed by user or not?
The library iRate stores the fact that a user rated an app in it's user defaults. As a result, you will only be able to tell if a user rated the version once you've actually set the value, using assignment.
Just as a matter of interest, ratedThisVersion is a BOOL property, not a message - so it's [iRate sharedInstance].ratedThisVersion and [iRate sharedInstance].ratedThisVersion = YES; for assignment.
There's no current mechanism in the apple store to determine if the user has rated the app. You can ask for the number of reviews for an app by using the itunes search api (e.g. getting the output from https://itunes.apple.com/lookup?id=364147881 would get the json data for the BBC news app, which as of my checking had an "averageUserRating": 4 and "userRatingCount": 30937).

Sharing data between device in same app iPhone

I am planning on making an app on iPhone.
Users can take a photo inApp or upload photos from their photo library(photo stream). Once this is done, anyone else with the app should be able to see these photos IN THE APP. What is the best way to approach this? Do i require a server or is there another way to save photos. Do I have to use iCloud for this? I am under the impression that iCloud is for a single user and not to share information as a server. Should I change this impression of mine?
Thanks!
You'd need to save the photos to a server somewhere. Whenever the app runs on a given device, it'll need to check with the server to see if there are new photos to display.
Your impression of iCloud is correct -- it's for syncing data between a single user's devices, not for sharing data between many users.

does the apple itunes api allow me to get a song programmatically?

I want to create an application that will let users get new music from the itunes store, and do it through my interface. Is it possible to do that through the exposed API?
You can not instruct iTunes to buy something, buying is only possible via the iTunes interface.
You can, however, create links to iTunes content using iTunes Link Maker, and then open the according iTunes item via -[UIApplication openURL:].
The links you can create via iTunes Link Maker refer to one specific iTunes item only, and can not be constructed on the device, so you would either have to hard-code the links, or (which i would prefer) get the links from a web service, via which you control what is displayed in the app.

How to get iTunes app description?

How do I obtain the iTunes Store app description from within my iPhone app? I need it to make a "help" screen in my app.
I don't know if this is possible, but I know there are special link to make the user go to reviews of apps and so maybe it's also possibile to get the app description?
You should be able to use the iTunes search APIs:
http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html
Or you can load the description from a remote site and store it localy. This way you are able to update the information without updating the whole app. You could load an HTML file, store it to the Documents directory and show it within your app with a UIWebView.

Sharing application link via the same application, iphone

Possible duplicate:
How can i give app store link in my apps before approving another apps
linking to an app on the Itunes store
How to link to apps on the app store
Hi all,
I'm a littile bit confused. I need to provide the download link of my application (the iTunes link) inside my application. ie when the user would like to invite others via mail or some other means, have to provide the application link too with that.Is there any way to provide that before submitting the application to apple. Or i need to use the link as an update after getting my application approved by apple?
To be able to provide an iTunes URL, you should know the unique ID for your app and AFAIK, there's no way to get this ID before getting your app in the store first.
You can try and construct a search URL, but it doesn't always give the desired result. For example, I currently have only one app in the store, but there's another developer who uses the same developer name as me, so a search URL for my app produces two results. If this is your first app, and searching for your developer name produces no results, it could be safe for you to go with a search URL.
Even if you use a search URL, you will want to replace it with a proper iTunes URL in the first update.
Read this article by Bjango for more information on iTunes URLs and quirks of using search URLs: Dissecting iTunes links