답변:
이 목적을 달성하기위한 다음과 같은 교육 단계는 http://iphonedevwiki.net/index.php/Xcode 에서 가져옵니다.
나의 발견과 행동은 각 단계에서 제공됩니다.
1. 키 체인 접근을 사용하여“로그인”(기본) 키 체인에“iPhone Developer”라는 이름으로 자체 서명 된 코드 서명 인증서를 만듭니다.
2. /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist
(4.2 이하 :)를 엽니 다 /Developer/Platforms/iPhoneOS.platform/Info.plist
. 루트 권한이 필요할 수 있습니다.
.plist
파일을 열었습니다 .의 모든 항목을 XCiPhoneOSCodeSignContext
로 바꿉니다 XCCodeSignContext
. 그중 세 가지가 있습니다 (XCode 버전 3.2.4+).
4. 파일을 저장하고 Xcode를 다시 시작하십시오.
5. Mac에 ldid가 있는지 확인하십시오. 예를 들어에 어딘가에 사본을 배치하십시오 /usr/local/bin
.
/usr/local/bin
.6. ldid 프로그램 바로 옆에 Python 스크립트 ldid3.py를 작성하십시오. 실행 가능하게 만드십시오. 그것을 채우십시오 :
#!/usr/bin/env python
from sys import argv
from subprocess import check_call
from os.path import basename, dirname, splitext, join
from tempfile import NamedTemporaryFile
app = argv[-1]
ldid_path = join(dirname(__file__), 'ldid')
obj_path = join(app, splitext(basename(app))[0])
if '-gta' not in argv:
check_call([ldid_path, '-S', obj_path])
else:
with NamedTemporaryFile('w+b', 0) as f:
f.write("""
<!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>
""")
check_call([ldid_path, '-S' + f.name, obj_path])
ldid3.py
저장하고 /usr/local/bin
디렉토리에 저장했습니다 .chmod 777 /usr/local/bin/ldid3.py
.7.를 엽니 다 iPhoneCodeSign.xcspec
. 이 파일은 [For Xcode 4.6 : /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
] 에서 찾을 수 있습니다 :
8. 변경 호출에서 파일의 항목 codesign
에 ldid3.py
.
sudo plutil -convert xml1 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
<key>CommandLine</key><string>/usr/bin/codesign</string>
되었습니다 <key>CommandLine</key><string>/usr/local/bin/ldid3.py</string>
.9. 파일을 저장하고 Xcode를 다시 시작하십시오.
10. /var/mobile/tdmtanf
장치에 파일 을 생성하여 설치시 Apple의 "TDMTANF 바이 패스"를 활성화합니다 (경고 : 샌드 박스 된 GameCenter에 저장 됨).
tdmtanf
이고 SSH로 iPod에 업로드 한 다음에 업로드 한 다음 /var/mobile/
iPod을 재부팅합니다.기존 Xcode 프로젝트를 열고 실행을 누르십시오. iOS 시뮬레이터에서 아무런 문제없이 작동합니다.
1 단계에서 설정 한 인증서를 사용하도록 코드 서명이 설정되어 있는지 확인하십시오.
앱을 빌드합니다 (프로젝트> 빌드). 성공 메시지가 이어집니다.
내 응용 프로그램 폴더 TicTacToe.app
를 가져 와서 /Libary/Developer/Xcode/DerivedData/TicTacToe-cjgzmoxtflyegtfypsbxbuiuwxns/Build/Products/Debug-iphoneos/
Windows 컴퓨터로 전송하여 iPod에 설치합니다.
응용 프로그램을 iPod에 설치하려고 할 TicTacToe.app
때 iPhone 구성 유틸리티의 응용 프로그램 섹션으로 드래그 했지만, 내 응용 프로그램이 "유효한 모바일 응용 프로그램이 아닙니다"라는 오류 메시지가 나타납니다.
또한 iFunbox 와 Cydia에 있는 AppCake 앱을 사용하여 수동으로 앱을 설치하려고 시도했습니다 . 둘 다 실패합니다.
내가 관심을 갖는 점으로, 나는 구글 검색을 할 때 많은 사람들이 이것의 중요성을 언급하는 것을 보았습니다. 나는 AppSync를 설치했습니다. (큰 스크린 샷에 대해 죄송합니다. 삭제해야하는 경우 알려주세요!)
따라서 지침을 여러 번 밀접하게 따르더라도 iPhone 구성 유틸리티에서 내 앱을 유효한 앱으로 인식하지 못합니다. iFunbox와 같은 프로그램 또는 AppCake와 같은 Cydia 앱을 사용하여 앱을 수동으로 설치할 수 없습니다.
앱이 실제로 유효하지 않다고 생각하지만 지침을주의 깊게 따라 간 이유는 확실하지 않습니다.
누구나 내 앱이 유효하지 않은 이유와 돈을 기침하는 것 외에도이를 해결하기 위해 무엇을 할 수 있는지 말해 줄 수 있습니까?