Developing for Iphone without XCode [duplicate] - objective-c

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
How can I develop for iPhone using a Windows development machine?
iOS development on Windows
I began to study objective-c and cocoa with a friend but there's a problem. I have a mac and i can write code and stuff on XCode, but my friend can't, because he have not a mac. Is there a way to download the iphone sdk and use objective C and Cocoa on a windows supported IDE? So he could write, test and send his code to me so i can try it on XCode.
Thanks for your answer.

You're not going to find an IDE for Windows that supports iOS development using Objective-C and Cocoa Touch. Your best bet would be to run Lion using a VM (virtual machine). However, this is illegal to the best of my knowledge. Yes, since Lion there have been some changes to the EULA (End-user license agreement), but these only allow Lion to be run on VMs if the host machine is already running Lion. That's right: you can run Lion using a VM if you're already using it. Not very helpful. Some people would whip out the old "who's going to catch you?" stuff, but that's not exactly sound legal advice.
Your friend has a few (legal) options. They can buy the cheapest device capable of running Lion and the latest version of Xcode. Alternatively, or in the meantime, if you're only doing basic stuff, you could have them write out their code into any text editor which supports Objective-C syntax highlighting, such as NotePad++. Then, they can send the files to you and you can add them to a project in Xcode. Of course, this means you'd probably have to do most of the nontrivial debugging and all of the compiling, etc, and that might be harder on beginners who are more prone to make mistakes. There's really not much you can do. You could look into GNUStep but that's closer to Cocoa and not Cocoa Touch (you said Cocoa, but since you want to make iPhone apps you obviously mean Cocoa Touch, which is different).

This could be a bad answer, but you and your friend can share a sigle mac/or mac mini whatever you have, with TeamViewer. When you are not working allow him to access your mac through teamviewer.

Related

Why isn't there Xcode for Windows?

Why can't Xcode be hacked to be able to run on Windows?
Does Xcode have another programming methods?
Also, I heard that iPhone apps are made with Objective-C, so why is this not available in Windows?
Thanks
Xcode is written in Objective-C and takes advantage of a number of OS X frameworks, so porting it to Windows would require porting all the frameworks on which Xcode relies. Furthermore, Xcode also uses a number of programming tools that would have to be ported to Windows as well (some of them already are, of course).
There are several reasons that Objective-C isn't readily available on Windows:
Most development of Objective-C frameworks takes place on OS X, and a lot of the frameworks aren't open-source and thus can't be ported to Windows (they'd have to be rewritten).
There are some open-source frameworks that could be used on Windows -- for example, OS X's AppKit and Foundation frameworks are (mostly) available as part of the GNUstep project -- but these frameworks aren't widely used or supported on Windows, and sometimes lack capabilities found in their OS X counterparts.
That said, GCC is available on Windows, and since GCC is an Objective-C compiler, you could compile Objective-C code on Windows if you had the right libraries available (or didn't use any third-party libraries). But Objective-C isn't terribly useful without supporting frameworks, and those are rare or nonexistent on Windows.
Same can be said why isn't there Visual Studio 2008 for OSX.
Xcode is a big application written to set of APIs not present on Windows. Porting it would be an enormous job, maintaining it would be a big job, and there are already popular IDEs on the Windows platform.
The same reason you can't install Mac OS X on your PC: Apple chooses to make it available only to people who own their own brand of computers.
I guess that porting XCode would be close to very hard (if not impossible) but even if you were able to have a running XCode version under Windows, I guess that it won’t do what you really want it to do. I assume you want a complete iPhone SDK environment which is reliant on XCode and Interface Builder in a very tight way. That’d require the port of Cocoa Frameworks (among other things) that would be, now for real, impossible to port.
Truth is, as much as you will surely need Windows for Windows Phone development, you need a Macintosh computer for iPhone development.
On the other hand, Xcode as an IDE, is not the best in the world, so even if you managed to get Xcode and make it use, .NET (for example), I’d much rather use visual studio for that.
Actually you can install Mac OS X on any Intel CPU based machine. It is legal as you own the orginal install DVD for the OS X system. After aquiring a copy of Virtualbox or VMWare (either is great, personally I prefer Virtualbox because the display settings are more customizable). Virtualbox allows setup on initial setup while VMWare requires an extra step to ensure compatibility. You can then find the steps online to setup a virtual copy of MacOS X.
After going through the steps to install the OS in the Virtual Machine, you can then go through the process to find XCode in the Apple App Store. From there, have at it. Start programming in XCode and have a good time. Since XCode has its own device emulator you have a built in platform for iOS testing. There may be times where it is a bit buggy but that is to be expected with ANY emulator for ANY system you run.
After you get everything installed and going, sit back and enjoy the programming ride. The only catch is if you want to post anything on the Apple App store and then you will have to deal with getting an Apple Dev License. Objective C can be a bit difficult at times but, at the same time, it can be very satisfying when you solve those programming problems (as with any programming language right ;-) )
Enjoy
PS... this VM install keeps up with all updates from the Apple App Store so keeping the system updated won't be a problem.
PSS... I will not condone anyone for where their source of software is but do keep in mind, setting up a VM with VMWare or Virtualbox and an install DVD is only legal IF you personally OWN the install DVD you created the install image from yourself!

Objective-C and Windows

I am currently in a class that is developing applications in Objective-C and Cocoa. I was wondering if there was any way to build and compile Objective-C applications on Windows Vista. During class, we are able to use the Mac machines provided to us, but I was hoping to do some work outside of class, and I only have a Windows Vista machine available to me. I have installed GNUStep. I am looking for a GUI or an IDE that I could use. I have Eclipse, and I tried to install ObjectivEClipse, but that is only for a Mac machine too. Any other suggestions? Thanks.
The compiler is no problem, since gcc includes an Objectve-C frontend. You could simply install Cygwin and use it. the issue is about libraries.
The Cocoa system is very Apple proprietary; but it's a descendant from NeXTStep. For a while (when NeXT was even deeper in debts than Apple) it was named OpenStep, and available as a shell around the NT kernel. Around that time, the GNUStep project was started, and it seems it's still there.
Note, however, that any xxStep libraries gives only a NeXT-like GUI, very different from modern macs. Also, a lot of the newer capabilities are not only new GUI; but new APIs too and these won't be found there.
in short... it's easier to go with a mac.
GNUstep itself offers ProjectCenter, which is a take-off of Project Builder, the NeXTstep IDE that Xcode is derived from. It also maintains the Interface Builder knockoff GORM.
Also, you'll want to bear in mind that GNUstep is a bit limited compared to Cocoa (just because Apple has a whole paid professional development team working on Cocoa full-time and GNUstep does not) and GORM uses a different format from Interface Builder, so if you're taking a class, there may be some Cocoa assignments you won't be able to do with it.
Under the heading of desperation measures:
It's old school but if you have a friend with a mac, you could telnet into the mac and run the dev tools there. You would code in an editor on Vista and then up load to the mac to compile.
That would only let you see the results of command line apps but it would better than nothing.
If the macs in your school lab are accessible you could just screen share from your Vista box. That's another long shot.
Might be easier to beg, borrow or steal a Mac mini.
The Cocoa frameworks are only available on Mac. For anything else, you'll have to use GNUStep.

Is it possible to develop using Cocoa in Windows and Linux?

I'm starting to learn Objective-C and I don't have a Mac (and I don't have plans to get one), but as I see that Cocoa is a very good framework to develop in Objective-C, I want to know: Is it possible to develop using Cocoa in Windows and Linux?
Thanks.
I think that your best bet, if you want to use Cocoa, is to get a Mac. You really won't regret it. GNUstep is a neat solution, but it is impractical to distribute applications built using GNUstep, because (as far as I know), clients must have the runtime installed for it to work.
Cocotron is an amazing project as well, and in the future, it may be useful for you if you want simple apps to run on both Mac OS and Windows. But you would still need a Mac to use it.
If you are interested in using a language like Objective-C with a framework like Cocoa, but don't want to get a Mac, why don't you try web application development with Cappuccino and Objective-J?. Objective-J is an implementation of an Objcective-C-like language in JavaScript, and Cappuccino is a really amazing imitation of the Cocoa framework in Objective-J.
Some examples of what can be created using that framework are 280 Slides and the new, stunningly beautiful EnStore. That's not a perfect solution, and unless you are content to just do web applications, you should buy a Mac.
Take a look at Cocotron
The purpose of the project is to provide an easy to use cross-platform solution for Objective-C development. In particular, source code level compatibility with recent versions of Apple's frameworks (OS X 10.4 and 10.5).
The general goal is to provide complete support on any viable platform, the project is intended to be as portable as possible. However, most of the work at this time is focused on providing support for Microsoft Windows. In particular the NT based versions, 2000 up to Vista.
You can also run Snow leopard Server inside a virtual machine, like VMWare Fusion.
Apple changed it licence in 2008 to allow that, but only with server editions. I have personally used it with some success to deploy iphone applications (Although it was admitably a bit slow).
You will need decent hardware and preferably a dedicated hard-disk drive to be able to use it properly.
And considering the cost of vmware and osx server you might be better off buying a used mac.

Is there a Mac emulator or Objective-C environment I can run on Windows?

I'm in the process of learning Objective-c but would like to run code snippets via some sort of emulator on Windows — preferably web based.
I want to understand Objective-C syntax and walk through common code examples, probably via some sort of console. I would probably leave any framework type learning for when I get onto my MacBook, at home.
I have done a quick Google with no success.
It depends what you mean. Objective-C can be compiled by GCC, so you can happily create Objective-C test apps on Windows. If you are talking about the frameworks though, which contain most of the power when developing on OSX then it's a no unfortunately. You can get libraries compatible with SOME parts from gnustep.org (and run them on Linux/BSD), but it's still not the full OSX "stack".
You can get OS X running in VMWare, but it's illegal, so you best bet is to pickup a cheap Mac that can run Tiger/Leopard and use that.
Looked at GNUStep?
Another possibility is to use Cappuccino.
http://cappuccino.org
It is a cocoa-like framework for javascript, and looks very similar to objective-c.
The language is called objective-j.
AFAIK you can use the GNU compiler to compile Objective-C, so that should be usable on Windows too. This should be sufficient to get you started with programming the language.
For Mac OS X however the language is only part of the equation, you will want to program against the libraries of Mac OS X, and for that you will really need a machine running it.
I'm not sure which libraries are present and which are not but you can run OS X Server in a VM (providing you have an OS X Server license of course). This would allow you to have a virtual Mac environment on your Windows system.
As has been mentioned above, there's no way to achieve what you want natively within Windows as the underlying system is obviously different.
Good luck.
There also is The Cocotron.

IDE for use on a Java-enabled smart phone?

Is there an IDE that I can load on a Blackberry, E71, or an iPhone?
Apple released iPhone SDK for XCode a while back, check out developer.apple.com and Nokia also release their own SDK check out forum.nokia.com
But for pure Java Midlet goodness, i would recommend Netbeans (netbeans.org) their netbeans mobile application editor is a gem, second to none.
To answer your question, i don't think any phone is powerful enough to compile and test the code on themselves, so no ...
Not that I know of, typically you'll develop apps on a desktop machine (PC/MAC whatever) and download/control the application on the phone. Also I don't think Java is available on a standard (non-cracked) iPhone.
There was a palm based C compiler. I had some trouble finding it though, but it's called OnBoard-C. It didn't exactly have an IDE, it compiled notes. Considering there's a lack of embedded compilers, I'd be surprised to find full embedded IDEs. Oh... I recall there being a Scheme or Lisp too.
This maybe premature but, congrats, you just found a market niche.