프로그래밍/예전글

젠킨스에서 IOS빌드 및 배포

Cat체셔 2015. 2. 26. 10:59

젠킨스의 해당 잡에서 build에 excute shell을 추가합니다.


xcode 빌드는 xcodebuild라는 녀석을 통해합니다.

xcodebuild는 xcode에서 commandline tool을 설치하면 됩니다. (preference에 있습니다.)

xcodebuild -project "프로젝트의 상대경로.xcodeproj" -configuration "Release or Debug or anything else" -scheme 스킴이름 clean archive -archivePath "생성할 xcarchive 상대경로.xcarchive"

xcodebuild -exportArchive -exportFormat ipa -archivePath "위에서 생성한 xcarchive 상대경로.xcarchive" -exportPath "생성할 ipa 상대경로.ipa" -exportProvisioningProfile "프로비져닝프로파일 이름"


프로비져닝 제대로 세팅을 안하면 ipa가 설치되는 것처럼 보여도 마지막에 실패하는 문제가 발생합니다.


ipa를 웹에서 설치하도록 하는 방법


1. 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>ipa URL</string>

</dict></array>

<key>metadata</key>

<dict>

<key>bundle-identifier</key><string>bundle identifier</string>

<key>bundle-version</key><string>bundle version</string>

<key>kind</key><string>software</string>

<key>title</key><string>product name</string>

</dict>

</dict></array>

</dict></plist>

1. 위와 같이 plist파일을 생성

2. ipa URL을 입력

3. bundle identifier를 입력

4. bundle version를 입력

5. product name을 입력

6. 생성한 plist파일을 https서버에 업로드(ex : 드랍박스, etc...)


2. 아이폰의 사파리에서 아래의 주소를 입력합니다.

itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/aej12jdnkc/myapp.plist

(plist파일만 https서버 상에 올라가있으면 됩니다.)