2

Is there a way to confirm (programmatically) that the application was purchased from AppStore? Or, maybe, there is a way to get a list of devices IDs from AppStore that purchased my app?

The reason is the willing to determine if the application was legally purchased or not...

I know that there is a way to know that the in-app purchase took place. Maybe I can check for a paid app purchase too?

The solution may be inside the iPhone app or some check in server side.

The application that I develop is about to get a content from the web server. Usually (by browsing my client's site) this content is not free and he wants to be sure that users that get the content by using an iPhone app (that I develop) did pay for the app.

Michael Kessler
  • 14,245
  • 13
  • 50
  • 64
  • Although I don't have an answer for you, I have seen screenshots on a blog that showed a popup message on an app that indicated the developers knew that their app was installed illegally on a jailbroken phone. Although they apparently could not stop launching of the program, the message said something like "do the right thing and buy the app". I'll post again if i find that blog entry. – D.C. Jan 08 '10 at 22:21
  • Even if you were able to get a list from Apple of device IDs that had purchased your app, what would happen when someone got a new iPhone? – Jeff Kelley Jan 08 '10 at 22:22
  • @Jeff I believe that Apple could implement this obvious (for me at least) feature for killing the iPhone app crackers industry. I am sure that they have all the information for that - they only need to open it for the developers. The new device could also be listed there - after all the user will go to the app store once again and download the app to his new device... – Michael Kessler Jan 09 '10 at 02:03
  • Say they're in an area with no network connectivity and they restore their old iPhone backup onto their new iPhone? – Jeff Kelley Jan 09 '10 at 16:05
  • You right - The restore from backup sounds problematic. But the missing network connectivity is not a problem for my question because I suggested a server side check. If the user is able to do something that causes a server side interaction then he is connected to the Internet... I think that Apple are able to solve the restore issue too. They might add the new device to all the applications downloads that the previous device was listed in. It could be done on the first connection to the Internet. – Michael Kessler Jan 11 '10 at 04:01
  • I think apple should provide your application with a purchase receipt that way you can validate server side whether or not your app was purchased legitimately or cracked. – AlBeebe Nov 01 '12 at 08:14

4 Answers4

2

Check out these related questions:

Iphone App store - Verifying paid customer

How to programmatically determine if DRM was removed from iPhone application?

Determining if an iPhone is Jail broken Programmatically

Community
  • 1
  • 1
Ben Gottlieb
  • 85,404
  • 22
  • 176
  • 172
2

My previous Stack Overflow question may help you out: Reducing piracy of iPhone applications

Community
  • 1
  • 1
Alex Reynolds
  • 95,983
  • 54
  • 240
  • 345
0

No, but see this related question for information on how to potentially detect that your app has been tampered with in order to allow it to run as a bootleg.

The in-app-purchase-style verification has struck me as a good way to do this, but Apple doesn't currently support it. It might be worth a bug report.

Community
  • 1
  • 1
Frank Schmitt
  • 25,648
  • 10
  • 58
  • 70
-1

I don't know of anyway of "confirming that the application was purchased from the appStore". I don't think there's any bit that's flipped or "thing" you can check to see.

Sorry.

But if you do learn of such a thing, let me know.

mr-sk
  • 13,174
  • 11
  • 66
  • 101