[SOLVED] Programming for iOS, what OS X is required?

Status
Not open for further replies.

heyyouman12

Reputable
Feb 11, 2015
10
0
4,510
Hey so I've never owned a Mac so I don't know a ton about them but,

I'm learning Objective-C for iOS because I want to upload apps to the market as well as find a job with a future employer.

Now my question is,


  • What OS X is required to upload apps to the store?
    >> Do you need the new OS X, Yosemite? Or can you use 10.5, .6, .7, .8, .9, etc?

    What Mac would you recommend? Mac mini or an iMac?
    >> I will literally just be programming on this Mac, I have my PC to game and such

____________________________________________________________________________
I looked online and the cheapest *new Mac mini I could find was $420 (for the lowest model)
I also found a *mid 2010 Mac mini for $288 (2GHz c2d, Nvidia)
Then I also found *early 2008 iMacs for $340 or so
All of these ^^ can use the new OS X

& then I found a lot of cheaper (bellow $250) Mac minis, iMacs, Mac Pros, but they are all unable to download the new OS X
-------------------------------------------------------------------------------------------------------------------------



What should I do lol? Get the cheaper but can't get the new OS X, spend a little more for a Mac that can use the new OS X, or just get a new Mac?

  • I am not going to spend more that $500 (& I don't really even want to go near $500 lol but if I have to then I will)

I'm not a fan of apple very much when it comes to their INCREDIBLY overpriced products,
so I'm looking to get the cheapest Mac that will allow me to program with xcode and upload that app to the store for as long as possible.

Please help me out!
Thanks!
 
Solution
Assuming that you already have a monitor, I would go for the newest one - the Mac Mini. It already has twice the RAM of the others and it's very easy to upgrade using RAM from Crucial or Kingston. 1GB is probably not enough RAM for development.

Don't forget that you will also need a keyboard and mouse (unless it comes with them). Unfortunately, because the layout is different, a normal PC keyboard is not really suitable.

I wouldn't want to argue you out of iOS. If people in the know say it is commercially a better choice than Android then I won't argue. You can even learn both.
The ability to upload apps is not entirely dependent on the OS X version but may affect which version of Xcode you can use.
"What are the requirements for developing with the iOS SDK and Xcode?
To develop with the iOS SDK and Xcode, you must have an Intel-based Mac running Mac OS X Snow Leopard or later and you must be registered as an Apple Developer."
Source: https://developer.apple.com/support/ios/ios-dev-center.php

Check out the links below:
iOS Dev Center - download Xcode 6.
iOS Developer Program - there is a $99 a year membership fee.
 

McHenryB

Admirable
To support the latest version of iOS you will need the latest version of OS X and XCode. A Mac Mini would make a fine development machine; as I believe the RAM isn't upgradable in the latest Minis you need to buy as much as you can afford now - and that means paying Apple's prices for RAM as opposed to a sensible price. Alternatively, buy the used 2010 Mini; it's a better bet than the new ones as it can be upgraded with third-party products. Forget Mac Minis that can't run Mavericks or Yosemite; they are either PPC ones or very early Intel ones and are totally unsuitable for iOS development.

That $99 a year to upload anything to the App Store is a killer; it's likely to be quite a few years before you see any return on your outlay. Does it have to be iOS? Why not go for the more popular Android? Development is a whole lot easier as you probably already have a suitable machine and you don't have to pay Apple's fees.
 

heyyouman12

Reputable
Feb 11, 2015
10
0
4,510
Ok. What kind of specs should be the Mac I buy have? I'm only programming and using Xcode and such so I would imagine that I could get away with getting a low end mac?

Maybe an iMac from 2006 because they're super cheap?

http://www.gainsaver.com/Catalog/Detail.aspx?&CCode=1015%5eApple&CCode=1024%5eiMacs&Sort=1&cICode=104285


or maybe a 2007 Mac mini?

http://www.gainsaver.com/Catalog/Detail.aspx?&CCode=1015%5eApple&CCode=1228%5eMac+Mini&Sort=1&cICode=121564

What the minimum requirements for running Xcode & everything smoothly?
What is recommended for running Xcode & everything smoothly?

& lastly,
In your opinion, should I spend more on a Mac so I can get future updates for OS X & Xcode
or are the updates not so important & I should just save the extra $200?
What are the benifits for your app and app development from using modern updated Xcode vs Xcode 4 or 5, etc.?

Sorry, I'm just trying to weigh all the differences between the new OS X, money, Xcode, future planning, etc.
Is using the new (& future versions) of Xcode worth spending $200+ extra dollars on a Mac?

Sorry kind of all over the place but,
Thanks you :)
 

McHenryB

Admirable
With an older version of OS X you will only be able to run an older version of XCode. Too old and it won't support iOS development at all. Newer and you may be able to develop for iOS 4, but not later versions. And so on. To program for the latest version of iOS you need to be running the latest version of OS X. (It's possible that Mavericks supports the newest iOS, but earlier versions of OS X certainly won't.) I wouldn't buy anything more than 5 years old, preferably even a little newer. But not too new or you come up against limited upgrade potential.

So, yes, the newest version of XCode is almost essential. The benefit is that it will allow you to program for the newest version of iOS 8, and future versions.
 

heyyouman12

Reputable
Feb 11, 2015
10
0
4,510
(Sorry posted that before I saw you replied McHenryB)

Alright, so stick with the ones that can handle a the new OS ok.
I found a 2010 mini for $290 so I might jump on that then.

Yeah I know a bit of Java and all but I've been talking with a few people that I know that have ins with various different companies (and then I know some that just make money off their apps) & they have all pretty much told me that iOS apps make more money, are more impressive to have in your portfolio for a future employer, easy to develop in the sense that their are just 200 screens or w.e. as opposed to the 1000 that android have, etc. I am also kind of preferring Objective-C to Java

I am in NO WAY a fan boy of Apple though lol

So if you'd like to take the time to maybe play devils advocate for Android/Java,

I would absolutely LOVE to know what you think, your opinions, experiences, etc. because I haven't set my mind on what language I want to learn yet. I mean obviously I'm heavily leaning towards Objective-C for iOS but I'm still not 100% sold




((Thanks for the quick replies btw!))
 

heyyouman12

Reputable
Feb 11, 2015
10
0
4,510
Alright I'm going to get a new/ish Mac

So I'm deciding between which model to get and I have a good idea of which one I want but I would like to get a few more opinions on which one to get.

____________________________________________________________
I'm deciding between:

_____________
|iMac (mid 2007)|
--------------------

Able to upgrade to new OS X
20'' LCD
C2D 2.0GHz
< N/A >
250 GB HD
DVDRW WiFi
1GB DDR SDRAM
<N/A >
#MA876LL/A________________$249.99


_____________
|iMac (mid 2007)|
--------------------

Able to upgrade to new OS X
20'' LCD
C2D 2.4GHz
800MHz Bus
320 GB HD
DVDRW WiFi
1GB DDR2 SDRAM
ATI Radeon HD 2600 Pro
#MA877LL/A________________$284.99


________________
|Mac Mini (mid 2010)|
-------------------------

Able to upgrade to new OS X
< N/A >
C2D 2.4GHz
1066MHz Bus
320 GB HD
DVDRW WiFi
2 GB DDR3 SDRAM
Nvidia GeForce 320M graphics w/ 256MB
#MC270LL/A________________$288.99

____________________________________________________________

Just let me know what you guys think! Thanks!
 

McHenryB

Admirable
Assuming that you already have a monitor, I would go for the newest one - the Mac Mini. It already has twice the RAM of the others and it's very easy to upgrade using RAM from Crucial or Kingston. 1GB is probably not enough RAM for development.

Don't forget that you will also need a keyboard and mouse (unless it comes with them). Unfortunately, because the layout is different, a normal PC keyboard is not really suitable.

I wouldn't want to argue you out of iOS. If people in the know say it is commercially a better choice than Android then I won't argue. You can even learn both.
 
Solution

heyyouman12

Reputable
Feb 11, 2015
10
0
4,510
True; that's what I was thinking. Learn Objective-C for a while then take on Java once I feel comfortable with Objective-C.
Alright well thank you very much!

I'm going to get the Mac mini forsure; I'll have to find a Monitor (I have my current but another would be nice) & Keyboard but I think your right. It'll be better, more future proof, etc.


So thank you!
Oh wait btw..

Is it possible to use a broken/old cheap crappy iMac as JUST a monitor?
*Broken meaning the computer side doesn't work but the display and port does

(If I'm going to go apple, I might as well have the whole little set up lol +they have good displays ~ )
 

MyDocuments

Reputable
Jun 21, 2014
39
0
4,530
I was lurking on the side here anxious to see the thread unfold as I too have had ideas about dipping a toe in Apple's development waters (at first for fun but maybe later, who knows) and was unsure of what is really required for HW & SW.

Personally I was really siding for a Mac-Mini since a few years now (for reusing my monitor and KB, desk-space is at a premium) but now that it's lacking in upgradeability I did wonder if that machine will fall foul to premature ageing (brought about by OS-bloat), or could it be that we've now hit a bit of a pause in what OSes can do with the hardware and that 64bit CPUs with 8GB RAM is now going to last for the next 6 years or more?

Why 8GB RAM? From the MS-Windows world, 4GB is usually good enough for secretarial tasks (MS-Office, email, web-browsing and some small development projects, heck, even 2GB for light tasks) but, from experience, larger-development projects with big code-bases require a little bit more space to play in when compilations are run and where multithreading-compiliers are used to speed up recompilations of large parts of the code base. I'm not sure if XCode also requires such memory useage so it would be interesting to find out, but maybe I'm being overly paranoid.

Why Apple? I too have read that most Apple iOS developers see a better return than Android developers who "apparently" are mostly expected to give away apps. Maybe it derives from the Apple-Android hardware-price differentials and their expectations of richer clients in the Apple arena? I don't know and it would be interesting to see if this changes in time.

Thanks for kicking off the thread and it's an interesting read for the current cost of entry and yearly subscriptions to the Apple development system.
 

MyDocuments

Reputable
Jun 21, 2014
39
0
4,530
PS I hear that XCode is not the only entry into Apple-development and Objective-C not the only language to learn. I hear that Xamarin Studio allows you to develop for both iOS and Android, likely with the added benefit of sharing some common code base for cross-platform development and programming in C# - if that's useful to you.

It sounds good, however, I'm not sure how this ties in with the testing of iOS apps (simulations) and the Apple-App-Store (uploading and distribution). Also I hear that the cost of ownership of Xamarin is neary the entry fee of the the yearly Apple-Developer subcription so... meh, it could only be of interest to corporations or others with deep pockets.

Additionally I believe that in earlier times Apple policy may have blocked apps that were not purely written in Objective-C via Xcode and that these apps were cross-compiled from other languages... I'm not entirely sure of the details and whether they will do that again in the future???!
 

McHenryB

Admirable
I don't know how you would use an old iMac as a monitor. How would you get the video signal in? Perhaps someone better than I at practical electronics could manage it.

@MyDocuments - I'm also concerned by the increasing lack of upgrade ability in the newest Macs. I see it as a way of being able to obsolete equipment more quickly, which is hardly a good thing. Very soon the only upgradable Macs will be the excessively priced Pro.

As to the economic choice between iOS and Android, I just don't know. I wouldn't personally invest too much time in either as I think it is very difficult to make a good return from selling apps for phones and tablets. Sure if you hit the big time with something like Angry Birds, but otherwise - I just don't know. I think the best way to leverage any skills in this field is to find an employer who is willing to pay for them. I'm not in touch with the market enough to know which skills are most marketable. I only lean towards Android because it is much cheaper to learn and because there is a huge, diverse market for Android apps. I wouldn't be happy to tie myself down to a single supplier who may today be the biggest thing the world has ever seen, but tomorrow? Who knows.

If I were starting out in iOS development today I would go for Swift rather than Objective C. It is Apple's preferred language for the future and is rather easier to learn (and rather more elegant) than Objective C. It is certainly possible to program iOS with third-party suites, using different languages, but I believe you still have to pay Apple's $99 p/a tax to be able to upload them to the Apple Store; and that's really the only public marketplace for iOS.
 
Status
Not open for further replies.