Discuss [Announcement] Open Tool Chain Compatibility Libraries at the Free Toolchain Software - Hackint0sh.org; With the release of Apple's SDK, the development community has come to the rude
[Announcement] Open Tool Chain Compatibility Libraries
With the release of Apple's SDK, the development community has come to the rude
awakening that it's not all it's cracked up to be with its restricted features, broken objects, and inability to create iPhone-executable applications yet. In fact, it looks like the compiler includes DRM components itself (according to core), meaning the binaries you build
require Apple's DRM framework (and possibly approval from Apple) just to run.
Lets take a quick inventory of what Apple has accomplished with their SDK restrictions: 1. They have banned NullRiver's installer app, as well as PXL and other installers, essentially locking out any third party distribution channels, which in my opinion is unfair competition. 2. They have guaranteed themselves full control over the accessories market by limiting the ability of third-party software from using the accessories interface. This means no GPS, keyboards, or other accessories without inking special deals with Apple. 3. They have secured themselves potential contracts with game manufacturers such as Nintendo by banning the many emulators already available for the iPhone, which are legal to use in many cases. It seems that now, more than ever, does the community need to support the open source tool chain and the ability to freely write and run software for the iPhone.
With that said, I have begun work (and made significant progress) in writing a patcher to build a set of compatibility libraries for the iPhone "open" source tool chain. Due to the dismay of many developers, it appears that Apple has restricted many important frameworks and features of the iPhone APIs that are available using the open toolchain. They've also made it clear that many types of applications, including my NES.app emulator, will not be welcome on iTunes. This compatibility library is targeted to allow people to continue building applications using the free, open tool chain so that they will run on the new iPhone firmware, once released. Fortunately, we won't need this package until June or later, if at all, but it will be good to have on hand if necessary. This means the open source community will be able to continue software development on the iPhone without any licensing encumbrances from Apple, restrictions on what parts of the iPhone they can use, and will allow the fantastic third-party applications already running on the iPhone to continue on to future firmware releases. The Apple SDK, as many have come to find, has seemingly crippled much of the functionality that initially set the iPhone apart when first launched. Even simple features like the ability to run a program in the background, have been crippled in the Apple SDK. This compatibility package aims to allow open tool chain applications to take advantage of some or all of these features again, leaving the open tool chain the clear best choice for developers.
I've made some significant progress in this, but won't likely release anything until I get a chance to touch the 2.0 firmware and make any last-minute changes that may be needed. But this should give the open source community a great sigh of relief, in that they will be able to continue developing without coming under control of Apple's distribution chain monopoly or applications policies.
As it stands today, the open tool chain is likely to be the dominant tool chain going into 2009, as the Apple SDK is clearly not ready for enterprise adoption yet. Many pieces do not appear to function correctly, or at all, and there is presently no way to run these applications on the iPhone. Come June, only a limited number of developers will likely be admitted into the developer program, based on some remarks I've seen from Apple. The open tool chain works today, and has had almost a year to mature into what has become a very robust SDK. I encourage developers to continue using it, and think it's going to be around for quite a while.
Last edited by NerveGas; 03-10-2008 at 05:14 AM.
good money keeping the undergrouned alive, the unlockers should love this as long as someone keeps up with a unlocking program
good work mate!
will it be GNU/GPL tho?
UPDATE 3/10: It looks like the ARM frameworks included with Apple's SDK are actually "backward compatible" with the v1.1 firmware. For example, all of our old friends from UIHardware are in there:
30b32e9c t +[UIHardware deviceOrientation:] 30b3375c t +[UIHardware fullScreenApplicationContentRectForCurrentDeviceOr ientat ion] 30b32e40 t +[UIHardware fullScreenApplicationContentRect] (And so on)
I have a strong suspicion that the 1.1 APIs we've been using with the toolchain are actually Apple's internal APIs - those they've made unavailable in their SDK. This means open tool chain applications are running closer to Apple-native than Apple's own SDK, and are very likely to run on the v2.0 firmware, even without my compatibility libraries.
NerveGas, does the above post mean that the 1.2 frameworks will work on a 1.1.* phone? Because I have tried many different ways, with no luck. SpringBoard, 1.1.4 and 1.2.0, refuses to run because of something in Foundation.framework, even though I upgarded that, and I am forced to restore. Have you found a way around that? A patch perhaps?
No but the opposite may be true, with little or no work.
NerveGas, does the above post mean that the 1.2 frameworks will work on a 1.1.* phone?
From your post it looks like there is an open iphone sdk today. Is that correct? Total noob question but what do we use to start today on existing firmwares to develop apps in objective C? Is there an unofficial iphone SDK that we can start using now?
here are a couple more links outlining the things that are banned from the official SDK
tool chain install problem
Following instructions here: http://wikee.iphwn.org/howto:toolchain_on_leopard_aspen
(odcctools) make ended with this complaint:
"_print_objc_string_object_section_64", referenced from:
_processor in main.o
"_print_objc2", referenced from:
_processor in main.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [otool] Error 1
make: *** [install] Error 1
(odcctools) sudo make install finished with the same.
There were no other complaints in the whole process; PATH includes /usr/local/bin; yet all I get is bash: arm-apple-darwin-gcc: command not found.
I am, admittedly, a n00b. Any reply will help, even if it is to say, "The compiler is not broken - figure it out".
The only way i could fix this is to edit the Makefile as in:
By Mitali in forum iPhone Developer Exchange
Last Post: 10-05-2009, 01:22 AM
By NerveGas in forum iPhone Developer Exchange
Last Post: 08-27-2008, 11:37 AM
By NerveGas in forum General
Last Post: 03-11-2008, 03:39 PM
By michaelchan in forum General
Last Post: 10-12-2007, 07:13 PM
By vg1134 in forum General
Last Post: 07-14-2007, 05:26 PM