views:

100

answers:

2

Is it possible to assign different identifiers to copies of an app downloaded from the app store that is hard coded into the application? Or is their anyway of permanently storing an identifier in the application bundle such that when it is copied, the key remains within the bundle?

EDIT: Ok, how about iTunes reciepts, can they be used to verify when it was downloaded as the user has to register their app with the server within say 5 hours of them downloading it.

thanks in advance

+1  A: 

No, there's no way to do either of these. The closest you could come would be to store device IDs on a central server.

Ben Gottlieb
thanks, just the problem with that if the application is pirated then and downloaded, the device IDs wont tell you anything about whether it was pirated.
+3  A: 

I'm assuming your goal here is to disable part of the functionality of your app by having a master list of bogus serial numbers somewhere. Unfortunately there is no per-copy serial number available, and if there were it would be the first thing the bad guys would change before posting your app for download.

Instead you'll need to detect whether your app bundle has been tampered with from within the app. See this question:

http://stackoverflow.com/questions/846309/reducing-piracy-of-iphone-applications

You'll then need to decide how subtly or obviously you want to limit functionality. Probably the best solution would be to do something innocuous but slightly annoying that generates a specific kind of support request, at which point you can gently prod the deadbeat into considering buying a legit copy.

An approach with more false positives but potentially fewer false negatives would be to check if the app is running on a jailbroken device. The downside there is that jailbreakers may well have legitimately purchased your app, so you're alienating honest customers for little to no extra benefit.

For the app I'm working on, which has a big social/viral aspect (I hope), I've decided that potential deadbeats probably have enough honest friends to pay for the server cycles that they're stealing, and it's just not worth worrying about.

Frank Schmitt
thanks! It is just that I am hoping to have a 'global' competition run by a webservice, and obviously it wouldnt then be fair on those that paid that other cheapskates are in it as well. Have you heard about AntiCrack - im not sure of getting it, some people say its a scam and others say it works to a degree, any thoughts? Thanks again