Xcode7로 ipa 내보내기, OTA로 보내기
입문
나는 매년 같은 제목으로 쓴다고 생각한다.
매번 Xcode 리그가 업그레이드될 때마다 애플은 미묘한 변화를 일으킨다.
소스 코드 관리부터 배포까지 CI 환경이 있는 경우 CI 서비스가 중단될 때
나는 누군가가 난처할 것이라고 생각한다.
그 다음에 비기술자도 손을 댈 수 있도록 여기서 정리해 봅시다.
전제 조건
비트코드를 ON으로 설정
Xcode7로 개발을 시작하면 보통 ON
나는 이곳의 기본 설정을 보류했다.
항목에 사용되는 언어
swift는 이미 주류이기 때문에 이 언어를 사용합니다.
아마 Obj-C도 마찬가지일 거예요. 다르면 댓글로 남겨주세요.
ipa 내보내기
아카이브 내보내기 버튼을 누릅니다.
내보낼 ipa의 용도 선택
이번에는 adhoc.
Thining
iOS9 이상을 목표로 구축되며 아카이브 시 Thining을 사용할 수 있습니다.
iOS9이 아니면 사용할 수 없습니다. 선택할 수 있는 것은 all compatible devices
의 시작입니다.
관련 설정 내보내기
빨간색 상자를 더한 것은 다음 항목입니다.
비트코드를 ON으로 설정
Xcode7로 개발을 시작하면 보통
ON
나는 이곳의 기본 설정을 보류했다.항목에 사용되는 언어
swift는 이미 주류이기 때문에 이 언어를 사용합니다.
아마 Obj-C도 마찬가지일 거예요. 다르면 댓글로 남겨주세요.
ipa 내보내기
아카이브 내보내기 버튼을 누릅니다.
내보낼 ipa의 용도 선택
이번에는 adhoc.
Thining
iOS9 이상을 목표로 구축되며 아카이브 시 Thining을 사용할 수 있습니다.
iOS9이 아니면 사용할 수 없습니다. 선택할 수 있는 것은 all compatible devices
의 시작입니다.
관련 설정 내보내기
빨간색 상자를 더한 것은 다음 항목입니다.
Next
버튼을 눌러 실행합니다.내보내기
데스크톱에 폴더를 만듭니다.
[어플리케이션 이름] [제작 연월일 시간]
폴더에는 ipa와 manifest가 포함되어 있습니다.plist의 출력을 설정하면 이 파일도 함께 쓸 수 있습니다.
OTA 목록 파일 내보내기
아카이브에서 내보낼 때 OTA의 목록 파일도 함께 내보낼 수 있습니다.
이미지의 빨간색 상자를 선택하고 Next
버튼을 누릅니다.
비트코드에서 내보낼 때 빨간색 상자 아래의 체크 상자도 열면 됩니다.
목록 파일 정보
내보내기
데스크톱에 쓰다.
manifest.plist 출력은 다음과 같습니다.
각종 정보에는 기본 설정이 적혀 있으니 각자 고쳐 쓰세요.
manifest.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://www.example.com/apps/foo.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>https://www.example.com/image.57x57.png</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>https://www.example.com/image.512x512.jpg</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>jp.hoge.huga.OTAProg</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>OTAProg</string>
</dict>
</dict>
</array>
</dict>
</plist>
웹 서버(SSL 설정됨)에 직접 배치한 경우 지정된 이미지 파일도 함께 배치되지 않으면 다운로드에 실패합니다.(실패)따라서 이미지를 배치하지 않은 상태에서
출력된 manifest.주석 부분plist.
manifest.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://www.example.com/apps/foo.ipa</string>
</dict>
<!--
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>https://www.example.com/image.57x57.png</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>https://www.example.com/image.512x512.jpg</string>
</dict>
-->
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>jp.hoge.huga.OTAProg</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>OTAProg</string>
</dict>
</dict>
</array>
</dict>
</plist>
배포 예
html 폴더를 문서 루트 디렉터리로 각 파일을 놓는 예입니다.
index.html
<html>
<head><title>title</title></head>
<body>
<a href="itms-services://?action=download-manifest&url=https://www.example.com/apps/manifest.plist">install</a>
</body>
</html>
구성할 웹 서버 측
mimetype
plist, ipa 파일의mimetype를 설정해야 합니다.
plist: text/xml
ipa는 application/octet-stream
nginx에서/etc/nginx/mime.types
.
mime.typestypes {
# 他のmimetype
# for OTA
text/xml plist;
application/octet-stream ipa;
# 他のmimetype
}
SSL 프로토콜
사쿠라의 VPS 제작 환경에서 확인된 곳입니다.
TLSv1.1
v1.2
에 문제가 없습니다.
위의 계약에만 한정된 SSL 설정은 다음과 같습니다.
http://qiita.com/nofrmm/items/5e50f077eb1602a3458e
인터럽트
types {
# 他のmimetype
# for OTA
text/xml plist;
application/octet-stream ipa;
# 他のmimetype
}
참조 URL
무선 내장 어플리케이션 설치
http://help.apple.com/deployment/ios/#/apda0e3426d7
마지막
나는 OTA 파일을 손으로 써 보았다.
서버를 포함한 지식이 있으면 적당한 부분을 정리할 수 있다.
앱만 하면 알 수 없는 부분도 생길 수 있다고 생각해요. 그래서 유료 서비스와 제한된 무료 서비스뿐만 아니라 자신도 서버를 만들 수 있는 곳도 좋아요.
Reference
이 문제에 관하여(Xcode7로 ipa 내보내기, OTA로 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nofrmm/items/797ab6fc89af3ade7a27
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
나는 OTA 파일을 손으로 써 보았다.
서버를 포함한 지식이 있으면 적당한 부분을 정리할 수 있다.
앱만 하면 알 수 없는 부분도 생길 수 있다고 생각해요. 그래서 유료 서비스와 제한된 무료 서비스뿐만 아니라 자신도 서버를 만들 수 있는 곳도 좋아요.
Reference
이 문제에 관하여(Xcode7로 ipa 내보내기, OTA로 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nofrmm/items/797ab6fc89af3ade7a27텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)