How to ensure that the app was purchased from app store? - iphone

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.

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

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

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.

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.

Related

In App Purchase Tab Cannot possible to access

I have developed iphone app with working In App Purchase. Now I want to release new version of the app with new price for in App Purchase. But, Whenever I tapped on iTunesConnect -> Manage Your Applications-> My App -> Manage In App Purchase, I found this ------"java.lang.IllegalStateException: Seventeen".
Can anybody tell me, how to tackle with this issue?
The solution is that there's no solution for that. It is a bug on Apple's side. This iTunesConnect site stinks in all possible ways. I recommend you to fill a feature request asking Apple to provide a software application we can use to manage our apps and in-apps that are already created. Do it at http://bugreport.apple.com. I already did that and the bigger the number of people asking for it, more likely Apple will create that.

How to build an iPhone app, make sure this app only run on a no Jailbreak device?

I am an iPhone developer, I am doing a project. For security reasons, I must make sure my app run on a no jailbreak iPhone. I want to know how to check it use public API.
Thanks very much!
No API exists to perform such a check.
Jailbreaking a device (using any of the various forms of jailbreaking) only needs to touch files which are outside an application's sandbox. Attempting to inspect them therefore carries a risk that your app will be rejected. Even if you can inspect them you have no way to differentiate a change due to jailbreaking from a change due to an OS update.
Finally please be aware that a jailbroken device does not necessarily mean the user has pirated your app. Users of jailbroken devices are free to purchase and install apps via iTunes just like anyone else and are likely to be rightly unhappy if your app refuses to run.
also, Apple removed the API for detecting jailbreaking. Read here on ars
If that would be possible using a public API, there wouldn't be any problem using jailbreaked iPhones, would there. Every app (including the OS) could just use that API...
It's impossible to verify that your app is running only on a non-jailbroken device. Unfortunately there's nothing you can check.
There are a few tricks you can use to determine programmatically if your app has been pirated, but they're far from foolproof; the most you can really do is determine if your app was pirated using the most common automated pirating techniques. Anyone really determined to pirate it can ensure your app doesn't know it's been pirated even if you use the techniques.
I wouldn't invest time in such things cause sooner or later "they" will find a way to run your App on a jailbreaked iOS device.
Instead take this time and develop more unique feature. Feature people are glad to have and even they pirated your App they will pay for it.
Yeah I know this sounds ridiculous but I think quality software will find honest buyers.
I know this answer doesn't answer your question and I want to add that iOS doesn't have a API to check if the device is jailbroken.
I hope I could help.
As the other answers say, there's no full-proof way of blocking piracy on your apps. I have a couple of apps that have been pirated and, truth be told, I was kind of happy to see that. Unless these people hack every single app on the App Store, it made me feel a little proud that someone had decided my apps were worth pirating. Almost a "yup, I've made it" kind of feeling. :)

how to apply DRM for iPhone Applications

Sir i had developed an iphone application and released on cydia, which i seen it to be cracked in with in a day, later i came to know about the DRM , can any one please help me how to intehgrate DRM with my application
Thanks in advance
I agree with BoltClock, its semi-pointless to have app protection in your app, I have several in Cydia. With my largest app, I do have my own implementation of "security". I wont give away my secret, but there's a way you can check against the Cydia Store API to see if your app has been legitimately purchased. Get with Jay Freeman (saurik) on how to obtain the API for this. He has written up a few guides on his backend API for Developers to check if the app has been purchased.
Alternatively, you can provide a "Free" version of your app, or a "Trial" to allow users to try your app, and if they like it, they can buy it.
A time-sensitive feature may be useful too, that is something you can look into.

Iphone: Application feasibility

I am very new to developing apps on the Iphone (In-fact I am new to application development all together). I would like to know what the feasibility for an idea for a app on the iphone is.
1)The application would allow users to download content (audio or if possible video files) onto the device.
2)Each of these files will need to be purchased before downloading, at a fixed price.
3)The user can then play the downloaded files on the device.
Is such an app possible to be made on the Iphone?
If so can anyone give me pointers on how the payment procedure should be, and how revenue will be shared with apple?
From what you described, that sounds very possible.The users would pay you directly through a credit card for the files.
If you are already a registered apple-Developer, have a look at the InAppPurchase(IAP) ProgrammingGuide in the iOS-Devcenter.
The purchase of any content must be handled through IAP.
This is written in the App Store Review Guidelines, Item 11.2 (Because I'm new, I can't provide a link. Sorry for that)
It is not possible that users pay you directly.

iPhone SDK: Store Kit: Can I host the downloads on my own server?

I want to make an app where every single item is unique. I could not find out much information about the Store Kit in iPhone OS 3.0. Do I have to upload all these download-items to the App Store? Or can the download be made from my own server?
Example:
I have 10 items in my app that people can buy. They are highly exclusive, so the one who buys item X, will be the only one who's got that item. after the purchase it's not available anymore.
Do you think it is possible to do that?
I would suggest re-asking this question on the apple developer forums - the 3.0 API is under an NDA and cannot be discussed on a public forum like this.
That said, I would imagine the in-app purchases are held to the same standards as app purchases - each item that you offer for sale must be approved by Apple.
My gut feeling is that the store kit is used to handle the transactions/purchases but you'll have to host your downloads on your own server. OR I suppose another method is to include all files in the app to start with (or in app updates), and that buying stuff merely unlocks that data. I think Burnout Paradise for the 360 does this. That's probably how someone can buy a car to use in game that someone else can see in multiplayer even if they haven't bought it.
I imagine I'll probably create a google app engine site and host my downloads there. That way the game can be more flexible. DLC content wouldn't be dependent on app update approvals.
I'd like to the have the option to host the files in the app store. That would be convenient. :)