Difference between revisions of "Toolchain 2.0"

From The iPhone Wiki
Jump to: navigation, search
m (Extraction of iPhone OS 2.0 SDK)
(Mac OS X)
Line 6: Line 6:
   
 
== Mac OS X ==
 
== Mac OS X ==
For Mac OS X you can just use the iPhone OS 2.0 SDK from Apple which you can download after registration from http://developer.apple.com/iphone/index.action.
+
For Mac OS X you can just use the iPhone OS 2.0 SDK from Apple which you can download after registration from [http://developer.apple.com/iphone/index.action Apple iPhone Dev Center].
   
 
== Windows XP ==
 
== Windows XP ==

Revision as of 10:08, 29 July 2008

This article explains how to build a tool chain for iPhone OS 2.0.

Please note that this section is under development.

Mac OS X

For Mac OS X you can just use the iPhone OS 2.0 SDK from Apple which you can download after registration from Apple iPhone Dev Center.

Windows XP

Extraction of iPhone OS 2.0 SDK

  • Download and install HFSExplorer from catacombae software.
  • Start HFSExplorer and choose the menu File-->Open UDIF Disk Image (.dmg)...
  • Select iphone_sdk_final.dmg and press Open
  • When the tool asks Which partition to read leave it at "Mac_OS_X" (Apple_HFS) and press OK
  • Go to Packages and select the package you want to extract, e.g. iPhoneSDKHeadersAndLibs.pkg for the iPhone OS 2.0 header files.
  • With right mouse button choose Extract data to extract an installation package.

Linux

Currently we can only describe how to get the headers from the iPhone OS 2.0 SDK.

Extraction of iPhone OS 2.0 Installation Packages (.pkg)

  • Extract iPhoneSDKHeadersAndLibs.pkg from iPhone OS 2.0 SDK as described above in section Extraction of iPhone OS 2.0 SDK under Windows XP.
  • Use the eXtensible ARchiver xar to extract the file Payload file containing the actual header files:
xar -xf iPhoneSDKHeadersAndLibs.pkg Payload
  • Rename the Payload file since it is gzipped:
mv Payload Payload.gz
  • Uncompress the Payload.gz file:
gunzip Payload.gz
  • Extract the contents of the resulting Payload file:
cat Payload | cpio -i

or

cat Payload | cpio -i -d '*.h'

to extract only all header files included in the package.

Framework Headers

This section assumes that

cat Payload | cpio -i -d '*.h'

got used in previous section.

If you want to move all Framework headers into an include directory continue as follows:

  • Remove the project XCode templates since they will not be required anymore:
rm -rf Platforms/iPhoneOS.platform/Developer/Library
  • Create your target include directory:
mkdir include
  • Get just the System and usr directories from the iPhone Os 2.0 SDK and remove the empty Platforms directory hierarchy:
mv Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/* .
rmdir -p Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/
  • Move the Framework headers to current directory and clean-up empty directory hierarchy:
mv System/Library/Frameworks/* .
rmdir -p System/Library/Frameworks/
  • Rename/move all Framework header directories into include directory and cleanup
mv AddressBook.framework/Headers include/AddressBook
mv AddressBookUI.framework/Headers include/AddressBookUI
mv AudioToolbox.framework/Headers include/AudioToolbox
mv AudioUnit.framework/Headers include/AudioUnit
mv CFNetwork.framework/Headers include/CFNetwork
mv CoreAudio.framework/Headers include/CoreAudio
mv CoreFoundation.framework/Headers include/CoreFoundation
mv CoreGraphics.framework/Headers include/CoreGraphics
mv CoreLocation.framework/Headers include/CoreLocation
mv Foundation.framework/Headers include/Foundation
mv MediaPlayer.framework/Headers include/MediaPlayer
mv OpenAL.framework/Headers include/OpenAL
mv OpenGLES.framework/Headers include/OpenGLES
mv QuartzCore.framework/Headers include/QuartzCore
mv Security.framework/Headers include/Security
mv SystemConfiguration.framework/Headers include/SystemConfiguration
mv UIKit.framework/Headers include/UIKit
rmdir -p *.framework
  • The remaining directories are include with all Framework headers and usr with all system related headers.
  • You may still remove the Payload file since we don't need it anymore:
rm Payload
  • You are done.

iPhone/iPod Touch

There is a tool chain available after jailbreak from the Cydia installer. You just need to install the iPhone 2.0 Toolchain from Cydia to get a 1.1.x based development environment on your iPhone or iPod Touch.

If you want to use the header files from iPhone OS 2.0, you can obtain them from the iPhone OS 2.0 SDK as described above in section Framework Headers.