2013-02-26 1 views
9

내 베타 애드혹 빌드를 내 서버에 배포하고 싶습니다. Apple이 무선으로 응용 프로그램을 설치하는 데 사용하는 논리에는 2 개의 중요한 URL이있는 것으로 보입니다.Over the Air iOS Adhoc 상대 URL을 사용하여 빌드

첫 번째 URL은 HTML에 : 두 번째가 PLIST 파일

<dict> 
    <key>kind</key> 
    <string>software-package</string> 
    <key>url</key> 
    <string>http://www.example.com.cn/path/to/binary/app.ipa</string> 
</dict> 

해당 URL이 상대가 될 수 안에

<p><a href="itms-services://?action=download-manifest&url=http://www.example.com.cn/path/to/plist/theplist.plist">Adhoc Build</a></p> 

? 동일한 HTML 및 XML 파일을 내 개발 시스템 (MAMP 서버)에서 모두 작동하여 먼저 바이너리를 다운로드 한 다음 웹 서버 (NGINX)의 테스터에게 임시 빌드를 게시하십시오. 현재는 절대 URL로만 작업 할 수 있습니다.

나의 생각은 내가 장치에서 팝업을 얻을 그 상대 URL을 사용하면 내가 연결할 수 없습니다 "라는 클릭하면이 두 상대 URL이

<p><a href="itms-services://?action=download-manifest&url=/path/to/plist/theplist.plist">Adhoc Build</a></p> 

<dict> 
    <key>kind</key> 
    <string>software-package</string> 
    <key>url</key> 
    <string>/path/to/binary/app.ipa</string> 
</dict> 

일을해야한다는 것입니다 (null) "

답변

7

HTTP 또는 HTTPS 요청을 사용하면 누락 된 세부 사항을 채우기 위해 웹 브라우저에서 상대 URL을 처리 할 수 ​​있습니다. .plist 파일에 대한 링크는 사용자 정의 URL 스키마입니다. Safari는 URL의 형식을 알지 못하므로 누락 된 세부 정보를 입력하지 않습니다. 따라서 해당 링크는 절대 URL이어야합니다. Safari는 단지 itms-services URL 스키마를 처리 할 수있는 무언가를 찾고, 전체 URL을 해당 구성표로 보냅니다.

.ipa 파일에 대한 링크도 절대적이어야합니다. itms-services URL 스킴을 처리하는 프로그램에 충분한 정보가 없기 때문에, 프로그램이 해당 정보를 처리하기 위해 내장 된 논리를 실행하지 않기 때문에 URL Apple은 상대 URL 기능을 추가하는 대신 코드를 간단하고 안정적으로 유지하려고합니다.

하나의 해결책은 HTML 및 PLIST 파일의 서버 측 프로세서를 작성하여 서버를 기반으로 절대 URL로 다시 작성된 파일을 생성하는 것입니다. 이 작업을 어떻게 선택했는지는 서버의 구성에 따라 다릅니다.

다른 해결책은 주 웹 서버에서 .plist 및 .ipa를 유지하고 해당 서버에 대한 절대 URL을 사용하고 두 서버에서 HTML 파일로 작업하는 것입니다.