유료 개발자 인증서없이 탈옥 된 장치에서 Xcode 프로젝트를 컴파일하고 실행할 수 있습니까?


9

발 차기 및 예산상의 이유로 일반적으로 개발자 계정이 필요한 패키지를 가져와 탈옥 된 iOS 기기에서 실행되는 앱을 만들고 싶습니다.

iOS 6.1을 실행하는 evasi0n을 사용하여 탈옥 된 5 세대 iPod Touch가 있습니다.

OS X (10.8.2) Lion에서 Xcode 4.6을 사용하고 있습니다.

답변:


6

이 목적을 달성하기위한 다음과 같은 교육 단계는 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. 루트 권한이 필요할 수 있습니다.

  • Xcode 4.6을 사용하고 있으므로 이전 .plist파일을 열었습니다 .

의 모든 항목을 XCiPhoneOSCodeSignContext로 바꿉니다 XCCodeSignContext. 그중 세 가지가 있습니다 (XCode 버전 3.2.4+).

  • 스크린 샷에서 알 수 있듯이 세 가지 수정했습니다.

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

4. 파일을 저장하고 Xcode를 다시 시작하십시오.

  • 파일을 저장했습니다.

5. Mac에 ldid가 있는지 확인하십시오. 예를 들어에 어딘가에 사본을 배치하십시오 /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. 변경 호출에서 파일의 항목 codesignldid3.py.

  • 지침 공식 지침에 따라 콘솔에 입력하여 사양 파일을 일반 텍스트로 변환하십시오. sudo plutil -convert xml1 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Specifications/iPhoneCodeSign.xcspec
  • TextEdit으로 파일을 열었습니다.
  • 로 대체 <key>CommandLine</key><string>/usr/bin/codesign</string>되었습니다 <key>CommandLine</key><string>/usr/local/bin/ldid3.py</string>.

9. 파일을 저장하고 Xcode를 다시 시작하십시오.

  • 파일을 저장하고 TextEdit을 종료했습니다.

10. /var/mobile/tdmtanf장치에 파일 을 생성하여 설치시 Apple의 "TDMTANF 바이 패스"를 활성화합니다 (경고 : 샌드 박스 된 GameCenter에 저장 됨).

  • Windows에서 빈 텍스트 파일을 생성하고 이름이 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 앱을 사용하여 앱을 수동으로 설치할 수 없습니다.

앱이 실제로 유효하지 않다고 생각하지만 지침을주의 깊게 따라 간 이유는 확실하지 않습니다.

누구나 내 앱이 유효하지 않은 이유와 돈을 기침하는 것 외에도이를 해결하기 위해 무엇을 할 수 있는지 말해 줄 수 있습니까?


그래도 재미있는 독서였습니다.
Thecafremo

아니, 그것을 읽게되어 기쁘고 앞으로 다시 돌아올 것입니다. 공유해 주셔서 감사합니다.
Robert

이것은 Xcode 4.2와 iOS 4에서 작업 할 때 매우 도움 되었습니다. 누군가가 Xcode 4.6으로 절차를 업데이트 할 수 있기를 바랍니다
rraallvv

ldid를 다운로드 한 후 chmod 755 ldid를 사용하여 권한을 755로 변경해야합니다. 이로 인해 exit 1 오류가 발생했습니다.

0

기기를 연결하고 iOS 기기를 실행 대상으로 선택할 수 있습니다. 실행되면 응용 프로그램이 장치에 자동으로 설치됩니다. 또는 iOS 기기를 선택할 수 있으며 빌드 및 보관을 실행할 필요가 없습니다. 그런 다음 배포 ... 엔터프라이즈 용 저장 또는 특별 배포를 선택합니다. .ipa 파일이 제공됩니다. 그것이 당신을 도울 수 있기를 바랍니다 ..


0

@joncom의 답변을 계속하십시오. 몇 단계 만 거치면 .app 파일을 iPhone에 직접 추가 할 수 있습니다.

  • .app파일을 바탕 화면에 복사 한 다음 압축하십시오
  • 이름 [yourappname].zip[yourappname].ipa
  • cydia에서 AppSync를 다운로드하십시오.
  • .ipa 파일을 다운로드하여 장치에 설치

노트:

@joncom이 언급 한 모든 파이썬 코드 수정을 거치지 않고 직접이 작업을 수행 할 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.