iPhone development
- NickJohnson
- Member
- Posts: 1249
- Joined: Tue Mar 24, 2009 8:11 pm
- Location: Sunnyvale, California
Re: iPhone development
Is it possible to just write/port a different OS (possibly Android?) to the iPhone hardware, so you don't have to abide by Apple's interfaces? I know that some people have figured out a way to dual boot Linux on the iPhone, and that it's just a regular ARM with some shiny addons. If you did that, do you think it would violate your service contract?
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
Re: iPhone development
It's possible, but Apple won't help you do it.. hardware documentation will be hard to come by as well.
Here is an attempt to create a port of Linux, it seems they have a proof of concept boot loader available.
http://www.iphonelinux.org/index.php/Main_Page
Here is an attempt to create a port of Linux, it seems they have a proof of concept boot loader available.
http://www.iphonelinux.org/index.php/Main_Page
- NickJohnson
- Member
- Posts: 1249
- Joined: Tue Mar 24, 2009 8:11 pm
- Location: Sunnyvale, California
Re: iPhone development
Sounds like a challenge .
However, not one I have time for. So I guess I'm adding ARM to my "architectures-to-port-to-once-Khaos/x86-is-done" list. I'll get to that in a year or so... maybe by then well documented Android based smartphones will have taken over the market.
However, not one I have time for. So I guess I'm adding ARM to my "architectures-to-port-to-once-Khaos/x86-is-done" list. I'll get to that in a year or so... maybe by then well documented Android based smartphones will have taken over the market.
Re: iPhone development
You can use any language the supports the cdecl calling convention with Cocoa/Obj-C. Obj-C IS C, with fluff (essentially smalltalk)
You simply need to initialize and wrap some things (C++ is lovely here) to get it up and kicking.
What you need:
You simply need to initialize and wrap some things (C++ is lovely here) to get it up and kicking.
What you need:
- The library: System/Library/Frameworks/Cocoa.framework/Cocoa
- Call BOOL NSApplicationLoad(void) before using anything else in the framework
- Implement the Obj-C 2.0 Runtime (You likely will only need the sel_* and objc_get* functions to do basic things)
- Learn the object messaging format (Easy peazy)
- Convert the Obj-C function declarations found in the Cocoa frameworks to your language, and have at it.