Mobile

[IOS] plist 와 itms-services 작성 방법

IT-PAPA 2023. 11. 30. 06:52
반응형

Property List, 줄여서 plist는 데이터를 저장하고 전송하기 위한 Apple의 특별한 파일 형식입니다. plist 파일은 계층적 구조를 가지고 있으며, XML 또는 바이너리 형태로 저장될 수 있습니다. 주로 설정 파일이나 데이터 저장에 사용되며, iOS 및 macOS 앱에서 설정, 사용자 데이터, 앱 상태 등을 저장하는 데에 자주 활용됩니다.

plist 파일은 기본적으로 키-값 쌍의 집합으로 이루어진 딕셔너리(dictionary)와 배열(array)의 조합으로 구성됩니다. 각 키는 문자열이어야 하며, 값은 문자열, 숫자, 날짜, 불리언, 딕셔너리, 배열 등의 기본 데이터 타입 중 하나일 수 있습니다.

plist 파일은 주로 다음과 같은 용도로 사용됩니다:

  • 환경 설정 파일: 앱의 설정이나 환경 변수를 저장하는 데 사용됩니다.
  • 데이터 저장: 앱이 실행 중에 생성된 데이터를 저장하고 나중에 불러오는 데에 활용됩니다.
  • 앱 상태 저장: 앱이 종료되거나 백그라운드로 이동될 때 현재 상태를 저장하여 나중에 복원하는 데 사용됩니다.
  • plist 파일은 주로 Xcode에서 직접 편집하거나, 프로그래밍 언어에서 지원하는 라이브러리를 사용하여 동적으로 생성 및 읽기가 가능합니다.
<?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>
    <!-- items 배열 시작 -->
    <key>items</key>
    <array>
        <!-- 하나의 아이템(dict) 시작 -->
        <dict>
            <!-- assets 배열 시작 -->
            <key>assets</key>
            <array>
                <!-- 하나의 asset(dict) 시작 -->
                <dict>
                    <!-- IPA 파일의 종류를 지정 (software-package) -->
                    <key>kind</key>
                    <string>software-package</string>
                    
                    <!-- IPA 파일의 다운로드 가능한 URL을 지정 -->
                    <key>url</key>
                    <string>YOUR_IPA_FILE_URL_HERE</string>
                </dict>
                <!-- 하나의 asset(dict) 종료 -->
            </array>
            <!-- assets 배열 종료 -->

            <!-- metadata 딕셔너리 시작 -->
            <key>metadata</key>
            <dict>
                <!-- 앱의 Bundle Identifier 지정 -->
                <key>bundle-identifier</key>
                <string>YOUR_BUNDLE_IDENTIFIER_HERE</string>

                <!-- 앱의 버전 지정 -->
                <key>bundle-version</key>
                <string>YOUR_APP_VERSION_HERE</string>

                <!-- 앱의 종류를 지정 (software) -->
                <key>kind</key>
                <string>software</string>

                <!-- 앱의 이름 지정 -->
                <key>title</key>
                <string>YOUR_APP_NAME_HERE</string>
            </dict>
            <!-- metadata 딕셔너리 종료 -->
        </dict>
        <!-- 하나의 아이템(dict) 종료 -->
    </array>
    <!-- items 배열 종료 -->
</dict>
</plist>

주석을 통해 각 요소의 역할과 어떤 정보를 채워 넣어야 하는지를 설명했습니다. 위 예제에서 실제 값으로 채워야 하는 부분은 다음과 같습니다.

  • YOUR_IPA_FILE_URL_HERE: IPA 파일의 다운로드 가능한 URL
  • YOUR_BUNDLE_IDENTIFIER_HERE: 앱의 Bundle Identifier
  • YOUR_APP_VERSION_HERE: 앱의 버전
  • YOUR_APP_NAME_HERE: 앱의 이름

itms-services URL 작성:
plist 파일이 호스팅된 위치와 함께 itms-services URL을 작성해야 합니다. 아래와 같은 형식을 따릅니다.

itms-services://?action=download-manifest&url=YOUR_PLIST_FILE_URL_HERE


여기서 <string>YOUR_PLIST_FILE_URL_HERE</string> 부분에는 실제로 plist 파일이 호스팅된 URL을 삽입해야 합니다.

728x90
반응형
LIST