¡º «u¡DºÆ¡D¤H¡Dºô ¡ººô¯¸²{¤w¾E²¾¦Ü·sªºª©­± Apple.ORG.HK Apple¤Hºô



 ¡º «u¡DºÆ¡D¤H¡Dºô ¡º  Development¡º«uºÆµ{¦¡·d§@¡º  

Åã¥Ü¾A¦X¦C¦Lªºª©¥» Åã¥Ü¾A¦X¦C¦Lªºª©¥»  §â³o­Ó¥DÃD±Hµ¹ªB¤Í ±Hµ¹ªB¤Í
«ö¥­¦æ¼Ò¦¡Æ[¬Ý«ö¾ð«¬¼Ò¦¡Æ[¬Ý«e¤@½g¥DÃD¦Z¤@½g¥DÃD
«e¤@­¶  1   2  ¦Z¤@­¶
§@ªÌ úNUse Apple SDK to build apps in XCode (if you don't have codesign cert and provisioning profile)
javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-04-01 23:34  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
see this for updated instruction for building app in Xcode for firmware 2.1 if you don't have codesign cert and provisioning profile from Apple

http://www.iphone.org.hk/cgi-bin/ch/topic_show.cgi?id=6017&pg=2&bpg=1

For 1.1.4 dev, see below


Use Apple SDK to build apps for firmware 1.1.4 using open tool chain header

Good stuffs and updated for iPhone SDK Beta 3

read this

http://www.hackint0sh.org/forum/showthread.php?t=37998

The Template file for SDK beta 3 is at
http://rapidshare.com/files/108139773/sdk3_mod.tgz.html


javacom ­×§ï¤_ 2009-01-05 21:42

http://www.cnepub.com/discuz/?fromuid=47472

­»´ä¥æ³q§Ö©ç v1.1 Preview
http://hk.youtube.com/watch?v=1BHvTC5-QTc

¶}±ÒÁôÂêºªí±¡²Å¸¹¡A¤£¥Î jailbreak



iPhone 3G ¡º«uºÆ¥Í´þ¡º ±`¨£°ÝÃD¶°
javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-04-18 00:56  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
Use Apple SDK to build apps for firmware 2.0 beta using open toolchain header

Assume, you have installed iPhone SDK Beta 3 and have a pwned iPhone and you want to port some 1.1.x applications to firmware 2.0 using the SDK development environment and the open toolchain header

You can do this

(1) Install iPhone SDK beta 3 from Apple

(2) Install the toolchain headers as per instructions from here
http://wikee.iphwn.org/howto:using_sdk_with_toolchain_headers

But I have modified it for the Beta 3 SDK path as below
 
      $ sudo mkdir -p /Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS2.0.sdk/
      $ svn co http://iphone-dev.googlecode.com/svn/branches/include-1.2-sdk
      $ cd include-1.2-sdk
      $ ./configure --prefix=/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS2.0.sdk/
      $ sudo sh install-headers.sh


(3) The Xcode template is updated to version 2.1 and includes 3 projects (a) Tool Chain Build (b) Cocoa Touch ToolChain (which includes a local UIKit.h header file for using the new UIKit classes in SDK (you can build UIShowCase (non-IB version)) (c) Window-Based Toolchain (which includes an interface builder (IB) file MainWindow.xib)



The installation instruction for version 2.1 is also revised as below by using the following commands in Mac Terminal

  
curl http://cocoatouchdev.com/javacom/ToolChainTemplate_v21a.zip > ToolChainTemplate_v21a.zip
unzip -o ToolChainTemplate_v21a.zip -d "/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates"


MD5 (ToolChainTemplate_v21a.zip) = dac6bdf027c490cba32b7b278519e3b7

(4) This template supports "Build and Go" to "Device and Release" only, so you have to connect your iPhone to USB cable when "Build and Go"


(5) When using SDK framework to build toolchain iPhone App, you will discover that the header files are not updated and some methods will fail in the iPhone OS. But now you can update the header file using class-dump, see post 11 of this thread http://hackint0sh.org/forum/showpost.php?p=292669&postcount=11

Additional Info
When using this template to create new project. The source code and header files should be added to the ./src folder of the new project and the support files like png and wav and xib (interface Builder) files should be put to the ./resources folder

There is a Makefile in the new project folder as well, so that you can run make to compile into .app folder and package it into zip file as well. You can then ssh/scp to the iPhone firmware 2.0 beta for testing.

You can try this HelloWorld (using the Toolchain Build template)



Netscape users click here to view the content


27916-code.html


javacom ­×§ï¤_ 2008-06-26 23:57
javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-04-19 10:51  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
Assume you have followed the second post to install SDK and old toolchain header
and also installed this template

You can start test building with more examples here

These codes were from the book iPhone Open Application Development and modified for the SDK beta 3 environment and using the template that I have built.

It has been tested successfully using the build to device and release under Xcode and for firmware 2.0 beta 3.



Project Name : TestNavBar



Netscape users click here to view the content


27972-code.html


javacom ­×§ï¤_ 2008-06-20 16:16
javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-04-19 10:55  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
Assume you have followed the second post to install SDK and old toolchain header
and also installed this template

You can start test building with more examples here

These codes were from the book iPhone Open Application Development and modified for the SDK beta 3 environment and using the template that I have built.

It has been tested successfully using the build to device and release under Xcode and for firmware 2.0 beta 3.



Project Name : TestTransition



Netscape users click here to view the content


27973-code.html


javacom ­×§ï¤_ 2008-06-20 16:18
javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-05-07 15:17  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
Project Name : HelloToolChain



Netscape users click here to view the content


29259-code.html


javacom ­×§ï¤_ 2008-06-20 15:19
javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-05-14 12:37  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
Project Name : HelloTouch



Netscape users click here to view the content




29693-code.html


javacom ­×§ï¤_ 2008-06-20 15:18
javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-05-16 11:52  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
Further updates will be posted here

http://www.hackint0sh.org/forum/showthread.php?t=38389


gary




ºô¥D

¤å³¹: 755
¤_ 2008-07-24 09:46  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
Thanks Javacom, you really eased most pain from us smile

One big question, I use scp to transfer my binaries to iPhone for testing.
I noticed that I can only run my App for 1st deployment. After that, if I changed the binaries and scp to iPhone.... the App will be killed even I have restarted Springboard.

To resolve the issue, for every deployment, I have to reboot my iPhone. Did you experience this trouble? Any method to resolve it?


javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-07-24 16:27  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
gary wrote:
Thanks Javacom, you really eased most pain from us :)

One big question, I use scp to transfer my binaries to iPhone for testing.
I noticed that I can only run my App for 1st deployment. After that, if I changed the binaries and scp to iPhone.... the App will be killed even I have restarted Springboard.

To resolve the issue, for every deployment, I have to reboot my iPhone. Did you experience this trouble? Any method to resolve it?


If you use the ldid in iPhone, make sure you update the odcctools and ldid, saurik has issued a new version.

Moreover, he has released an intel binary Mac OS X version as well

http://test.saurik.com/c1d0ze/ldid-osx

this is how to use it in Mac OS X, you can add it in your Makefile
 
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
  ./ldid -S $(PROJECTNAME)


OK you problem was discussed in the mailing list of cydia as quoted below

use an undocumented -s (small s) option for ldid in iPhone


Mapping a binary into memory that has already been mapped in order to modify its pages can cause problems. It's not that ldid is failing, its that your binary is having a hash mismash with itself. If you need to codesign the same binary twice you can either

A) try ldid -s (which will update the hashes on a patched binary,
unlike -S which reallocates the file) or

copy the file to a new file, delete the old one, and move the new one back to the old name (which creates a new inode, which no longer has cached hashes), at which point ldid will work again on the file.
[/qoute]


javacom ­×§ï¤_ 2008-07-25 11:15
javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-07-28 18:51  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
Here is the update of Xcode Template for pwned firmware 2.0 and open toolchain using the Final SDK.

(1) If you have not installed the open toolchain header, please refer to the this post (point 2) to install it
http://www.hackint0sh.org/forum/showthread.php?t=38389

(2) Installed the Apple's Final iPhone SDK (build 9M2199a) in Mac and with pwned iPhone OS 2.0

(3) Follow this guide to create a self-signed certificate http://developer.apple.com/documentation/Security/Conceptual/CodeSigningGuide/Procedures/chapter_3_section_2.html

If you are already registered iPhone Developer, please create the certificate name to something else
e.g. "iPhone Pwned Developer"

(4) You should follow this to patch the SpringBoard and MobileInstallation in pwned iPhone OS 2.0 firmware. I have tested this patch using iPhone 1st generation and working fine.

http://www.246tnt.com/iPhone/#xcode

But I have made some modifications to the procedure as below, as the self created certificate "iPhone Developer" will ambiguously match with your existing certificate, if you are already iPhone Registered Developer. So I change the certificate name to "iPhone Pwned Developer" for the following procedure and the Xcode template in point 4

If you have already patched the SpringBoard and MobileInstallation, you don't need to do this again.

 
#/bin/sh
#assume your iPhone IP is this, change this if it is not
export IPHONE_IP=10.0.2.2
mkdir iphone_tmp
cd iphone_tmp
scp root@$IPHONE_IP:/System/Library/PrivateFrameworks/MobileInstallation.framework/MobileInstallation .
scp root@$IPHONE_IP:/System/Library/CoreServices/SpringBoard.app/SpringBoard .
cp MobileInstallation MobileInstallation.bak
cp SpringBoard SpringBoard.bak
curl -O http://www.246tNt.com/iPhone/iphone_binary_patch
curl -O http://www.246tNt.com/iPhone/SpringBoard.xcent
chmod +x ./iphone_binary_patch
./iphone_binary_patch
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
codesign -s "iPhone Pwned Developer" -f MobileInstallation
codesign -s "iPhone Pwned Developer" --entitlements SpringBoard.xcent -f SpringBoard
scp MobileInstallation root@$IPHONE_IP:/System/Library/PrivateFrameworks/MobileInstallation.framework/MobileInstallation
scp SpringBoard root@$IPHONE_IP:/System/Library/CoreServices/SpringBoard.app/SpringBoard


(4) Download this template and use this command to install in your mac. The installation will go to "Application Pwned" directory of the Project Template. This template already incorporated a shell script build to codesign the binary before installation to iPhone.

 
curl http://cocoatouchdev.com/javacom/ToolChainTemplate_v3.zip > ToolChainTemplate_v3.zip
unzip -o ToolChainTemplate_v3.zip -d "/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates"


MD5 (ToolChainTemplate_v3.zip) = fd88fe59395ec530d5fc793cc9c85a1d

There is currently only one template in this update


(5) This template supports "Build and Go" to "Device and Release" only, so you have to connect your iPhone to USB cable when "Build and Go". It also supports setting breakpoint and debug iPhone program in Xcode.



(6) If you rebuild the project using this template, please uninstall any previous build using the Xcode Organizer before "Build and Go" again. This will ensure that Xcode to regenerate the application map. If you uninstall the previous build by simply remove the application icon in iPhone, your subsequent "build and go" would fail.

If you forgot to remove the previous build, your second "Build and Go" would fail as well.



(7) The source code should be in the "Classes" directory and Resources file like png should be in the "Resources" directory of the Project.

(8) There is also a Makefile in the project template, so that you can run "make" then "make install" to the /Applications/ directory of iPhone. The Makefile will make use of the Mac OS X Intel binary of ldid (from Saurik) to sign the binary before ssh to iPhone.

(9) If you want to uninstall the previous version 1/2 of this Xcode Template. You can do this by
 
rm -fr "/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Open Tool Chain"


javacom ­×§ï¤_ 2008-08-14 15:01
gary




ºô¥D

¤å³¹: 755
¤_ 2008-07-29 09:16  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
Hi Javacom,

    ·Q°Ý, ¦³µL§¹¾ãupdateªº2.0 open toolchain header ¤U¸ü? ¦Û¤v¥Îclass-dump generate¥X¾¤d header, ·¥Ãø§ï...


javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-07-29 09:42  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
gary wrote:
Hi Javacom,

    ·Q°Ý, ¦³µL§¹¾ãupdateªº2.0 open toolchain header ¤U¸ü? ¦Û¤v¥Îclass-dump generate¥X¾¤d header, ·¥Ãø§ï...


If you install the cydia package called iPhone 2.0 toolchain from Bigboss in iPhone. I think this is the latest one and will install in /var/include/

But still need the time to look into it. I am still looking the way how to add them in the Xcode environment.

But this package does not include the iPhone official SDK header file which is already included in Final SDK that you install.


javacom ­×§ï¤_ 2008-07-29 09:45
gary




ºô¥D

¤å³¹: 755
¤_ 2008-07-29 12:42  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
javacom wrote:
If you install the cydia package called iPhone 2.0 toolchain from Bigboss in iPhone. I think this is the latest one and will install in /var/include/

But still need the time to look into it. I am still looking the way how to add them in the Xcode environment.

But this package does not include the iPhone official SDK header file which is already included in Final SDK that you install.

Tried, sadly, it's 1.1.4/1.2.0 compatiable headers.
i.e. It only contains the APIs that appeared in both 1.1.4 and 1.2.0

If it's new API to 1.2.0, it all missed!!

However, headers with new APIs in 1.2.0 is what I'm looking for. sad

Anyway, I will try the last resort... class-dump -H, and modify it manually....
so painful...


javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-07-29 18:02  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
If you install the iPhone Framework Headers in iPhone Cydia, the sdk header file would be installed in the various frameworks
under /System/Library/Frameworks of your iPhone.

There is also a class-dump binary in iPhone, but not all headers can be dumped.

However, the private framework is not available and compiling in iPhone is very slow.


javacom




ª©¥D

¤å³¹: 3083
¤_ 2008-08-01 09:32  Æ[¬Ý¸Ó¥Î¤áªº­Ó¤H¸ê®Æ  ·j´M³o­Ó¥Î¤áµoªíªº©Ò¦³¤å³¹  §â¤å³¹¤º®eÎ`¨î¨ì°Å¶KªO¡C
¥uÓì¥Î¤_ IE :-)
gary wrote:
javacom wrote:
If you install the cydia package called iPhone 2.0 toolchain from Bigboss in iPhone. I think this is the latest one and will install in /var/include/

But still need the time to look into it. I am still looking the way how to add them in the Xcode environment.

But this package does not include the iPhone official SDK header file which is already included in Final SDK that you install.

Tried, sadly, it's 1.1.4/1.2.0 compatiable headers.
i.e. It only contains the APIs that appeared in both 1.1.4 and 1.2.0

If it's new API to 1.2.0, it all missed!!

However, headers with new APIs in 1.2.0 is what I'm looking for. sad

Anyway, I will try the last resort... class-dump -H, and modify it manually....
so painful...


Following the instructions at http://www.saurik.com/id/4
You might be able to build up a full 2.0 toolchain in Mac OS 10.5



 ¡º «u¡DºÆ¡D¤H¡Dºô ¡º  Development¡º«uºÆµ{¦¡·d§@¡º  

Åã¥Ü¾A¦X¦C¦Lªºª©¥» Åã¥Ü¾A¦X¦C¦Lªºª©¥»  §â³o­Ó¥DÃD±Hµ¹ªB¤Í ±Hµ¹ªB¤Í
«ö¥­¦æ¼Ò¦¡Æ[¬Ý«ö¾ð«¬¼Ò¦¡Æ[¬Ý«e¤@½g¥DÃD¦Z¤@½g¥DÃD
«e¤@­¶  1   2  ¦Z¤@­¶
  ¬Ý¹Lªº¤å³¹
  ·sªº¤å³¹
  ³Q§R°£ªº¤å³¹
¸õÂà¨ì

µoªí·sªº¤å³¹¦^ÂÐ¥DÃD


[¿ù»~«H®§]
Table './iphone1/ut_online' is marked as crashed and should be repaired

½Ð³qª¾°Q½×°ÏºÞ²z­û <kk@hkfoot.com>¡C