원문 : http://iphonedevwiki.net/index.php?title=Xcode#cite_note-1
* 컴파일 해서 폰에 올리기
- 이것은 굳이 구글링을 하지 않아도 네이버에서도 찾을 수 있음.
- 키체인을 만들고 Developer/Platforms/iPhoneOS.platform/Info.plist의 XCiPhoneOSCodeSignContext를 XCCodeSignContext로 바꾸어 주면 간단히 해결!
- 문자열 바꿀 때 몇몇 라인을 바꾸라고 되어있는데.. 그냥 모두 바꿔버려도 됨.
* 디바이스 디버깅을 위한 작업
2. ldid를 /usr/local/bin에 넣는다.
3. 다음의 코드를 카피하여 /usr/local/bin/ldid2로 만든다.
4. 다음 파일을 열어 CommandLine = "/usr/bin/codesign" 를 CommandLine = "/usr/local/bin/ldid2"로 바꾼다.#!/bin/sh hasGTA=`expr "$*" : '.* -gta .*'`; objpath=${!#}/`expr ${!#} : '.*/\([^/]\{1,\}\)\.app$'`; if [[ $hasGTA == 0 ]]; then /usr/local/bin/ldid -S $objpath; else TF=`mktemp -t x`; echo "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"><plist version=\"1.0\"><dict><key>get-task-allow</key><true/></dict></plist>" > $TF; /usr/local/bin/ldid -S$TF $objpath; rm $TF; fi;
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS Build System Support.xcplugin/Contents/Resources/iPhoneCodeSign.xcspec
5. 위 파일을 저장하고 XCode가 실행중이라면 재시작한다.
6. 아이폰의 /usr/libexec/installd 를 맥으로 복사한다. (편한 폴더에 카피해놓자. 만약을 위해 원본을 따로 저장해두자)
7. 아래 명령어를 순서대로 실행한다.
8. 다음의 코드를 카피하여 libmiss.c 파일을 만든다. (편한 폴더에서 작업하면 된다.)install_name_tool -change /usr/lib/libmis.dylib /usr/lib/libmiss.dylib installd ldid -S installd
extern int MISValidateSignature() { return 0; }
9. 위에서 만든 libmiss.c를 컴파일 하기 위하여 아래 명령어를 수행한다.
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk -dynamiclib -install_name /usr/lib/libmiss.dylib -current_version 1 -compatibility_version 1 -Wl,-reexport-lmis -flat_namespace -o libmiss.dylib libmiss.c
10. (7)에서 수정한 installd 는 아이폰의 /usr/libexec/installd에 넣어주고 (원래 있던 installd를 반드시 백업하자!!!) (9)에서 만든 libmiss.dylib는 아이폰의 /usr/lib에 넣어준다.
11. XCode 메뉴에서 Project->Edit Project Setting->Code Signing 에서 Other Code Signing Flags를 선택한 후 더하기 '+' 버튼을 누르고 -gta 추가. (모든 Configuration 즉 debug, release에 모두 해줘야 함.)
여기까지 했으면 이제 디바이스 디버깅 모드로 컴파일 하면 디바이스에서 디버깅이 가능하다!
% 참고로 나의 경우에는 10번에서 installd를 아이폰에 넣었더니 아이폰이 무한 사과에 빠졌다 ㅠㅠ..
다행히 백업해 놓은것이 있었고 iPhone Explorer가 작동되어 파일을 원래것으로 교체했더니 정상부팅 되었고..
이상하게도 디바이스 디버깅도 가능하게 되었다.
즉 installd를 교체하지 않았다는 이야기.. 탈옥과정에서 저것이 자동으로 수정이 되었나?
어쨋든 잘되니.. ^^
도움이 되셨기를....
'Work > iOS' 카테고리의 다른 글
TapkuLibrary Library (아이폰에 달력 표시 라이브러리) 사용법 (3) | 2010.08.13 |
---|---|
iPhone App 이름 지역화 하기 (App name Localization) (0) | 2010.07.27 |
XCode 제거하기 (0) | 2010.07.12 |
UIWebView에 로컬 리소스 imgage 보이기 (0) | 2010.07.01 |
iPhone App 개발 시 Documents 폴더에 내 resource DB가 미리 복사되어 있는 경우 (0) | 2010.06.30 |