Accepted answer

for Objective-C the best is Xcode - if you have a Mac. There are some other IDEs out there like KDevelop that offer support for other OSes. The only thing I have seen for Eclipse is objectiveeclipse, but I do not have any experience with it.


tl;dr :

project has closed down though. but it's still there ready to be used.



Here is an article talking about setting up an ojective-c environment in windows, it said only GNUstep MSYS System and the GNUStep Core package are needed:

Recently I found out that Mingw includes the objective-c package of gcc ( - Mingw is a windows port of GCC, the latter includes support of many languages (C, java, fortran)

You can try it, though I haven't do so before. However, be prepared that some libraries might not be supported, especially those that are UI-related.It might be a good idea to look at info about gcc's supprot of objective c to have an idea in what extent does mingw supports objective-c. But for this issue, you might like to look at


I once tried to pull together an open-source, iPod/iPhone development environment, but the process took too long and gave up eventually. I got a Mac instead. From there, the tools were free and I started thinking and coding in Objective-C.

I spotted a book about open-source software development (under Linux). Publisher is good ol' O`Reilly. Might worth having a look.

On a similar thread of thoughts, writing up apps in Objective-C for Linux could bring a greater acceptance of the language and framework. For now, it is reserved indeed for those interested in app development for Mac or iPhone/iPad/iPod devices.

In addition, if the objective-C runtime module is light enough, it might be suitable for game console homebrews too: I wrote an app for Nintendo`s DS console and ended up writing lots of C++ lines of codes. I feel it could have been done with less coding with ObjC, and an encapsulated version of libnds, but, to my knowledge, GNUStep hasn't been ported to the DS Open Source toolchain yet (

Happy Coding!


you can install GNUStep and then program on eclipse (requires to install CDT on eclipse), here is a detailed video clip about how exactly to do that (worked for me)


For thoese who want to develop on a Mac, AppCode from jetBrains is the best I suppose.


Try some online compilers, if u just want to pick up Obj-C's syntax alone:

There should be a lot more online, try to search "online compilers objective-c" w/ ur fav search engine


If you don't have a Mac and want to learn Objective-C on Windows you should have a look at GNUstep ( I think you get packages for Windows and it comes with an IDE. GNUstep contains a lot of the Cocoa classes so it might be relatively easy to get started. When I tried GNUstep on Windows a while back it was quite buggy for me, though.

A text editor you could try is E ( It's a clone of TextMate (a popular editor on the Mac) and you can install bundles for all sorts of things, including Objective-C support. ( You get a free trial, so maybe just give it a shot.

I hope that helps. I have hardly done any Objective-C programming on Windows, but that's what I would look at first, GNUstep and possibly E.


  • I tried for some time to use my MS Windows/Eclipse based environments for developing iPhone/Objective-C apps. I gave up.
  • I tried for some time to build a reasonable hackintosh (up to my abilities... apparently fairly limited on this)... but on 2009 I gave up. (apparently now there are better tutorials/it is easier to do it?)
  • I figured out that if I bought an iMac and use all the previously listed time developing iOS apps, I would be rich. So I bought a Mac.
  • Obviously I am not rich now. But at least a happy Mac user ;-)

One note aside, I noticed that even some Eclipse plugin project (for Objective-C development) I was hoping was going to take-off, was shut down.

Get a Mac. Or enjoy the process of not getting it. After all, it's the journey, not the destination.

-- Jorge


The other answers provide pretty good direct answers. However, my first instinct is to jump to the meta-question: "What is your reason for learning Objective-C?" The reason I'd ask that is because the guidance I'd give depends greatly on your motivations. For example...

  1. You have heard that Objective-C is a powerful language and want to see if using it will make your programs cooler, easier to write, whatever. I'll be frank — unless you're planning to eventually do Mac/iOS development, there's little point in learning Objective-C, other than academic curiosity. I'm a longtime Apple guy, and I love Objective-C, but if you are on another operating system, and plan to stay on it for the foreseeable future, there's little point. Objective-C has some extremely cool features, but the benefits of the language itself are generally not compelling for most people. It becomes very powerful when coupled with the Cocoa frameworks provided by Apple. GNUstep provides a degree of interoperability, but if you're going cross-platform, there are better options.
  2. You're planning to write Mac/iOS software, but don't have a Mac yet. If you're at all serious, I recommend getting a Mac sooner rather than later. While you can learn Objective-C using an IDE on another platform, nearly all Objective-C tutorials and books assume a Mac environment. There will be practically zero support for third-party tools, especially on the forums and lists that are likely to be most helpful to you when learning. (Of course, I recommend at least considering a Mac to anyone, not just people learning Objective-C. You can dual-boot to Windows if needed, so it's a more flexible development investment. Still, I know not everyone can drop cash for a new Mac.)
  3. You're planning to write Mac/iOS software, but want to do it all from a PC. If this were the case, I'd suggest stopping now and re-evaluating priorities, for several reasons.
    • Apple's tools are the best tools for developing Mac/iOS apps, bar none. Not developing on a Mac puts you at a huge disadvantage. Imagine trying to develop .NET software in Eclipse, KDevelop, or emacs. It may be possible, but it's not a smart way to do things.
    • Unless you use a Mac regularly, you'll never understand what a good Mac app feels like, or how to design one. Consequently, you'd be likely to get user complaints over issues that may not make sense to you, and ill-equipped to address them.
    • Third-party support for Objective-C and Cocoa will always lag behind that of Apple, and have a different set of bugs. You won't get the best experience, and neither will users. Coding for two Objective-C implementations is likely to drive you nuts in record time.
    • Most non-Mac people don't care about Objective-C, so language plugins and compilation support are unlikely to be well-developed, let alone exist in the first place. Aside from the code editor, you'd need libraries to compile and link against. Again, Xcode is the gold standard for Objective-C. Besides, project setup and administration in Eclipse is a pain even for Java.

I realize this doesn't directly answer your question, but I hope it provides some insight, whether to the asker or to someone else in the same situation. Cheers!

Related Query

More Query from same tag