Managing xcode project paid vs free?

Discussion in 'iPhone/iPad Programming' started by mrl72, Feb 1, 2011.

  1. macrumors regular

    Joined:
    Apr 20, 2008
    #1
    I'm just about done with the development of my app and now want to start looking at incorporating ads into what will become my free version. What is the best way to manage the projects in xcode? Do you create another project that has the various changes for the free version, or do you build this into the normal project and take care of it at run-time? Obviously I don't want to have to manage two seperate projects with only small changes in code between them. Interested to know how others do it.

    Thanks!
     
  2. macrumors regular

    nickculbertson

    Joined:
    Nov 19, 2010
    Location:
    Nashville, TN
    #2
    I like to start a new project for the free version. It makes it easier to keep track of updates. You could zip the project folder, then unzip it to duplicate the file, and then edit that new project the way you want it.

    Nick
     
  3. ulbador, Feb 1, 2011
    Last edited: Feb 1, 2011

    macrumors 68000

    ulbador

    Joined:
    Feb 11, 2010
    #3
  4. dejo, Feb 1, 2011
    Last edited: Feb 14, 2011

    Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #4
    That's what we did for CraigsHarvest Lite vs. CraigsHarvest. The trick was making sure that all files and such were associated with each target (as needed).
     
  5. thread starter macrumors regular

    Joined:
    Apr 20, 2008
    #5
    Thanks all. So lets say I have a method that displays stuff on the screen and then in my free version it puts an ad at the bottom but in the paid version it doesn't, even though xcode is going to build two seperate targets do I just have some kind of condition in my shared method ie. if target is free version then show ads etc.?
     
  6. Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #6
    Read the blog ulbador linked to. It explains how to use "Other C Flags" and #ifdefs to allow version-specific code.
     
  7. Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #7
    I'm just curious. Why two apps instead of removing ads or adding features via in-app purchases.

    B
     
  8. macrumors 6502

    Joined:
    Oct 31, 2007
    Location:
    San José
    #8
    It sounds like Apple iAds are only live in about five countries. Releasing a free version of the application in a country that isn't displaying ads might not fit into the scheme of things; a paid application might be released only in countries that don't support ads.

    I agree that removing the ads with in-app purchase is a good call for the countries that are displaying ads.
     
  9. Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #9
    Just FYI: iAds are not the only ad service one can use. :)
     
  10. Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #10
    dejo, you have CraigsHarvest and CraigsHarvest Lite. What are the differences between the two apps and why did you choose two apps instead of unlocking the features via in-app purchase.

    Just curious.

    B
     
  11. thread starter macrumors regular

    Joined:
    Apr 20, 2008
    #11
    I looked at in app-purchases and thought it a little too drawn out for what I wanted to do (lots of set up and planning by the looks of it). I mean, if I can determine at run-time what target I am (free or paid) I'll just display an ad versus not. Or if I want to disable some features that's easy to do with one line of code ie if (free) then feature.hidden etc. And it looks fairly simple to do via the info ulbador provided (thanks).

    Is Admob supported in all countries?
     
  12. Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #12
    These are compilation targets, so the compiler will make the app one way for free and another way for paid.

    Someone had posted a simple tutorial along those lines for disabling ads via in-app purchase and it did basically boil down to

    Code:
    if not purchased display ad
    B
     
  13. dejo, Feb 2, 2011
    Last edited: Feb 2, 2011

    Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #13
    When we began working on the implementation of the lite version, in-app purchasing was not yet available, or even rumored. This was way back in the 2.x days. So, we decided to simply distribute a separate version, with limited features, including only being able to search one or two locations, one or two subcategories, and bookmarking only up to five favorite postings. Also, at that time, the market for craigslist apps was such that most were priced higher than 99¢, so a lite version did not necessarily have to be free.

    Had in-app purchasing been available back then, we would've been faced with a dilemma, since a full-blown CraigsHarvest had already been released: do we distribute a single version, with limited features, and use in-app purchase to unlock the full potential? We figured such a move would probably irk current customers, who had paid full price, and would not be happy with having to make another purchase to unlock what they already had. And we could find no way to "gift" them that upgrade. I think nowadays we have more options for how to handle this (and some better foresight probably would've helped too).

    My other popular app, a.k.a., started as a free app, so when in-app purchasing came along, it was much easier to implement an ad-free upgrade purchase option.

    Hope that helps, B.
     
  14. macrumors 68000

    ulbador

    Joined:
    Feb 11, 2010
    #14
    There is also a marketing question to be asked when trying to determine between these two methods.

    In one scenario, many users will download the free version, check it out and then decide whether or not to buy it. This means there will be many downloaders, but (potentially) few buyers. It also largely eliminates a key profit center, impulse buyers.

    On the other hand, with a prepaid app, you will have fewer downloads overall. At the same time, many of these people will be impulse buyers, or those who saw your app and went "Ooo, that looks cool", only to be disappointed later. With the in-app model, this group is eliminated because they can largely see the functionality of the app beforehand.

    Which one of these will be more successful is basically hard to tell. Sure, in the in-app model you get a ton of eyeballs on your product. At the same time those same eyeballs will be identifying and announcing any potential flaws. On the other hand, when the user prepurchases, they are unable to see the potential program or flaws with your interface beforehand, so once they have purchased and are invested in it, they are more likely to "give it the old college try" before immediately discounting and potentially badmouthing it.
     
  15. thread starter macrumors regular

    Joined:
    Apr 20, 2008
    #15
    Some good points. It's amazing to think that such thought by a user goes into whether or not to pony up 99cents for an app that took months to code :)

    I think it goes without saying you need a free version and paid version in order to gain some traction as well as make some money, especially in a landscape that is ripe with competition. And as for "version 1", is it even worth considering only releasing a free version in order to get your app into the hands of many so you can iron out any issues? And then build more features into 1.1 which are un-lockable via an in-app purchase? So in other words release a single app with ads, then in 1.1 add the ability to remove the adds for a fee. Do you think that will alienate the users? I guess the risk is that some might be turned away from the get go if they see the ads without the ability to turn them off.
     
  16. Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #16
    Yeah, I'm sure that another factor is that should your app become popular you might only appear on "Free App" lists and not "Paid Apps" even though many of your users are actually paying customers. (Like evernote).

    I find most iPhone ads quite unobtrusive, and click through fairly often as a way of supporting folks who release free apps I use via this model. Unless it is an app that I really use often, I am unlikely to pay to disable ads.

    B
     
  17. mrl72, Feb 14, 2011
    Last edited: Feb 14, 2011

    thread starter macrumors regular

    Joined:
    Apr 20, 2008
    #17
    I finally got around to implementing the solution here: http://www.codza.com/free-iphone-app...-xcode-project but something weird is going on. When I run the free version on the simulator it starts and then executes the other target instead.

    Any idea why it would be doing this?

    Cheers.

    Edit: Some extra info: If I look in the iPhone Simulator folder the new target is writing everything to the other target's folder even though it at first creates a separate folder in Applications folder.
     

Share This Page