Xamarin.iOS 앱에서 iTunesMetadata.plist 파일The iTunesMetadata.plist File in Xamarin.iOS Apps

이 문서에서는 테스트 또는 엔터프라이즈 배포를 위해 임시 배포를 사용하여 iOS 애플리케이션에 관한 정보를 iTunes에 제공하는 데 사용되는 iTunesMetadata.plist 파일에 대해 설명합니다.This article covers the iTunesMetadata.plist file used to provide information to iTunes about an iOS application using Ad Hoc distribution for either testing or Enterprise deployment.

iOS 애플리케이션(iTunes 앱 스토어의 판매 또는 무료 릴리스용)이 iTunes Connect에 만들어지면, 개발자가 애플리케이션의 장르, 하위 장르, 저작권 표시, 지원되는 iOS 디바이스 및 필요한 디바이스 기능과 같은 정보를 지정할 수 있습니다.When an iOS application is created in iTune Connect (either for sale or free release from the iTunes App Store), the developer can specify information such as the application's genre, sub genre, copyright notice, supported iOS devices and required device capabilities. 임시 배포를 통해 테스터 또는 엔터프라이즈 사용자에게 배달되는 iOS 애플리케이션의 경우 이 정보가 누락됩니다.For iOS applications that are delivered either to testers or Enterprise user via ad hoc distribution, this information is missing.

누락된 정보를 임시 배포에 제공하기 위해 선택적인 iTunesMetadata.plist 파일을 만들어 애플리케이션 IPA 파일에 포함할 수 있습니다.To supply the missing information to an Ad Hoc distribution, an optional iTunesMetadata.plist file can be created and included in the applications IPA file. 이 plist 파일은 지정된 iOS 애플리케이션에 대한 정보를 정의하는 키/값 쌍이 포함된 특수 형식의 XML 파일입니다(Apple의 속성 목록 프로그래밍 가이드 참조).This plist file is a specially formatted XML file (see Apple's Property List Programming Guide for more information) that contains key/value pairs defining information about a given iOS application.

iTunesMetadata.plist 내용The iTunesMetadata.plist Contents

다음은 임시 배포에 대한 iTunes 정보를 정의하는 데 사용되는 일반적인 iTunesMetadata.plist 파일의 예제입니다.The following is an example of typical iTunesMetadata.plist file used to define the iTunes information for an Ad Hoc distribution:

<?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>UIRequiredDeviceCapabilities</key>
    <dict>
        <key>armv7</key>
        <true/>
        <key>front-facing-camera</key>
        <true/>
    </dict>
    <key>artistName</key>
    <string>Company, Inc.</string>
    <key>bundleDisplayName</key>
    <string>App Name</string>
    <key>bundleShortVersionString</key>
    <string>1.5.1</string>
    <key>bundleVersion</key>
    <string>1.5.1</string>
    <key>copyright</key>
    <string>© 2015 Company, Inc.</string>
    <key>drmVersionNumber</key>
    <integer>0</integer>
    <key>fileExtension</key>
    <string>.app</string>
    <key>gameCenterEnabled</key>
    <false/>
    <key>gameCenterEverEnabled</key>
    <false/>
    <key>genre</key>
    <string>Games</string>
    <key>genreId</key>
    <integer>6014</integer>
    <key>itemName</key>
    <string>App Name</string>
    <key>kind</key>
    <string>software</string>
    <key>playlistArtistName</key>
    <string>Company, Inc.</string>
    <key>playlistName</key>
    <string>App Name</string>
    <key>releaseDate</key>
    <string>2015-11-18T03:23:10Z</string>
    <key>s</key>
    <integer>143441</integer>
    <key>softwareIconNeedsShine</key>
    <false/>
    <key>softwareSupportedDeviceIds</key>
    <array>
        <integer>9</integer>
    </array>
    <key>softwareVersionBundleId</key>
    <string>com.company.appid</string>
    <key>subgenres</key>
    <array>
        <dict>
            <key>genre</key>
            <string>Puzzle</string>
            <key>genreId</key>
            <integer>7012</integer>
        </dict>
        <dict>
            <key>genre</key>
            <string>Word</string>
            <key>genreId</key>
            <integer>7019</integer>
        </dict>
    </array>
    <key>versionRestrictions</key>
    <integer>16843008</integer>
</dict>
</plist>

개별 키에 대한 값은 아래에서 자세히 설명합니다.The values for the individual keys will be covered in detail below.

UIRequiredDeviceCapabilitiesUIRequiredDeviceCapabilities

UIRequiredDeviceCapabilities 키를 사용하면 iTunes에서 지정된 iOS 디바이스에 설치되기 전에 iOS 애플리케이션에 필요한 디바이스의 특정 기능을 인식할 수 있습니다.The UIRequiredDeviceCapabilities key lets iTunes know which device specific features an iOS application requires before it can be installed on a given iOS device. 이 키는 기능(<key>...</key>)의 사전(<dict>...</dict>) 및 각 기능에 대한 부울 값으로 제공됩니다.It is provided as a dictionary (<dict>...</dict>) of features (<key>...</key>) and a boolean value for each feature. 기능의 값이 true이면 해당 기능이 장치에 있어야 합니다.If the value of a feature is true, then that feature must be present. false이면 해당 기능이 디바이스에 없어야 합니다.If it is false the feature must not be present on the device. 예:For example:

<key>UIRequiredDeviceCapabilities</key>
<dict>
    <key>armv7</key>
    <true/>
    <key>front-facing-camera</key>
    <true/>
</dict>

이 애플리케이션을 디바이스에 설치하려면 먼저 iOS 디바이스에서 ARM7 명령 집합을 지원하고 전면 카메라가 있어야 한다고 지정합니다.Specifies that the iOS device must support the ARM7 instruction set and have a front-facing camera before this application can be installed on the device. 허용되는 값의 전체 목록은 Apple의 UIRequiredDeviceCapabilities 설명서를 참조하세요.For a complete list of allowed values, please see Apple's UIRequiredDeviceCapabilities documentation.

artistName 및 playlistArtistNameartistName and playlistArtistName

artistNameplaylistArtistName 키를 사용하여 iTunes에 표시할 iOS 애플리케이션을 만든 회사의 이름을 정의합니다.Use the artistName and playlistArtistName keys to define the name of the company that created the iOS application that will be displayed in iTunes. 예:Example:

<key>artistName</key>
<string>Company, Inc.</string>
...
<key>playlistArtistName</key>
<string>Company, Inc.</string>

bundleDisplayName, itemName 및 playlistNamebundleDisplayName, itemName, and playlistName

bundleDisplayName, itemNameplaylistName 키를 사용하여 iTunes 내부에 표시할 iOS 애플리케이션의 이름을 정의합니다.Use the bundleDisplayName, itemName, and playlistName keys to define the name of the iOS application that will be displayed inside of iTunes. 예:Example:

<key>bundleDisplayName</key>
<string>App Name</string>
...
<key>itemName</key>
<string>App Name</string>
...
<key>playlistName</key>
<string>App Name</string>

bundleShortVersionString 및 bundleVersionbundleShortVersionString and bundleVersion

bundleShortVersionStringbundleVersion 키를 사용하여 iTunes에 표시할 iOS 애플리케이션의 버전 번호를 정의합니다.Use the bundleShortVersionString and bundleVersion keys to define the iOS application version number that will be displayed in iTunes. 예:Example:

<key>bundleShortVersionString</key>
<string>1.5.1</string>
<key>bundleVersion</key>
<string>1.5.1</string>

softwareVersionBundleIdsoftwareVersionBundleId

softwareVersionBundleId 키를 사용하여 iOS 애플리케이션에 대한 번들 ID를 지정합니다.Use the softwareVersionBundleId key to specify the Bundle ID for the iOS application. 예:Example:

<key>softwareVersionBundleId</key>
<string>com.company.appid</string>

copyright 키를 사용하여 iTunes에 표시되는 저작권 표시를 정의합니다.Use the copyright key to define the copyright notice that is displayed in iTunes. 예:Example:

<key>copyright</key>
<string>© 2015 Company, Inc.</string>

releaseDatereleaseDate

releaseDate 키를 사용하여 iTunes에 표시할 iOS 애플리케이션의 릴리스 날짜를 제공합니다.Use the releaseDate key to provide a release date for the iOS application that will be displayed in iTunes. 예:Example:

<key>releaseDate</key>
<string>2015-11-18T03:23:10Z</string>

softwareIconNeedsShinesoftwareIconNeedsShine

softwareIconNeedsShine 키를 사용하여 iOS 6(및 이전 버전)에 대해 _반짝이는 강조 표시_가 iOS 애플리케이션의 아이콘에 필요한지 여부를 iTunes에 알립니다.Use the softwareIconNeedsShine key to tell iTunes if the iOS Application's icon requires a shine highlight for iOS 6 (and prior). 예:Example:

<key>softwareIconNeedsShine</key>
<false/>

gameCenterEnabled 및 gameCenterEverEnabledgameCenterEnabled and gameCenterEverEnabled

gameCenterEnabledgameCenterEverEnabled 키를 사용하여 이 iOS 애플리케이션이 Apple의 Game Center를 지원하는지 여부를 iTunes에 알립니다.Use the gameCenterEnabled and gameCenterEverEnabled keys to tell iTunes is this iOS application supports Apple's Game Center. 예:Example:

<key>gameCenterEnabled</key>
<false/>
<key>gameCenterEverEnabled</key>
<false/>

genre, genreId 및 subgenresgenre, genreId, and subgenres

genregenreId 키를 사용하여 iOS 애플리케이션이 속한 장르를 iTunes에 알립니다.Use the genre and genreId keys to tell iTunes what genre the iOS application belongs to. 예:Example:

<key>genre</key>
<string>Games</string>
<key>genreId</key>
<integer>6014</integer>

필요에 따라 subgenres 키를 사용하여 iOS 애플리케이션에 대해 최대 두 개의 하위 장르를 추가로 정의할 수 있습니다.Optionally the subgenres key can be used to further define up to two sub genres for the iOS application. 예:Example:

<key>subgenres</key>
<array>
    <dict>
        <key>genre</key>
        <string>Puzzle</string>
        <key>genreId</key>
        <integer>7012</integer>
    </dict>
    <dict>
        <key>genre</key>
        <string>Word</string>
        <key>genreId</key>
        <integer>7019</integer>
    </dict>
</array>

iOS 애플리케이션의 경우 현재 Apple에서 정의한 장르 및 장르 ID는 다음과 같습니다.For iOS applications, Apple currently defines the following genres and genre IDs:

장르 IDGenre ID 장르 이름Genre Name
60006000 비즈니스Business
60016001 날씨Weather
60026002 유틸리티Utilities
60036003 여행Travel
60046004 스포츠Sports
60056005 소셜 네트워킹Social Networking
60066006 참조Reference
60076007 생산성Productivity
60086008 사진 및 비디오Photo & Video
60096009 뉴스News
60106010 탐색Navigation
60116011 음악Music
60126012 라이프스타일Lifestyle
60136013 상태 및 적합성Health & Fitness
60146014 게임Games
60156015 FinanceFinance
60166016 엔터테인먼트Entertainment
60176017 교육Education
60186018 서적Books
60206020 의료Medical
60216021 NewsstandNewsstand
60226022 카탈로그Catalogs

게임(6014) 하위 장르:Games (6014) sub-genres:

장르 IDGenre ID 장르 이름Genre Name
70017001 작업Action
70027002 어드벤처Adventure
70037003 아케이드Arcade
70047004 보드Board
70057005 카드Card
70067006 카지노Casino
70077007 주사위Dice
70087008 교육Educational
70097009 가족Family
70107010 어린이Kids
70117011 음악Music
70127012 퍼즐Puzzle
70137013 레이싱Racing
70147014 롤플레잉Role Playing
70157015 시뮬레이션Simulation
70167016 스포츠Sports
70177017 전략Strategy
70187018 퀴즈Trivia
70197019 단어Word

Newstand(6021) 하위 장르:Newstand (6021) sub-genres:

장르 IDGenre ID 장르 이름Genre Name
1300113001 뉴스 및 정책News & Politics
1300213002 패션 및 스타일Fashion & Style
1300313003 홈 및 가든Home & Garden
1300413004 야외 및 자연Outdoors & Nature
1300513005 스포츠 및 레저Sports & Leisure
1300613006 자동차Automotive
1300713007 예술 및 사진Arts & Photography
1300813008 신부 및 결혼Brides & Weddings
1300913009 비즈니스 및 투자Business & Investing
1301013010 어린이 잡지Children’s Magazines
1301113011 컴퓨터 및 인터넷Computers & Internet
1301213012 요리, 음식 및 음료Cooking, Food & Drink
1301313013 공예 및 취미Crafts & Hobbies
1301413014 전자 제품 및 오디오Electronics & Audio
1301513015 엔터테인먼트Entertainment
1301713017 건강, 정신 및 신체Health, Mind & Body
1301813018 기록History
1301913019 문학 잡지 및 저널Literary Magazines & Journals
1302013020 남성들의 관심사Men’s Interest
1302113021 영화 및 음악Movies & Music
1302313023 부모/자식 관리 및 가족Parenting & Family
1302413024 애완 동물Pets
1302513025 직업 및 거래Professional & Trade
1302613026 지역 뉴스Regional News
1302713027 과학Science
1302813028 청소년Teens
1302913029 여행 및 지역Travel & Regional
1303013030 여성들의 관심사Women’s Interest

자세한 내용은 Apple의 장르 ID 부록 설명서를 참조하세요.For more information, please see Apple's Genre IDs Appendix documentation.

softwareSupportedDeviceIdssoftwareSupportedDeviceIds

softwareSupportedDeviceIds 키를 사용하여 이 iOS 애플리케이션이 지원하는 iOS 디바이스를 iTunes에 알립니다.Use the softwareSupportedDeviceIds key to tell iTunes what iOS devices this iOS application supports. 예:Example:

<key>softwareSupportedDeviceIds</key>
<array>
    <integer>9</integer>
</array>

다음 값을 사용할 수 있는 위치:Where the following values are available:

  • 1 – 클래식 iPhone1 – Classic iPhones
  • 2 – iPod Touch2 – iPod Touch
  • 4 – iPad4 – iPad
  • 9 – 최신 iPhone9 – Modern iPhones

표준 키Standard Keys

다음 키는 iOS 애플리케이션의 모든 iTunesMetadata.plist 파일에 포함되어 있으며 항상 동일한 값을 갖습니다.The following keys are included in all iTunesMetadata.plist files for iOS applications and always have the same values:

<key>drmVersionNumber</key>
<integer>0</integer>
<key>fileExtension</key>
<string>.app</string>
...
<key>kind</key>
<string>software</string>
...
<key>s</key>
<integer>143441</integer>
...
<key>versionRestrictions</key>
<integer>16843008</integer>

iTunesMetadata.plist 파일 만들기Creating an iTunesMetadata.plist File

Mac용 Visual Studio에서 iTunesMetadata.plist 파일을 사용하는 경우 두 가지 옵션이 있습니다.When working with an iTunesMetadata.plist file in Visual Studio for Mac, you have two options:

  • Mac용 Visual Studio의 시각적 plist 편집기를 사용하여 파일을 만들고 유지 관리합니다.Create and maintain the file using Visual Studio for Mac's visual plist editor.
  • 일반 텍스트 편집기에서 파일을 만들고 유지 관리합니다.Create and maintain the file in a plain text editor.

두 가지 옵션에 대해서는 아래에서 자세히 설명합니다.Both options will be covered in detail below.

시각적 Plist 편집기 사용Using the Visual Plist Editor

다음을 수행합니다.Do the following:

  1. 솔루션 탐색기에서 Xamarin.iOS 프로젝트 파일을 마우스 오른쪽 단추로 클릭하고, 추가 > 새 파일... 을 차례로 선택합니다.In the Solution Explorer, right-click the Xamarin.iOS project file and select Add > New File...

  2. [새 파일] 대화 상자에서 iOS > 속성 목록을 차례로 선택합니다.From the New File Dialog, select iOS > Property List:

  3. 이름에 대해 iTunesMetadata를 입력하고 새로 만들기 단추를 클릭합니다.Enter iTunesMetadata for the Name and click the New button.

  4. 편집하기 위해 솔루션 탐색기에서 iTunesMetadata.plist 파일을 두 번 클릭하여 엽니다.Double-click the iTunesMetadata.plist file in the Solution Explorer to open it for editing:

  5. 녹색 + 를 클릭하여 새 항목을 만들고, 키 이름으로 UIRequiredDeviceCapabilities를 입력합니다.Click the green + to create a new entry and enter UIRequiredDeviceCapabilities as the key name:

  6. 문자열 값 형식을 클릭하고, 팝업 목록에서 사전을 선택합니다.Click on the String value type and select Dictionary from the popup list:

  7. 속성 이름의 왼쪽에서 접혀 있는 부분을 클릭하여 사전 항목을 표시합니다.Click the turndown at the left of the Property's name to reveal the dictionary's entries:

  8. 새 항목 추가 텍스트를 클릭한 다음, 녹색 + 를 클릭하여 사전에 항목을 추가합니다.Click on the Add new entry text, then click the green + to add an entry to the dictionary:

  9. 키 이름으로 armv7을 입력하고, 부울 형식을 선택하고, 값으로 를 입력합니다.Enter armv7 for the key name, select a type of Boolean and enter Yes as the value:

  10. 필요한 모든 키/값 쌍으로 iTunesMetadata.plist 파일을 채울 때까지 위의 단계를 반복합니다(자세한 내용은 위의 iTunesMetadata.plist 내용 섹션 참조).Repeat the steps above until you have filled out the iTunesMetadata.plist file with all of the key/value pairs required (see the The iTunesMetadata.plist Contents section above for more details).

  11. 변경 내용을 plist 파일에 저장합니다.Save the changes to the plist file.

일반 텍스트 편집기 사용Using a Plain Text Editor

다음을 수행합니다.Do the following:

  1. 일반 텍스트 편집기에서 새 텍스트 파일을 만들고, 이름을 iTunesMetadata.plist로 지정합니다.In a plain text editor, create a new text file and name it iTunesMetadata.plist.
  2. 위의 iTunesMetadata.plist 내용 섹션에 있는 내용 예제를 복사합니다.Copy the example contents from the The iTunesMetadata.plist Contents section above.
  3. 내용을 파일에 붙여넣고 필요에 따라 편집합니다.Paste the contents in the file and edit them as required.
  4. 파일을 저장하고 Mac용 Visual Studio로 돌아갑니다.Save the file and return to Visual Studio for Mac.
  5. 솔루션 탐색기에서 Xamarin.iOS 프로젝트 파일을 마우스 오른쪽 단추로 클릭하고, 추가 > 기존 파일... 을 차례로 선택합니다.In the Solution Explorer, right-click on the Xamarin.iOS project file and select Add > Existing Files....
  6. [파일 열]기 대화 상자에서 위에서 만든 iTunesMetadata.plist 파일을 선택하고 확인 단추를 클릭합니다.In the Open File Dialog, select the iTunesMetadata.plist file that was created above and click the OK button.
  7. 이 파일에서 없음으로 설정된 빌드 작업은 그대로 둡니다.Leave the Build Action of this file set to None.

나중에 IDE에서 IPA를 빌드할 준비가 되면 이 iTunesMetadata.plist 파일을 선택합니다.Later, select this iTunesMetadata.plist file when you prepare to build your IPA in the IDE.

요약Summary

이 문서에서는 iTunes에 임시로 배달된 iOS 애플리케이션을 알리는 데 사용할 수 있는 iTunesMetadata.plist 파일에 대해 설명했습니다.This article has covered the iTunesMetadata.plist file that can be used to tell iTunes about an ad hoc delivered iOS application. plist 파일의 표준 키와 Visual Studio 및 Mac용 Visual Studio에서 파일을 만들고 유지 관리하는 방법에 대해 설명했습니다.It has discussed the standard key in the plist file and how to create and maintain the file in Visual Studio and Visual Studio for Mac.