itms-services://
URL을 사용하여 엔터프라이즈 계정을 통해 앱을 배포합니다 . 이것은 항상 잘 작동했지만 iPad에 iOS 7.1 베타를 설치 한 후에는 설치를 거부합니다. 대신 Cannot connect to example.com
앱을 다운로드하는 데 문제가있을 때 iOS가 도움이되지 않는 일반적인 메시지를 얻습니다 .
SO, Google 또는 7.1 릴리스 정보에서 문제의 원인을 제안하는 내용을 찾을 수 없었습니다.
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가 옳다.
www.dropbox.com
와 dl.dropboxusercontent.com
같은 링크에 https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plistdownload.html
과 같은 형식의 링크가 있는 파일을 만듭니다.<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
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/
그것의 요지는 이것입니다 :
이것은 자체 서명 된 인증서를 수행하는 것과 같지 않습니다.이 솔루션에서 사용자는 자신의 개인 인증 기관으로도 활동하고 있습니다. Apple 장치에 설치된 루트 인증서가 신뢰할 수있는 (녹색)으로 표시되지 않으면 잘못된 것입니다. 끝났어
이것은 절대적으로 작동합니다.
업데이트 : 2014 년 3 월 13 일-이 전체 프로세스를 단순화하는 작은 명령 줄 유틸리티를 제공했습니다. https://github.com/deckarep/EasyCert/releases 에서 얻을 수 있습니다.
나는 같은 문제가 있었고 이미 SSL 서버를 사용하고 있었지만 근본적인 문제가 있었기 때문에 단순히 https로 링크를 변경하는 것이 작동하지 않았습니다.
강조 표시된 부분 은 인증서를 신뢰할 수있는 옵션이 제공 되어야한다고 말 했지만 이것이 앱 스토어이므로 Safari를 통해 복구 제안이 제시되지 않습니다.
다음과 같은 이유로 기존 솔루션에 만족하지 못했습니다.
마지막으로 자체 서명 된 루트 인증 기관을 만들고이를 사용하여 서버의 SSL 인증서를 생성 하여 솔루션을 찾았습니다 .
Keychain Access와 OSX Server를 사용했지만 각 단계마다 다른 유효한 솔루션이 있습니다.
내가 수집 한 것에서 인증 기관은 인증서가 정품인지 확인하는 데 사용됩니다. 우리가 직접 만들려고하므로 정확히 안전 하지는 않지만 주어진 기관의 모든 인증서를 신뢰할 수 있음을 의미합니다. 이러한 권한 목록은 일반적으로 브라우저에서 실제로 신뢰 되므로 기본적으로 브라우저에 포함됩니다 . (GeoTrust Global CA, Verisign 등)
이 경우 서버 관리자가 인증서 서명 요청을 생성합니다. 단순히 "내 사이트에이 정보가 포함 된 인증서를받을 수 있습니까?"라는 파일입니다.
인증 기관의 역할을 다시 수행하는 것은 CSR을 보낸 사람이 진짜이고 다른 사람이 아닌 척하는 것은 귀하의 결정에 달려 있습니다. 실제 당국은이를 수행하는 고유 한 방법을 가지고 있지만, 본인이 본인임을 확신하기 때문에 확인이 확실해야합니다. :)
나머지 옵션을 통해 계속을 클릭 할 수 있습니다.
Mail 앱이 열리고 인증서를 보낼 수 있습니다. 이메일로 보내지 말고 마우스 오른쪽 버튼을 클릭하여 저장하십시오.
이제 SSL 트래픽을 위해 방금 생성 한 인증서를 사용하도록 서버를 설정해야합니다.
앱을 설치해야하는 각 장치에는 해당 인증 기관의 사본이 있어야 해당 기관의 SSL 인증서를 신뢰할 수 있음을 알 수 있습니다.
plist 링크 가 https 인지 확인하십시오
Certificate Authority
인증서는 실수로 처음 설치 한 자체 서명 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에서 보안 포털로 인증 한 경우 인증 쿠키가 설치 프로그램으로 전달되지 않습니다. 즉, 설치 프로그램이 인증없이 앱을 볼 수 있어야하며 이것이 '서버에 연결할 수 없습니다'라는 이유 일 수 있습니다.
나는 같은 문제가 있었고 위에서 언급 한 것처럼했습니다.
두 페이지 모두 iOS 7.1이 설치된 iPhone에 앱을 설치하는 데 성공했습니다.
그러나 이제 iOS 7.0x가 설치된 iPhone은 앱을 설치할 수 없습니다.
새로운 질문을 만들었습니다. 7.1 이전의 iOS에서는 업그레이드 된 adhoc 앱 배포가 작동하지 않습니다.
두 가지 문제는 밀접한 관련이 있으며 공식적인 참고 자료가 부족하기 때문에 보완됩니다.
일부 멋진 사람은 Class 1 StartSSL 인증서와 기존 * .plist 파일의 링크를 자동으로 변경하기위한 인증서 지원 (모든 인증서와 함께 작동) 및 코드를 추가하는 공유 Apache 구성을 사용하여이 문제를 처리했습니다. 복사하기에 너무 길어서 다음 링크가 있습니다 : http://cases.azoft.com/how-to-fix-certificate-is-not-valid-error-on-ios-7/
매력처럼 작동하는 AWS S3가있는 경우. 잘. 상대적으로 말하기 :-)
AWS에서 임시 버킷을 생성하고 인덱스 파일 (공백 index.html 파일 일 수 있음)을 추가 한 다음 CyberDuck 또는 Coda와 같은 S3에 연결할 수있는 클라이언트를 사용합니다 (코다를 사용했습니다-여기서 추가 선택). 연결 창을 얻는 사이트)를 클릭 한 다음 첨부 파일과 같이 연결을 설정하십시오.
그런 다음 XCode에서 엔터프라이즈 애드혹을 빌드하고 https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.ipa 를 애플리케이션 URL로 사용하고 업로드하십시오 새 S3 버킷 디렉토리에 추가하십시오.
itms 링크, 즉 itms-services : //? action = download-manifest & url = https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.plist 와 일치해야합니다.
그리고 voilá.
이것은 일반적인 AWS URL에만 해당됩니다. AWS에서 사용자 지정 URL을 사용해 보지 않았으므로 몇 가지 다르게 수행해야 할 수도 있습니다.
James Webster의 솔루션을 위의 작업으로 만들려고했지만 Plesk에서 작동하지 못했습니다.
엔터프라이즈 배포에 Dropbox를 사용하는 대신 엔터프라이즈 서명 앱 배포에 TestFlight를 사용할 수 있습니다.
https://www.testflightapp.com/
이것은 임시 개발 빌드와 엔터프라이즈 빌드 모두의 호스팅 및 배포를위한 환상적인 서비스입니다.
Dropbox에 대한 이전 답변에서 PLIST 파일 만 Dropbox에 업로드 해야하는 것과 같은 다음 파일 트리를 구현했습니다.
링크를 클립 보드에 복사하는 "드롭 박스와 링크 공유"옵션을 사용하십시오. 이 링크는 일부 변경 한 후 아이튠즈 뮤직 스토어 - servivces의 URL의 쿼리로 html 파일에 복사해야합니다 www.dropbox.com
의해를 dl.dropboxusercontent.com
. 참고 @Mike가 제안한대로 링크를 URL로 인코딩했지만 수행하지 않고 테스트하지는 않습니다. 이제 itms-services URL의 쿼리는 다음과 같아야합니다.itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist
html 파일을 http로 서버에 업로드하십시오. html 파일에는 ipa 및 프로비저닝 파일에 대한 링크가 모두 포함되어 있습니다.
지금부터는 iTA 파일 만 변경하여 베타 테스터에게 OTA의 다음 앱 버전을 제공해야합니다. Apple이 아직 보안 규칙을 변경하기 전까지는.
내가 사용하는 매우 간단한 HTML 파일 다음에 여기에 합류합니다.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>iPhone app for test</title>
</head>
<body>
<h1>iPhone app for test</h1>
<br/>
<ul>
<li><a href="http://www.yourdomain.com/with/directories/provision/v.last/yourprovision_adhoc.mobileprovision">
Install Provisioning File</a></li>
<li><a href="itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist">
Install Application</a></li>
</ul>
</body>
</html>
Google 팀은 https를 사용하는 애드혹 배포를 위해 dropbox를 사용하지만 여전히 앱을 설치하지 못했습니다. 많은 문제 해결 후 제목 필드도 필요 하다는 것을 깨달았 습니다. 이 필드가없는 링크를 보낼 때마다 Safari는 링크를 무시하고 사용자에게 설치하라는 메시지를 표시하지 않았습니다. 때로는 빠른 개발 테스트를 위해 XML의 제목 노드를 건너 뛰고 채우지 않았습니다. 이 문제가있는 사람에게 도움이되는 경우 .plist에 다음 노드가 포함되어 있는지 확인하십시오.
....
<string>software</string>
<key>title</key>
<string>Your App Name</string>
...
보편적 인 솔루션은 장비를 Mac에 연결하고 설치 중에 진행되는 작업을 관찰하는 것입니다. 오류가 발생했습니다.
기본 오류로 다운로드 매니페스트를로드 할 수 없습니다 : 오류 도메인 = NSURLErrorDomain 코드 = -1202 "상점에 연결할 수 없습니다"UserInfo = 0x146635d0 {NSLocalizedDescription = 상점에 연결할 수 없습니다, NSLocalizedRecoverySuggestion = 어쨌든 서버에 연결 하시겠습니까?, NSLocalizedFailureReason = 보안 연결을 설정할 수 없습니다. 날짜 및 시간 설정을 확인하십시오. , NSErrorFailingURLStringKey = https://myserver.com/app/manifest.plist , NSUnderlyingError = 0x14678880 "이 서버의 인증서가 유효하지 않습니다."myserver.com "인 서버에 연결되어있을 수 있습니다. 기밀 정보가 위험에 노출됩니다. ", NSURLErrorFailingURLPeerTrustErrorKey =, NSErrorFailingURLKey =https://myserver.com/app/manifest.plist }
날짜 설정을 확인하라는 오류가 제안되었습니다. 어떤 이유로 날짜는 1970 년 1 월 1 일이었습니다. 정확한 날짜를 설정하면 문제가 해결되었습니다.
Apter 변경 시도 itms-services://?action=download-manifest&url=http://....
에 itms-services://?action=download-manifest&url=https://....
. 또한 효과가 없었습니다. 경고는cannot connect to my domain
입니다. 웹 페이지도 업데이트해야한다는 것을 알았습니다.
문제는 기본 URL이 HTTPS가 아니라 페이지 내의 링크에있는 일부 HTML 코드와 관련이 있습니다. 웹 페이지를 업데이트하려면 개발자가 필요합니다. 또한 준비 도메인에 유효한 SSL 인증서가 없으므로 Dropbox를 설치하거나 Dropbox를 사용해야하며 여기 에 링크가 도움이 될 수 있습니다.