TestFlight는 어떻게합니까?


197

TestFlight는 iOS 앱 (비 탈옥 기기)의 무선 베타 배포를 제공합니다. 이것을 어떻게 할 수 있습니까? 이것이 iOS 기능입니까, 취약점 악용입니까?


좋은 질문이지만 이것이 주제인지 확실하지 않습니다. 경계선, IMO입니다. 즉, 이것에 대한 답도 알고 싶습니다. +1
Moshe

iOS 기능인 경우 프로비저닝을 더 잘 이해하는 데 도움이 될 것입니다.
hpique

12
@Moshe : 왜 이것이 논외라고 생각하는지 설명 할 수 있습니까?
Besi

따라서 질문은 어떤 식 으로든 코드를 작성하는 것이 아니라 배포 도구와 관련이 있습니다. 나는 거의 1 년 전에 의견을 썼습니다. SO의 환경은 약간 달랐습니다.
Moshe

8
이것은 매우 좋은 질문입니다.
자랑스러운 회원

답변:


87

이것은 TestFlight가 서비스를 시작하기 전에 가능했습니다. 이 기술은 엔터프라이즈 배포 메커니즘에서 파생되었습니다. 4.0 이후 장치는 웹에서의 설치를 지원했습니다.

기억하십시오-선택한 UDID 세트에 대한 베타 배포판에 서명해야하므로 어떤 장치에도 설치할 수 없습니다. 그들이하고있는 일은 IPA가 전자 메일을 처리하지 못하게하는 것입니다.

보다:

업데이트 : Test Flight이 개발 할 때 가장 유용한 도구 중 하나라고 말하고 싶습니다. IPA 이메일을 사진에서 꺼내는 것은 과소 평가였습니다. 기술 메커니즘을 불러 내려고했습니다. 그들은 전체 베타 프로세스를 관리하는 환상적인 일을합니다. 새 장치를 등록하는 중입니다. 사용자에게 알림


6
그들은 어떻게 돈을 버는가, 홈페이지에서 무료라고 말합니다.
조나단.

1
나는 그들이 미래에 어떤 종류의 프리미엄 서비스를 시작할 것이라고 생각합니다. 지금은 무료이며 새로운 SDK는 정말 인상적입니다. 테스트 클라이언트에서 직접 충돌 로그 및 사용 정보를 수집하고 dsym을 업로드하는 것이 편한 경우이를 상징화 할 수도 있습니다.
Nick

7
꽤 인상적
입니다.

프로덕션 서비스 비용을 청구하고 베타 서비스를 무료로 유지하면 돈을 벌 수있을 것 같습니다. 그들은 오늘날 공식적으로 프로덕션 사용을 지원하지 않으며 지원 포럼에서 곧 "생산을위한 솔루션"을 암시합니다.
Nils

5
@ Nick 귀하의 답변이 완전히 정확하지 않다고 생각합니다. You still need to sign the beta distribution for a select set of UDIDs you can't just willy nilly install it on any device. 엔터프라이즈 배포 프로비저닝 프로파일의 경우 장치를 지정할 필요가 없으며 적어도 기술적으로는 이진을 모든 장치에 설치할 수 있습니다 . 그러나 라이센스는 배포 프로파일이 발행 된 회사 내에서만 라이센스를 설치하도록 제한합니다.
Besi

91

이 기사에서는 Apples OTA 구현이 어떻게 작동하고 기업 외부에서도 사용될 수 있는지를 보여주었습니다 : ios wireless app distribution

전체 프로세스는 Apple에서 문서화합니다 . Apple은 또한 장치등록 하고 프로파일을 사용하여 UDID를 얻기 위한 설명서 및 샘플 코드를 발행 하여 웹 사이트가 어떤 장치를 호출하는지 감지 할 수 있습니다.

강도가 다른 몇 가지 추가 솔루션 :

  • 빌드를 사용하여 웹 사이트를 만드는 Mac 응용 프로그램 인 iOS Beta Builder 결과 파일을 웹 서버에 업로드하기 만하면됩니다.

  • Diawi : 간단한 웹 서비스. IPA 파일을 업로드하고, 선택적으로 비밀번호를 설정 한 후 테스터에게 링크를 보내십시오.

  • AppSendr : Testflight 와 유사한 베타 빌드 호스팅을위한 웹 서비스이지만 장치 등록 프로세스는 포함되지 않습니다. 그러나 새 버전을 자동으로 업로드하는 배포 유틸리티를 제공합니다.

  • HockeyKit : 인앱 업데이트 클라이언트, 자동 장치 특정 웹 사이트 및 여러 응용 프로그램 처리와 같은 추가 기능을 사용하여 자체 PHP5 서버에서 베타 버전을 호스팅하기위한 오픈 소스 프로젝트입니다. 완전히 파일 및 디렉토리 기반.

  • HockeyApp : 베타 빌드 호스팅, 인앱 업데이트, 통계 및 장치 등록, 초대 및 모집을위한 웹 서비스. 또한 서버 측 충돌 보고서 수집, 기호 (모든 스레드에 대한) 및 베타 및 앱 스토어 앱 (iOS + Mac)에 대한 충돌 그룹화를 제공합니다. SDK는 HockeyKit , QuincyKitPLCrashReporter (iOS에서 충돌 보고서 수집을 수행하는 방법에 대한 유일한 안전한 솔루션)를 사용하는 오픈 소스 입니다. 이 기사를 참조 하십시오 .

참고 : 나는의 주요 개발자입니다 HockeyKitQuincyKit , 그리고 개발자 중 하나 HockeyApp .


5

Testflight는 기본적으로 이미 언급 한대로 일반 Ad Hoc을 사용합니다.

UDID기능을 사용하려면 Ad Hoc 프로파일에 장치를 추가하고 새 프로파일로 앱을 다시 컴파일하고 새 빌드를 재배포하려면 모든 장치에 대해 필요합니다 .

UDIDOTA 인증 요청을 통해 도움을 받을 수 있습니다 . 이것은 실제 프로파일이 장치에 롤아웃되기 전에 MDM에서 수행되는 단계입니다. 기본적으로 장치에 대한 추가 정보를 요청하고 자체 지정된 서버로 다시 보냅니다.

첫 번째 단계는 여기에 설명되어 있습니다 : Apple OTA Configuration

Testflight는 등록 프로세스 직후에 이것을 사용하여 UDID전화 번호 를 수집합니다 .


4

예, 이것은 OTA를 배포하려는 엔터프라이즈 고객을위한 iOS의 핵심 기능입니다.

아마도 UDID를 앱과 함께 TestFlight로 전달하고 Enterprise License를 사용하여 앱을 사용자에게 보냅니다. 나는 많은 기술적 세부 사항을 놓치고 있다고 확신하지만 더 알고 싶다면 Apple은 WWDC 2010의 비디오를 가지고 있습니다.

developer.apple.com에 로그인하고 WWDC 2010 비디오 로 이동 하여 링크를 사용하여 비디오 를보십시오. 원하는 비디오는 "세션 108-모바일 장치 관리"입니다. OTA로 가능한 것이 무엇이며 OTA 프로비저닝을 수행하기 위해 수행해야하는 단계에 대해 매우 유익합니다.


0

재고 iOS 장치 는 해당 장치의 UDID를 보유한 모든 개발자로부터 Ad Hoc 앱을로드하는 사용자 를 실행 하는 데 "취약성" 이며 Apple 개발자 포털에서 허용되는 100 개의 장치 중 해당 UDID를 등록합니다.

OTA 배포는 등록 된 개발자로부터 Ad Hoc 베타 테스트 배포를 설치하는 또 다른 방법입니다.

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