System Requirements for a Mac to Develop in MonoTouch and XCode - iphone

I want to develop C# and .NET based iPhone applications in MonoTouch. But my goal is to develop iPhone applications so things may end up with Objective-C -so Xcode- too.
Obviously, I have to buy a Mac. I've been lookin' for sales and found a couple of good machines but I still want to make sure that I can use these 2 programs in good performance.
So I want to know that if anyone uses these programs could advice me some system requirements? For example, does the CPU matters? Should I buy an iMac with Intel CPU our is G4-G5 better? And what about the VGA and RAM? Is 1GB or 2GB enough for ram and 256+ for VGA?
Of course better properties mean better performances but what's the minimum for this? We can talk on iMac.

Read this thread from the monotouch mailing-list. It's about laptop initially but it will give you the specs people are using and recommending.

(It's Mac not MAC).
It'll have to be an Intel one for any iOS development. I'm relatively happy still on a mid 2009 MacBook Pro with 4GB of RAM. To develop with the iOS 5 SDK you'll need at least Snow Leopard - so any Mac capable of running that will be a minimum.

Related

What specs does one need for a good iPhone app development environment?

I'm going to buy a new mac to develop iPhone apps (previously been programming them at work on their iMac).
What do you think the minimum and recommended specs are?
Is 2 GB of RAM plenty for XCode, interface builder and the simulator to all run simultaneously? What if I'm also running a browser with 10 tabs and Photoshop with a few smallish images open?
The fact that I haven't found any recommendations elsewhere suggests that I have little to worry about, but as a student this is a large purchase for me. I need to be careful.
Thanks!
Tristan
Xcode will run on any Intel Mac with Snow Leopard, one of our iPhone devs works on a MacBook Air with 2GB of RAM just fine. Any new Mac available right now should have no problem with it.
The iOS Simulator starts up pretty slowly regardless of system specs, I've found.
All of that being said, if you're running Photoshop at the same time, you'll definitely want to bump up the RAM from 2GB, but RAM's cheap right now, so there's no reason not to! You'd want more than 2GB to do proper Photoshop work anyways.
That's a very typical state for my desktop. I'm able to do all that on a Macbook Pro 2009 with 2GB. Of course it would be faster if I had more RAM. You should consider buying an upgrade from OWC, it's cheap.
In my experience 2GB should be considered a minimum, especially if you are considering having Safari and Photoshop open at the same time. I do my development on a 4 year old Macbook which is just about fine with the memory upgrade to 2GB I gave it last year.
I'd say, don't worry about the other specs, but if you can stretch to 4GB Ram you will really notice the difference.
Have fun!
If you can afford it - go with 4GB RAM and SSD disk. There will be lot of XCode compilations, iPhone Simulator launches, test runs, with simultaneously browsing of StackOverflow and Dev forums in your daily routine and SSD drive will do all of this much faster - you will be much more productive and usually your time is the most expensive component in app development.
P.S. Unfortunately SSD still are not kinda reliable enough - see there. Have good fallback plan.
I'm doing a lot of development at home on an MacBook Pro 13" from 2010. For my purposes it feels a bit too slow at times. SSD could make a big difference, though I worry about the reliability.

Which system configuration is best for iPhone application develoment?

I want to develop iPhone application using XCode IDE. Anyone tell me the which system configuration is best for iPhone developing? What all are the requirements to be want for iPhone development?
I've started iPhone development with a MacBook. It's certainly fast enough and has served me well.
But its display with a resolution of 1280 by 800 pixels is no longer big enough to display the iPhone simulator since iPhone 4 with its higher resolution of 640 by 960 pixel was introduced.
I've now connected it to an external display.
As long as it's an Intel Mac running Snow Leopard (10.6.x) you should be fine, although I'd recommend at least 1GB and ideally 2GB of RAM.
That said, you've asked for the "best", which would obviously be the top of the line Mac Pro fully stacked with RAM, a RAID card, etc. and with dual 27" Cinema Displays. However, you'll still have to wait just as long to squirt your app down a USB cable into the device for testing. :-)
You can probably run XCode on any Intel based mac running Snow Leopard.
At least 2GB of RAM is recommended but not a must.
(And don't forget that if you want to upload your app to the appstore or test on a device you need to join Apple developer program which will cost you 100$ a year)

Python and iPhone development on Mac - minimum/recommended hardware?

What is the minimum configuration to do some Python and iPhone development on Mac ?
Platform wise: Mac Mini, Mac Pro, Mac Book, Mac Book Pro ?
Memory requirement
CPU speed
Thanks for your advice.
Laurent
The minimum requirement is an intel mac. Any intel mac will work. iPhone development is unsupported on PPC.
Python can be done on any mac that runs os x.
The minimum requirement, and what's pleasant are different things. Everything you've listed will work pretty great. You might want to bump up the ram a little on what they ship with, but other than that you're good to go.
Any of those platforms are going to be more than adequate for iPhone development, but since Apple is not allowing anything that requires a VM or an interpreted environment, there is no way to do iPhone development using Python at this time.
EDIT: Looks like I misread that as doing Python development on an iPhone, so just ignore the second part of my answer. Any of those platforms are going to be fine for either iPhone or Python development.
Rather ephemeral in our requirements, aren't we. 'Some' python/iPhone....
You will be well served by a mini, starting # $600, they're a steal. Upgrade the processor (2.53ghz), add RAM to 4GB (after purchase, if you're comfortable) throw a generic keyboard, mouse and Monitor on it and you've got a heck of a machine.
Don't bother with a HD upgrade, just get an external USB disk and put all your VM's and extra necessities on it.
Any system that Apple sells is sufficient to do Python and iPhone development on the Mac. I generally consider 2 GB to be the minimum amount of RAM that I would want to use, and 4 GB if I'm going to be doing any significant amount of work in a VM (for instance, VMware Fusion or Parallels for running Windows within Mac OS X). But I think all configurations currently come with at least 2 GB of RAM, so you should be set there, too.
Of course faster machines are always better, so you should get a machine that's fast enough for you, but I have a couple year old Mac Book Pro and find that's fast enough for me.
The biggest help for development is multiple monitors. Having two monitors helps a lot (and three is good, too). I believe that all of Apple's current systems support two monitors.

iPhone dev box?

I would like to try some iPhone development but am not a Mac user. I'm not keen to spend a load of cash on a new mac, so if I were to buy an old Mac on ebay, what system should I look at as a minimum for an acceptable iphone dev machine. Cheaper the better obviously.
Note: Not keen on running mac os on a pc so really looking for an apple hardware option. Is an old mac mini suitable?
Any Mac with an Intel processor will do fine.
You can spend your time searching eBay for an old Intel Mac but in my experience it a false economy (especially if it's more than 3 year old).
One tip for anyone looking for a
secondhand Mac, as I did in the late
90s during the last economic downturn,
buy computers from graphic design
agencies or software houses that have
gone bust.
Good
Mac Mini - It'll do every thing you need (albeit not very fast). You might consider extra memory and if you have a a spare keyboard and monitor (or KVM switch) your away.
Better
New MacBook - released yesterday (2009-06-08) the new MacBooks are reasonably priced and a great option especially if you want (or are replacing) a laptop. Again RAM is a consideration and if you plan on long coding sessions a decent keyboard and monitor are essential.
Best
Dive right in and get a iMac (20" or 24")! I suggest you only do this if you want to replace an older non-Apple box. The calculation you have to make is: How much would I spend on a new PC plus how much would I spend on my development Mac. If the total is even close the price of an iMac it's an option.
You'll have the option of virtualized Windows, (unlimited) Linux installs, Boot Camp if your a Gamer and Mac OS X for your iPhone/Cocoa development.
If money is no problem you can even go for a Mac Pro.
My system is a Mac Pro - I run Windows XP, Vista and 2 x Cent OS's (simultaneously). Also I have Windows 7 Beta and a few Ubuntu's for ad hoc work.
It works great - but wont be for everyone taste. I replaced my Uni set up of: 1 x Mac, 1 x PowerBook, 1 x Wintel box and only using Linux on campus with MacPro and iPhone (I still have the PowerBook, but it's hardly ever used).
Also, if wanting to buy a 'new' mac, you can buy refurbished macs from Applestore which are hundreds less than their newer equivalents. They have full warranty and are pretty much brand new anyway. (Returned for some issue that has since been fixed)
Of course, if you're happy to jailbreak your iphone, you can ssh into it and compile apps directly on the device (the jailbreak can install gcc and make and the rest). I've done this for a couple of experimental projects while trying to learn objective C and all that stuff. Worth trying out if you're not totally sure whether or not you want to go ahead with it.
I use a mac mini, works ok so far.
In addition you need a monitor with dvi, a usb mouse and usb keyboard.
The main drawback is, that i use a regular usb keyboard and the keyboard layout is terrible, e.g. POS1, END, PAGE_UP, PAGE_DOWN are not where they should be.
You can use PearPC, i used it for the same reason as you.
Check it here: PearPC Mac OS X on PC
But i just wanted to experiment something with the iphone SDK, if you want to develop seriously you should consider getting a MAC because a virtual machine is terribly slow.
If you really want a cheap option you could go for a Dell Mini 9. It runs OS X very well and if you upgrade to 2M ram you could probably make it work for you. I picked it up for a bit over $200, have been reasonably happy with it.

iPhone Programming in Mac OS X running not in a Mac Computer

I want to try some "programming for iphone".
For that I need a Mac OS X, no question about it.. But I have a problem I don't have a Mac Computer.
I have a Intel Dual-Core PC, running XP. Snow Leopard its for Intel, but for Intel Mac computers, right?.
If I manage to install Mac OS X Snow Leopard in my Notebook.
Do you think I can still install and do programming for Iphone, as well in a Mac Computer?
There will be any problems in the programming or debugging?
And there is another thing.. I don't have an iphone. That will may be a problem right?
Yes, as long as you got it installed correctly and it worked well with your hardware (drivers working correctly and hardware properly identified). http://osx86.thefreesuite.com/ If you are doing iPhone development, you need to pay special attention to making sure your USB drivers are working well to. This and other driver/hardware issues may give a headache trying to get things to not only work, but work well and properly.
That is not the easiest task though and can be a real pain in the anatomy. A used cheap intel mac is the way to go to get started. (mini, imac). Just make sure it is an intel mac.
If you dont have an iphone, then you would just use the simulator for all your testing. This is not ideal though as you could not test your app properly. You also cannot use all iphone features in the simulator. It can only simulate so much.
For more info on limitations of simulator. http://trailsinthesand.com/iphone-sdk-simulator-limitations/
Here is a discussion on why the mini is a good choice: Will a Mac Mini suffice for an iPhone Development machine?
Discussion on developing with Ipod Touch vs. Iphone for the Iphone: iPod Touch compared to iPhone as development platform for iPhone apps
And a question over at serverfault about os x install on pc: https://serverfault.com/questions/38496/mac-os-x-install-on-pc-hard-drive/38498#38498
This isn't the place, but providing you get OSX running then:
You need stable USB support for your MB
You might need to mix-up OSX and Darwin/Mach to get full hardware support
The iPhone emulator may well include hardware-checking code
It is cheaper to buy a second hand mac-mini
The questions already been answered but I want to add this to the overall topic.
I specifically bought a Mac to develop iPhone applications. What this single task opened up is far beyond what I was expecting. To list a few things:
I'm extremely impressed with the hardware. No hardware vendor competes with Mac's hardware from what I can tell.
The OS is sweet. I can't list all of the details but the virtual desktops alone is wonderful. Check out the Wikipedia page: http://en.wikipedia.org/wiki/Mac_OS_X
I run Windows Vista from VirtualBox and it works great.
Objective-C -- A very nice programming language; I which I could use it more on windows.
All in all, I can literally get rid of all of my non-apple hardware and run Mac OS X and Vista from the Mac hardware and everything would be great.
My point is, the Mac is worth the price.
Buying a $999 Mac may not be such a bad idea...
And please note, running the Mac OS on a non apple computer is technically a license violation. I don't agree it should be, but it technically is.
UPDATE: You said that you want to see how it is done. You don't need a Mac (or the OS) assuming that you don't want to compile and run programs. Visit the iPhone Developer page at apple. You can get some free samples just by doing the basic free registration (don't sign up for the paid one).
From there, you should be able to download a few samples and look though the source code. You won't be able to view Interface Builder files, but this would at least give you some idea of the Objective-C code.
You can further gather more information online by going to websites like:
iPhone Development Blog
iPhone Development
iPhone Development Bits
There's a commercial environment which allows to develop iPhone applications directly from a Windows machine. You might want to give it a look instead of going through the huge and illegal hassle of setting up a hacked version of OS X on your PC.
http://www.dragonfiresdk.com/index.htm
It was released recently and they claim that some applications produced with it have already been approved for release in the App Store.
From http://daringfireball.net/linked/2010/06/15/dragonfire-sdk :
Their pitch: write iPhone apps using C and C++ on Windows, using Visual Studio, using Zimusoft’s SDK and their own iPhone Simulator. Then you upload your project to Zimusoft’s servers, where they take the project and compile it using an actual Mac and Xcode. You can then submit the resulting “real” binary to the App Store yourself, or let Zimusoft publish it to the App Store themselves.
Try Hackint0sh VM-ware torrents, I haven't had any luck so I bought a iMac instead but I hear that this is an option.
For first testings and learning the language and the concepts this should work. Maybe you are even able to install mac os into a vmware or virtualbox virtualmachine don't know which program applies for your operating system. You should be able to run Xcode and the Simulator and learn all the basics.
But if you want to develop serious Iphone apps I think you need an Iphone because getting a feeling for performance, User Interaction with the touch screen and so on can only be tested on the device itself.
And by the way I think this the perfectly right place for this question.
Agreed with most of the above points.
Mac mini's have gotten cheaper as of late especially if you buy a used one. Think of it this way if you buy a mac mini your first goal as an app developer is to release a paid app that will pay for your mac mini. Making money on the app store is NOT rocket science. It just takes a decent product and some common sense.
Another solution instead of getting an iPhone is to get an iPod touch. It will gives you 80% of the iPhone functionality for development testing and you won't have to sign up for the monthly plan.
FYI if you want to build for Blackberry up until recently it was hard to do without Windows so its not as if Apple is the only one that forces you into certain hardware/software combos to build for their platform. If you want to build for Windows you need to run Windows.