views:

5829

answers:

10
+10  Q: 

Mono on the iPhone?

Has Mono been ported to the iPhone yet? I'd love to write .NET apps for the iPhone, and learning Objective C isn't an option for me.

A: 

Never say never, but as it would require a runtime to be running too, I can't see it ever happening. Apple would have to sanction and install the mono/.net runtime with the standard firmware. Same goes for Java too I guess...

KiwiBastard
However, we have jailbroken iPhones too!
Mehrdad Afshari
+15  A: 

Sorry but not completely true: http://www.mono-project.com/Mono:Iphone

noesgard
It's as good as true. That just sounds painful compared to just learning Objective-C. My favourite part is: * A significant amount of cross-compilation is required, this is far from easy. * No iPhone APIs have been exposed, so you get the very basic foundation.
rustyshelf
In addition to the fact that you _must_ program on a Mac and _must_ belong to Apple's Developer program. It's nive to be able to program against something you know, but if you're most of the way there already (and Apple _may not_ accept your code because you're using development tools not written by them), then you may as well do it "the right way" via Objective C.
Michael Todd
+3  A: 

Here's a blog entry from Miguel de Icaza showing Mono running on the iPhone

(I suspect it's a jailbroken phone, and KiwiBastard's probably quite correct about the changes of it ever being official)

Paul
+2  A: 

This question is asked over and over and over again. If you want to write official apps for the iPhone you need to:

  • have a real mac

  • learn objective-c & cocoa-touch

  • drink the kool-aid

Trying to work around any of the above is a waste of your time and ours. As I've said many times before it's Steve's way or the highway, and if you want to develop on the iPhone you'd best learn that lesson sooner rather than later.

rustyshelf
Shouldn't it be Steve's way or highway?
Varun Mahajan
Good point, I fixed the type...though 'of' maybe works as well, since Steve probably would have built the highway in the first place...
rustyshelf
Oh and also be willing to risk your time coming to naught when the iPhone store team rejects your code or determines that Apple is about to release its own version of your app.
jcollum
I think what it comes down to at this stage is that there is a lot of money to be made, so people put up with the way Apple treats them. As the store gets more and more crowded, this will no doubt change. But since it's the only way to reach x million iPhones, then you have to play the game :)
rustyshelf
http://www.mono-project.com/MonoTouchMonoTouch allows developers to create C# and .NET based applications that run on the iPhone and can take advantage of the iPhone APIs as well as reusing both code and libraries that have been built for .NET as well as existing skills.Has no reflection or JIT.This development on mono for iphone was showcased at microsoft PDC 2008 by Miguel de Icazavideo available here: http://channel9.msdn.com/pdc2008/PC54/
mirezus
A: 

Sorry, kid, but Obj-C is the only way. Why is it "not an option"?

Your app will be "not an option" to Apple for the App Store unless it's written in Obj-C on Xcode, and signed properly.

+4  A: 

For the nay-sayers, please listen to Miguel de Icaza himself talking about the subject with Scott Hanselman on the 24NOV2008 Hanselminutes podcast (around the 23:50 mark).

Long story short: there are plans to get Silverlight applications statically compiled to conform to Apple's requirements.
You won't be able to run them in the browser but they would be fully integrated iPhone apps just like any others.

Renaud Bompuis
And how would that get around the official App Store restrictions that say you cannot use an interpreter that does not come with the phone?You can do anything on a Jailbroken phone of course, but presumably that is not what he is looking for.
Kendall Helmstetter Gelner
Well, you should listen to the show. The key point is that your application would be __statically compiled__ and would become just another native application.
Renaud Bompuis
You use AOT to pre-compile the code, so it is no longer JIT compiled.
jpobst
+23  A: 

Mono today is available in two forms:

  • Mono with bindings to iOS APIs (http://monotouch.net)
  • Mono as a scripting engine powering Unity3D
miguel.de.icaza
Outdated, oddly enough, by Miguel's MonoTouch project.
Greg Hurlman
Time to update this, methinks.
Joel Coehoorn
The monotouch project is here: http://monotouch.net/ - this answer does seem outdated.
blueberryfields
+3  A: 

First Mono game hits the Apple AppStore. So, not only is it technically possible, Apple will approve them as well.

Kris Erickson
Keep in mind that the Mono runtime doesn't actually run on those games; it's fully translated to native code.
Randolpho
+5  A: 

We are developing a CocoaTouch binding called MonoTouch and a full-AOT toolchain that will allow building native iPhone apps using Mono & MonoDevelop. This will be a commercial product, with a beta planned for August. Stay tuned!

Miguel has blogged about this.

mhutch
+3  A: 

This allows you to use C# for iPhone now (just recently released, I think), but you still have to have a Mac.

http://monotouch.net/

NotDan