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.
Related
I am in the finishing stages of my first app! And i encountered a problem that a few months ago i didn't foresee. I used my friend's app developer account to get started with xcode and never signed up for my own, but i dont want his account to be tangled with all the application updates and what not. So basically, my question is: Is there any easy way to transfer the application from one apple developer account to another? Thanks in advance for any advice/answers.
The official answer is No. From the iTunes Connect FAQ:
Apple currently don't offer any way to transfer individual applications from one developer account to another.
No, there isn't. The only way is to submit your app using a different bundle identifier because iTunes won't let you use the bundle identifier of an existing app.
The app has a different bundle identifier and the old app is not enable for push notifications. We want to update the old app with one screen and a button that sends the users to the app store to download the new app. Will Apple even approve that? Any ideas on a better way to do it?
If it has a different bundle id it's probably possible. I've seen many apps doing this. For example free apps! They seduce the users with new features to buy the full app. So it wont be a problem to connect both apps via link to itunes. If you use Push N be sure to set up all correctly. My idea is to set the old one to a free app and connect them. And why dont you make the budles the same? Like a normal update?
We had to do something similar when an App we developed needed to change from our account to our customer's account (to comply with their internal brand standards). We updated the old app to say "We've Moved." and had a link to the itms: for the new version. We did let the user dismiss the notice and keep using the old version, though.
I'm sure they'll approve it if you let the user put off upgrading. Maybe not if you force them to upgrade as you suggested in your question.
My apps are currently in the App Store.
Later I will remove this app from the AppStore and submit a new app.
So, the old app in-app purcharse user information must be moved to the new app.
What is the best way? Is there a safe way?
How to write the best code? Is there sample code?
There is no official, supported way of doing this. That is, your new app will never be able to "restore purchases" as you can with the old one.
I suppose you could have a button (or URL scheme) in your old app that sent data to the new one (using a URL scheme). Of course that could be faked unless you're careful.
You also want to be careful about what data you transfer. Apple may reject if you're circumventing an IAP in the new app, for example.
This link shows a video where an app upgrade is "forced" from within the app itself:
http://buzzworks.de/blog/update-ios-beta-apps-from-within-the-app
The App Store is not called in and it's said to work only for AdHoc
apps.
Anyone knows how is this possible?
edit: please give a look to the video before answering. AdHoc apps are signed by the developer and they do not come from the App Store. This sort of forced update is useful when doing beta testing and in enterprise applications.
I've found that it's all explained here:
http://developer.apple.com/iphone/library/featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
The developer should create an .ipa with the app and a manifest in plist format with the URL to the .ipa and a few other things.
The app can optionally implement its own way to find if an update is available and open
the URL to the manifest.
I didn't it's really possible because the app has to somehow sign itself. The best I can think of right now is that the app is not signed?
You can always force people to go to the app store when a new version is out. Simply make the app connect to a webservice first. Other solutions are not accepted by Apple, or will quite simply not work because of other issues (signing is one of many).
You could also design your app in such a way that forced updates are never a requirement. You can load your user interfaces from the web (Apple has presented some valuable information about that during the previous WWDC), your data can come from the web, and if there is any other correction to do just ensure your app is backwards compatible.
That's how the app store works. And it never requires a 'forced update' ... Well, almost never ;-)
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.