-1

my question is simple i think. I am creating a really simple app which doesnt use any of the fancy new things from ios 5. Yet programming ios 5 app seems a bit easier since memory management can be set to automatic. There is no problem for me getting the SDK, i have both and both simulators. Its merely a question of future advancement of my programming and the app. If i recall correctly, i read somewhere that almost 40% of iphones run ios5 and most of ipads run on ios 5 too. So i shouldnt be loosing much potentional customers / downloaders due to it, should i? Anyway the automatic memory management feels wrong. Like something i shouldnt use.. What is not right to do..

My question is, should i develop for ios 4 or ios 5? I welcome everyones personal opinion.

Glademist
  • 57
  • 5
  • 1
    Depends on your target market. You ***have*** studied your potential customers to determine their financial status, likelihood to use the latest hardware, etc, right? – Hot Licks Apr 01 '12 at 14:30
  • 1
    Re ARC, I agree that it "doesn't feel right". But for about 80-90% of applications it's simpler and likely less prone to bugs. You have to assess whether you're going to be in that other 10-20%. – Hot Licks Apr 01 '12 at 14:31
  • The other thing to consider is the lifetime of your app, and how soon you can get it out. A short-lived app ("topical") should aim for the broadest base, while an app that will take a year to develop should anticipate the environment a year from now. – Hot Licks Apr 01 '12 at 14:38
  • Also, automatic reference counting works back to iOS 4.0, so that's not a real reason for only targeting iOS 5.0. – Brad Larson Apr 01 '12 at 16:14

3 Answers3

1

You can still use the Automatic Reference Counting in iOS4, so I would still code to that. (In fact it is the lowest OS I will now code for), particularly as your app doesn't require any iOS 5 features, there is no real reason to not code for iOS 4.

Please bear in mind that Automatic Reference Counting is not "Automatic" in that it manages the memory for you, it just saves you writing some code yourself. I'd still learn how to manually alloc and release objects, just so you can get a good understanding of how ARC works, before you use it yourself. It isn't like Garbage Collection, and shouldn't be treated as such.

Amit Shah
  • 4,176
  • 2
  • 22
  • 26
0

I think as most of the users do upgrade the iOS version to 5.0 as this is major iOS version and has many of the new features.

So basically I would recommend that you use iOS 5 for development and still can make the application compatible to iOS 4 users.

Also it is always better to work on the latest version of iOS in development phase, just to make sure you don't leave many changes in update phase.

As we know Automatic Reference Counting (ARC) which is a very nice feature in iOS 5 which does almost all garbage collection work in objective-C code.

But still ARC apps do run perfectly fine in iOS 4 as well.

ARC is supported in iOS 4 as well. So I don't think that should be an issue as far as developing an app is iOS 5 with backward compatibility to version iOS 4 is concerned.

Example : Also, in case where suppose you have a feature like Twitter which is in-built and easy to integrate in iOS 5, you can still check the device iOS version conditionally and still make it work in iOS 4 like:

if([[[UIDevice currentDevice] systemVersion] floatValue]>=5.0f)
{
    // Integrate Twitter using in-built Twitter classes in iOS 5.
}
else if([[[UIDevice currentDevice] systemVersion] floatValue]<5.0f && [[[UIDevice currentDevice] systemVersion] floatValue]>4.0f)
{
    // Integrate the Twitter SDK as we did in iOS 4.0 and make it work.
} 

Let me know if you need more help.

Hope this helps.

Community
  • 1
  • 1
Parth Bhatt
  • 19,381
  • 28
  • 133
  • 216
0

Well if you think that your app is simple app or complex app does not matter (I do not know what kind of app you are going to develop). The app should always be bug free and avoid crashes.

From the point of developer view, ARC is always been great feature for developer (especially for newbie iOS developer) to overhead from memory management.

From the market point of view, most of the iPhone/iPad user would like to upgrade their iOS version. Within 5 days of launch, iOS 5 was in use by 33% of devices. iOS 5 penetration is about 60%.

From my point of view, developing the app in iOS4 is more expensive in terms of more testing, memory leak, development time and etc. and some of the features and deprecated method can not be used in your latest iOS5 application.

Well the apple users always want to see the best performance, advanced features which has been introduced in iOS5. and if your application fails to deliver the latest and greatest, you’ll get bad reviews.

If you have a competitor who produces a more highly-featured application, expect a large portion of your customer base to pass over your app in favor of the competing one with iCloud support and Notification Center integration, Twitter integration, and other iOS 5-only capabilities. and iOS4 is bad for business.

Praveen-K
  • 3,401
  • 1
  • 23
  • 31