App Deployment Question: Lite Vs Paid
I am developing a messaging app. It uses an SQLite database to store the user's registration. It also uses push notifications. Right now I am using a development push notification certificate.
My client now wants a "Lite" version to be built, and I am not sure how to go about it. I have read several articles on Stack Overflow and elsewhere. I am confused by all the versions I have read online.
Can anybody suggest to me what to do, specific to my situation? I don't want to lose the registration data in the database while updating from Lite to Paid version.
One more question: when someone downloads a 开发者_如何学Cpaid version of an app, will it install as a different app or will it overwrite the existing Lite version? I am guessing it depends whether you are using a separate app ID or the same one, but I am not sure.
Please help. Thanks.
To your first question, what I do is just create a second target in my Xcode project. One for the Lite version and one for the paid version. Then I create a preprocessor macro for the Lite version in the Xcode build settings for the Lite target. Usually I just do LITE=1
. Then in the code when I want to do something different for the Lite version, you can just do
#ifdef LITE
//lite version
#else
//paid version
#endif
And for your second question, the paid version will not overwrite the Lite version. It will be installed as a different app.
EDIT: You should consider having just one free version and providing the "paid" features via an In-App purchase. This would allow the user's preferences to migrate over from the Lite to paid version since it would actually be the same app.
精彩评论