itms-services://
URL을 사용하여 엔터프라이즈 계정을 통해 앱을 배포합니다 . 이것은 항상 잘 작동했지만 iPad에 iOS 7.1 베타를 설치 한 후에는 설치를 거부합니다. 대신 Cannot connect to example.com
앱을 다운로드하는 데 문제가있을 때 iOS가 도움이되지 않는 일반적인 메시지를 얻습니다 .
SO, Google 또는 7.1 릴리스 정보에서 문제의 원인을 제안하는 내용을 찾을 수 없었습니다.
답변
앱을 설치하려고 할 때 iPad를 컴퓨터에 연결하고 XCode Organizer를 통해 콘솔을 보면서 문제를 발견했습니다. 오류는 다음과 같습니다.
http가 아닌 매니페스트 URL을로드 할 수 없습니다 : http://example.com/manifest.plist
iOS 7.1에서 manifest.plist
파일 의 URL은 HTTP를 사용하는 HTTPS 여야합니다. URL을 HTTPS로 변경하면 문제가 해결되었습니다.
즉
itms-services://?action=download-manifest&url=http://example.com/manifest.plist
된다
itms-services://?action=download-manifest&url=https://example.com/manifest.plist
해당 도메인에 유효한 SSL 인증서가 있어야한다고 가정합니다. 우리는 이미했지만 그것 없이는 문제가 있다고 상상할 것입니다.
답변
ingconti가 옳다.
- dropbox에 app.plist를 업로드하십시오.
- https://www.dropbox.com/s/qgknrfngaxazm38/app.plist 와 같은 app.plist의 공유 링크 가져 오기
- 대체
www.dropbox.com
와dl.dropboxusercontent.com
같은 링크에 https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist - Dropbox 공유 가능 링크에서 “? dl = 0t”와 같은 매개 변수를 제거하십시오 ( Enterprise 앱 배포의 Carlos Aguirre Tradeco가 iOS 7.1 및 자체 경험 에서는 작동하지 않음 ).
- 다음
download.html
과 같은 형식의 링크가 있는 파일을 만듭니다.<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
download.html
보관 용 계정에 업로드- 다시 https://www.dropbox.com/s/gnoctp7n9g0l3hx/download.html 과 같은 download.html의 공유 링크를 가져 와서 매개 변수를 제거하십시오.
- 교체
www.dropbox.com
와dl.dropboxusercontent.com
같은뿐만 아니라 두 번째 링크 https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html
이제 https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html
장치를 방문 하여 이전과 같이 앱을 설치할 수 있습니다.
훌륭한 세상!
답변
Mark Parnell의 답변에 더하여, 이것을 해결하는 빠르고 더러운 방법은 매니페스트 plist를 Dropbox에 넣은 다음 Dropbox 웹 인터페이스를 사용하여 직접 https 링크를 얻는 것입니다 ( ‘공유 링크’-> ‘ 링크 받기 ‘->’다운로드 ‘).
실제 ipa는 언제 어디서나 서비스를 제공 할 수 있습니다. plist의 URL을 itms-servivces URL의 쿼리에 삽입하기 전에 plist의 URL을 URL 인코딩해야합니다 (& s를 % 3D (으)로 바꾸면 효과가 있습니다).
한 가지 단점은 이제 설치 대화 상자에 “dl.dropbox.com이 [어떻게] 설치하려고합니다”라는 메시지가 표시된다는 것입니다.
답변
앞으로 iOS7.1에서 https를 통해 모든 OTA 배포를 수행해야합니다. 이것을 문서화하지 않은 것에 대한 사과의 수치.
dropbox에 의존하는 것보다 더 나은 사내 솔루션을 찾고 있거나 인증서를 현금으로 인출하는 것보다 더 나은 사내 솔루션을 찾고있는 사람들은 여기 팁 # 5에 설명 된 단계를 수행하면 솔루션을 가질 수 있습니다 : http : // blog. httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/
그것의 요지는 이것입니다 :
- 완전히 신뢰할 수있는 장치에 설치할 수있는 자체 CA 기관 인증서를 만듭니다 (전자 메일로 간단히 설치).
- 루트 인증서에 대해 키 / cer 쌍을 작성하여 서버에 설치하십시오.
- 웹 서버가 CA Authority 루트 인증서와 일치하는 키 / cer 쌍을 사용하는지 확인하십시오
- 이 시점에서 평소와 같이 https를 통해 앱을 설치할 수 있습니다
- 이 모든 것은 기본적으로 이미 설치되어있는 openssl을 사용하여 OSX에서 수행 할 수 있습니다.
이것은 자체 서명 된 인증서를 수행하는 것과 같지 않습니다.이 솔루션에서 사용자는 자신의 개인 인증 기관으로도 활동하고 있습니다. Apple 장치에 설치된 루트 인증서가 신뢰할 수있는 (녹색)으로 표시되지 않으면 잘못된 것입니다. 끝났어
이것은 절대적으로 작동합니다.
업데이트 : 2014 년 3 월 13 일-이 전체 프로세스를 단순화하는 작은 명령 줄 유틸리티를 제공했습니다. https://github.com/deckarep/EasyCert/releases 에서 얻을 수 있습니다.
답변
나는 같은 문제가 있었고 이미 SSL 서버를 사용하고 있었지만 근본적인 문제가 있었기 때문에 단순히 https로 링크를 변경하는 것이 작동하지 않았습니다.
강조 표시된 부분 은 인증서를 신뢰할 수있는 옵션이 제공 되어야한다고 말 했지만 이것이 앱 스토어이므로 Safari를 통해 복구 제안이 제시되지 않습니다.
다음과 같은 이유로 기존 솔루션에 만족하지 못했습니다.
- 일부 옵션은 타사 (Dropbox)에 의존해야합니다.
- SSL 인증서 비용을 기꺼이 지불하지 않았습니다
- 무료 SSL 인증서는 임시 솔루션 일뿐입니다.
마지막으로 자체 서명 된 루트 인증 기관을 만들고이를 사용하여 서버의 SSL 인증서를 생성 하여 솔루션을 찾았습니다 .
Keychain Access와 OSX Server를 사용했지만 각 단계마다 다른 유효한 솔루션이 있습니다.
인증 기관 생성
내가 수집 한 것에서 인증 기관은 인증서가 정품인지 확인하는 데 사용됩니다. 우리가 직접 만들려고하므로 정확히 안전 하지는 않지만 주어진 기관의 모든 인증서를 신뢰할 수 있음을 의미합니다. 이러한 권한 목록은 일반적으로 브라우저에서 실제로 신뢰 되므로 기본적으로 브라우저에 포함됩니다 . (GeoTrust Global CA, Verisign 등)
- 키 체인을 열고 인증 지원을 사용하여 권한을 작성하십시오.
- 인증 기관 정보를 입력하십시오
- 필요한지 모르겠지만 권한을 신뢰할 수있게 만들었습니다.
인증서 서명 요청 생성
이 경우 서버 관리자가 인증서 서명 요청을 생성합니다. 단순히 “내 사이트에이 정보가 포함 된 인증서를받을 수 있습니까?”라는 파일입니다.
- 다음으로 인증서 서명 요청 을 작성해야합니다 (이 비트에 대해 OSX Server의 인증서 관리자를 사용했습니다)
- 인증서 정보를 입력하십시오 (@Jasper Blues 덕분에 ascii 문자 만 포함해야합니다!).
- 생성 CSR을 어딘가에 저장
인증서 작성
인증 기관의 역할을 다시 수행하는 것은 CSR을 보낸 사람이 진짜이고 다른 사람이 아닌 척하는 것은 귀하의 결정에 달려 있습니다. 실제 당국은이를 수행하는 고유 한 방법을 가지고 있지만, 본인이 본인임을 확신하기 때문에 확인이 확실해야합니다. 🙂
- 키 체인 접근으로 돌아가서 그림과 같이 “인증서 생성”옵션을여십시오.
- 저장된 CSR을 표시된 상자로 끕니다.
- “이 요청에 대한 기본값을 무시합니다”버튼을 클릭하십시오.
- 유효 기간을 늘리고 싶습니다.
- 어떤 이유로 우리는 정보를 다시 채워야합니다
- 이 화면에서 계속을 클릭하십시오
- SSL 서버 인증을 클릭했는지 확인하십시오 . 이로 인해 두통이 발생했습니다.
-
나머지 옵션을 통해 계속을 클릭 할 수 있습니다.
-
Mail 앱이 열리고 인증서를 보낼 수 있습니다. 이메일로 보내지 말고 마우스 오른쪽 버튼을 클릭하여 저장하십시오.
인증서 설치
이제 SSL 트래픽을 위해 방금 생성 한 인증서를 사용하도록 서버를 설정해야합니다.
- 작업중인 장치 가 서버 인 경우 인증서가 이미 설치되어있을 수 있습니다.
- 그렇지 않은 경우 보류중인 인증서를 두 번 클릭하고 방금 이메일에서 저장 한 PEM 파일을 표시된 공간으로 끕니다. 또는 키 체인에서 PEM을 저장하지 않은 경우 PEM을 내보낼 수 있습니다.
- 이 새 인증서를 사용하도록 서버를 업데이트하십시오. 새 인증서가 “고착”되지 않고 계속 되 돌리면 BOLD ITALIC CAPS 의 비트로 돌아가십시오.
장치 설정
앱을 설치해야하는 각 장치에는 해당 인증 기관의 사본이 있어야 해당 기관의 SSL 인증서를 신뢰할 수 있음을 알 수 있습니다.
- 키 체인 접근으로 돌아가서 인증 기관을 .cer로 내보내기
- 그런 다음이 파일을 OTA 앱과 함께 서버에 저장하면 사용자가이 링크를 클릭하고 기관 인증서를 다운로드 할 수 있습니다. 인증서를 사용자에게 직접 이메일로 보내는 것도 유효한 옵션입니다.
- 장치에 인증서를 설치하십시오.
테스트
-
plist 링크 가 https 인지 확인하십시오
- 앱을 설치하고 설치하십시오! 이제 작동합니다. 인증 기관을 신뢰할 수 있으며 SSL 인증서는 해당 기관에서 가져 왔습니다.
답변
작동하는지 확인할 수 있지만 dropbox에 html 및 plist를 넣어야합니다. 기업 외 OTA에서도 작동합니다. 즉, 개발자와 앱을 공유하려고합니다. 팀.
나는했다 :
a) 내 사이트 에서이 링크가있는 페이지를 만들었습니다.
.. href = “https://dl.dropboxusercontent.com/u//(your DB id) /ipa.html”> MyApp
b) DropBox에서 다른 HTML 페이지를 작성했습니다.
.. https://dl.dropboxusercontent.com/u/(your DB id) /MyApp.plist “> 탭하여 MyApp 설치
c) DropBox에서 plist를 옮겼지만 이전 서버로 POINT로 둡니다 (https 없음)
답변
터미널을 열고 다음 명령을 실행하십시오 : curl -i https : // (.ipa 파일 경로가 plist가 아님)
설치 프로그램이 IPA 파일을 볼 수 있는지 여부를 알려줍니다. ‘-i’와 함께 curl 명령을 실행하면 전체 응답이 표시되고 IPA 파일이 아닐 수 있습니다. 이것은 설치 프로그램이 보는 응답이므로 HTTP 200 및 IPA를 반환하지 않으면 최종적으로 반환해야합니다.
ITMS 설치 프로그램은 Safari의 컨텍스트를 저장하지 않습니다. Safari에서 보안 포털로 인증 한 경우 인증 쿠키가 설치 프로그램으로 전달되지 않습니다. 즉, 설치 프로그램이 인증없이 앱을 볼 수 있어야하며 이것이 ‘서버에 연결할 수 없습니다’라는 이유 일 수 있습니다.