99 달러의 Apple 인증서없이 Xcode에서 실제 iPhone 장비로 iPhone 응용 프로그램을 어떻게 배포 할 수 있습니까?
99 달러의 Apple 인증서없이 Xcode에서 실제 iPhone 장비로 iPhone 응용 프로그램을 어떻게 배포 할 수 있습니까?
답변:
응용 프로그램이 서명되지 않은 것 같습니다. Cydia에서 ldid를 다운로드 한 후 다음과 같이 사용하십시오.ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph
바이너리가 실행 파일로 표시되어 있는지 확인하십시오. chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
Jason 과 alex의 두 가지 방법을 혼합하여 사용했습니다 . 두 번째는 디버깅 할 수 있다는 이점이 있습니다. 나는 주로 아래 두 가지를 모두 복사 할 것입니다 (그리고 alex를 단순화하십시오).
2012 년 1 월 업데이트 : 여전히 SDK 4.2.1 및 iOS 5.0.1에서 작동합니다. 새 컴퓨터와 장치에서 모두 테스트했습니다.
이 인증서를 사용할 수 있도록 iPhone SDK를 패치하십시오.
Keychain Access.app를 시작하십시오. 항목을 선택하지 않고 키 체인 메뉴에서 인증 지원을 선택한 다음 인증 작성을 선택하십시오.
계속을 클릭하십시오
계속을 클릭하십시오
밖으로 빈 이메일 주소 필드.
완료 될 때까지 계속을 클릭하십시오 .
"이 루트 인증서를 신뢰할 수 없습니다" 가 표시되어야합니다 . 이것은 예상됩니다.
자체 서명 인증서를 사용할 수 있도록 iPhone SDK를 설정하십시오.
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
Xcode가 열려 있으면 다시 시작하여이 변경 사항을 적용하십시오.
그리고 iOS 5를 사용하고 있다면 그게 전부입니다! 지금 사용해보십시오! 디버깅을 허용하지 않을 수 있지만 앱이 있습니다!
당신이 알고 있듯이 모든 해킹이 무엇인지 전혀 알지 못했기 때문에 이것에 매우 놀랐습니다 ! 내가 한 것은 내가 지적한 것처럼 다른 곳에서 찾은 것을 조금 개선하는 것이 었습니다.
예, 전체 방법 이 더 이상 같은 방식으로 작동하지 않아서 새로운 방법을 찾을 필요가 없었습니다. 단 , Theos라는 도구를 사용 하지만 전체 프로세스를 수행 할 수는 없었습니다.
마지막으로 어떤 이유로 든 제거 해야하는 경우이 게시물의 끝을 확인하십시오. 필자의 경우,이 모든 방법이 왜 파란색으로 작동하지 않는지 알 수 없었기 때문에 기다려야했으며 이미 오래 기다린 라이센스를 얻었으므로 더 이상 신경 쓰지 못했습니다. (DUNS 번호가 너무 오래 걸리면 ...)
.
.
.
.
.
탈옥 된 iPhone에서 소스를 추가 하여 App AppSync 를 설치하십시오. ** http://repo.hackyouriphone.org **
코드 서명 및 인 타이틀먼트에 대한 SDK 요구 사항을 제거하십시오 ( sed love sed !) :
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
iPhoneOS5.0.sdk
부품에 주의 하십시오. 예를 들어 iOS 4.2 SDK를 사용하는 경우 적절하게 교체하십시오.
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
Xcode 패치를 통한 요구 사항 제거를 마칩니다. 이것은 이진 편집을 의미합니다.
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf "\xc3\x26\x00\x00" >> working
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support
Xcode가 열려있는 경우이 변경 사항 (및 마지막 변경 사항)을 적용하려면 Xcode를 다시 시작하십시오.
메뉴에서 "프로젝트> 프로젝트 설정 편집"을 엽니 다 . "빌드" 탭을 클릭 하십시오. 목록에서 "Code Signing Identity" 와 해당 하위 "Any iPhoneOS Device" 를 찾아 "Do n't Code Sign" 항목으로 설정하십시오 .
이 후 3 단계를 취소 할 수 있습니다. 적어도 제 경우에는 문제가 없었습니다.
맞춤형 자체 서명 인증서 (첫 번째 방법) 로 코드 서명하도록 Xcode 설정 디버깅을 원하지 않으면이 단계를 건너 뛸 수 있습니다.
mkdir /Developer/iphoneentitlements401
cd /Developer/iphoneentitlements401
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
iPhone을 연결하고 Xcode를 엽니 다. 창> 주최자를 엽니 다. 왼쪽의 목록에서 장치를 선택하고 "개발에 사용"을 클릭하십시오. 프로비저닝 웹 사이트 로그인을 요청하는 메시지가 표시되면 취소를 클릭하십시오. 합법적 인 프로비저닝을보다 쉽게 수행 할 수 있지만 불법적 인 프로비저닝을 더 어렵게 만들지는 않습니다.
이제 모든 새 프로젝트에 대해이 마지막 부분을 수행해야합니다 . 프로젝트> 새 빌드 단계> 새 실행 스크립트 빌드 단계 메뉴로 이동하십시오. 창에서 이것을 복사 / 붙여 넣기하십시오 :
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
/Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
fi
.
.
.
.
첫 번째 부분 :
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist
두 번째 부분 :
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support
2 대신 3 단계를 수행 한 경우 그에 따라 간단히 수정하십시오.
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
나머지는 XCode에서 수행 한 작업을 되돌리고 /Developer/iphoneentitlements401/gen_entitlements.py
원하는 경우 삭제 하는 것입니다.
sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py
The identity used to sign the executable is no longer valid. ... (0xE8008018)
3650 일이 지나도 만료됩니다. 전화 자체가 점검을하고있는 것 같습니다.
Apple Developer 요금을 지불하지 않고 실제 기기에서 앱을 테스트하거나 기기를 탈옥하려면 Xcode 7 및 iOS 9가 지원하는 새로운 무료 프로비저닝을 사용할 수 있습니다.
다음은 문서 에서 다소간 수행 된 단계 입니다 (꽤 좋습니다, 읽어보십시오).
1. Xcode에서 Apple ID 추가
XCode> 환경 설정> 계정 탭> 추가 버튼 (+)> Apple ID 추가로 이동하십시오. 자세한 내용 은 문서 를 참조하십시오 .
2. 프로젝트 네비게이터에서 일반 탭을 클릭하십시오
3. 팀 팝업 메뉴에서 Apple ID를 선택하십시오.
4. 장치를 연결하고 구성표 메뉴에서 장치를 선택하십시오.
5. 수정 문제 버튼을 클릭하십시오
번들 이름이 유효하지 않다는 오류가 발생하면 고유 한 이름으로 변경하십시오.
6. 앱 실행
Xcode에서 빌드 및 실행 단추를 클릭하십시오.
7. 장치 설정에서 앱 개발자를 신뢰
앱을 실행 한 후 실행하려는 앱이 App Store에 없기 때문에 보안 오류가 발생합니다.
온 장치 , 설정> 일반> 정보로 이동> 당신의 애플-ID-이름 > 신뢰 당신의 애플-ID-이름 > 신뢰.
8. 장치에서 앱을 다시 실행하십시오.
그게 다야. 이제 99 달러를 지불하지 않고도 자신의 소스 (또는 소스 코드가있는 다른 앱)를 실행할 수 있습니다. 마침내 이것을 허용 해 주셔서 감사합니다.
Apple에 지불하지 않고 iPhone 앱을 배포하는 방법이 있습니다. 기기를 탈옥하고 http://www.alexwhittemore.com/?p=398 의 지침을 따라야합니다 .
나는 지난 밤에 Apple Developer를 겪고 있었고 프로비저닝 인증서에 "Signing Team Members"와 같은 것을 발견했다. 유료 프로필에 팀원을 추가하는 방법이 있다고 생각합니다. 앱 ID 소유자 (유료)에게 팀 구성원으로 추가하도록 요청할 수 있습니다. 확실하지 않습니다. 아직도 검색 중입니다.
아니요, 쉽게 할 수 있습니다. Xcode에서 활성 구성을 릴리스로 설정하십시오. SDK에서 장치를 시뮬레이터에서 장치로 변경하십시오. iPhone으로 직접 내보내려면 컴퓨터에 연결하십시오. Build and Go를 누릅니다. iPhone이 컴퓨터에 연결되어 있지 않으면 iPhone이 연결되어 있지 않다는 메시지가 나타납니다.
귀하에게 해당되는 경우 : (iPhone이 연결되지 않았습니다)
프로젝트 폴더로 이동 한 다음 빌드 폴더로 이동하십시오. Release-iphoneos 폴더로 이동하여 앱을 내부로 가져간 다음 iTunes 아이콘을 끌어다 놓습니다. iTouch 장비를 동기화하면 장비로 복사됩니다. 또한 iTunes에서 iPhone 용 응용 프로그램으로 표시됩니다.
도움이 되었기를 바랍니다!
추신 : 인증서가 유효하지 않다는 메시지가 표시되면 파일 스택의 작은 프로젝트 아이콘 인 Xcode에서 프로젝트를 클릭하고 Apple + I을 누르거나 메뉴 표시 줄에서 정보 입수를하십시오. 상단에서 빌드를 클릭하십시오. 코드 서명에서 코드 서명 ID-서명하지 않는 모든 iPhone OS 장비를 변경하십시오.
해결 방법이 없습니다. 장치에 등록 된 경우에만 임시 배포 앱을 사용할 수 있습니다. 이렇게하면 자신의 앱 스토어를 구축 할 수 없습니다.