본 페이지는 App Distribution Guide 문서의 Configuring Your Xcode Project for Distribution 부분을 번역해 놓은 페이지 압니다. 발 번역이라 이상한 부분이 있을 수 있습니다. 발견즉시 댓글을 달아 주세요.




Configuring Your Xcode Project for Distribution
배포를 위한 Xcode 프로젝트 환경설정

Before you distribute your app for testing or submit it to the store, complete the configuration of your Xcode project. When you create a new Xcode project, you choose a template that most closely corresponds to the kind of app you want to make, and you customize some initial settings for the app. Later, you can change required app information and assets as needed for the store. You set entitlements depending on the capabilities of your app. For example, all Mac apps submitted to the store need to have sandboxing enabled. Some Apple technologies require a combination of code you write and data you configure to operate properly. Some of the data you configure about your app is distributed between your Xcode project, Member Center, and iTunes Connect. This chapter explains the properties stored in the Xcode project that should be set before you distribute your app.

당신의 앱을 테스트 또는 스토어로 보내기 위해 배포하기전, Xcode 프로젝트의 환경설정을 완료합니다. Xcode 프로젝트를 생성할 때, 당신이 만들기 원하는 앱 종류, 많은 부분이 일치하는 템플릿을 선택하고, 당신의 앱 초기 몇몇 초기 셋팅을 사용자 설정합니다. 이후에, 요구되는 앱 정보와 스토어를 위해 필요한 자원들을 바꿀 수 있습니다. 앱 능력의 부수적인 자격 설정합니다. 예를 들어, 모든 Mac 앱들은 샌드박스활성화에 필요한 것 스토어로 보냅니다. 몇몇 Apple 기술들은 바르게 동작하기 위해 당신이 작성한 코드와 환경설정 데이터 조합을 요구합니다. 당신의 앱에 대해 설정한 몇몇 데이터는 당신의 Xcode 프로젝트, Member Center와 iTunes Connect 사이에서 배포됩니다. 이 장은 Xcode 프로젝트에 저장된 앱을 배포하기전 설정해야하는 속성들을 설명합니다.

About Bundle IDs
번들 ID들에 관해서

bundle ID precisely identifies a single app. A bundle ID is used during the development process to provision devices and by the operating system when the app is distributed to customers. For example, the preferences system uses this string to identify the app for which a given preference applies. In contrast, Launch Services uses the bundle ID to locate an app capable of opening a particular file, using the first app it finds with the given identifier. The bundle ID is also used to validate an app’s signature.

bundle ID는 단일 앱을 정확히 식별합니다. bundle ID는 개발 작업이 진행되는 동안 장치 프로비저닝과 운영체제가 고객들에게 앱을 배포할 때 이용됩니다. 예를 들어, 주로 사용하는 시스템은 주어진 설정을 적용하기 위해 이 문자로 앱을 식별합니다. 그에 반해, 실행된 서비스는 bundle ID를 이용해 특정파일의 열수 있는 앱, 주어진 식별자로 찾은 이용할 첫 앱을 찾습니다. bundle ID는 앱 사인 승인에 이용합니다.


The bundle ID string must be a uniform type identifier (UTI) that contains only alphanumeric characters (A-Z,a-z,0-9), hyphen (-), and period (.). The string should be in reverse-DNS format. For example, if your company’s domain is Ajax.com and you create an app named Hello, you could assign the string com.Ajax.Hello as your app’s bundle ID.

bundle ID 문자열은 오직 알파벳 문자열(A-Z, a-z, 0-9), 하이픈(-), 페리오드(.)를 포함하는 'uniform type identifier(UTI)'야 합니다. 문자열은 DNS 형식이 뒤집어 져야 합니다. 예로, 당신의 회사 도메인이 Ajax.com이고 앱 이름이 Hello면, 당신의 앱 bundle ID 처럼 com.Ajax.Hello을 배치할 수 있을 것입니다.


During the development process, you use an app’s bundle ID in many different places to identify the app. Figure 6-1shows the most common places where an app’s bundle ID is used during the development process.

개발 작업동안, 당신의 앱의 bundle ID는 많은 다른장소에서 앱을 식별하는 데 이용합니다. Figure 6-1은 대부분의 일반적인 장소에서 개발 작업중 어느 앱의 bundle ID가 사용됨 보여줍니다.

Figure 6-1  Common uses for an app’s bundle ID
  • The bundle ID itself is stored in the information property list file (Info.plist) inside your project. This file is later copied into your app’s bundle when you build the project.
    bundle ID 자체는 당신의 프로젝트 속 정보 프로퍼티 리스트 파일에 저장됩니다. 이 파일은 이후 프로젝트가 빌드 될 때 당신의 앱 번들 속으로 복사됩니다.

  • When you are ready to publish an app, you use the bundle ID to identify the app in iTunes Connect. The store submission process correlates the bundle ID from the app you submit with the data you provide in iTunes Connect.
    앱을 게시잘 준비가 되었을 때, bundle ID를 이용해 iTunes Connect에서 앱을 식별합니다. 스토어 보내기 작업과 당신이 앱으로 부터 iTunes Connect에 제공하는 데이터와 함께 보내는 bundle ID는 연관이 있습니다.

  • When developing your app, you need a development provisioning profile with an App ID that is compatible with the app’s bundle ID. However, unlike domain names, bundle IDs are case sensitive. If the App ID is lowercase, your bundle ID needs to be lowercase, too.
    당신의 앱을 개발할 때, 개발 프로비저닝과 App ID가 앱의 bundle ID와 호화되어야 합니다. 하지만, 도메인과 연결되지 않으며, 케이스를 구분합니다. App ID가 소문자면, bundle ID 역시 소문자여야 합니다.

  • When you implement iCloud support in your app, the container IDs you specify are based on the bundle IDs of one or more apps.
    앱에서 iCloud를 지원을 구성할 때, 하나 혹은 그 이상의 앱의 Bundle ID를 기본으로 당신이 지정한 컨테이너 ID. 

Before You Begin
시작하기 전에

Most of the options discussed in this chapter, including enabling entitlements, are located in the project editor for your target. In Xcode, choose View > Navigators > Show Project Navigator to open the project navigator. Select your target in the Targets section of the second sidebar to display the project editor. Click the Summary, Info, or Build Settings tab to view these properties.

이 장에는 당신의 타겟을 프로젝트 에디터에서 찾아, 자격활성화를 포함한 대부분의 옵션을 논의 합니다. Xcode 에서, 'View > Navigators > Show Project Navigator'로 프로젝트 네비게이터를 엽니다. 두번째 사이드 바의 Target 섹션속 당신의 타겟을 선택해 프로젝트 에디터를 나타냅니다. 'Summary', 'Info', 또는 'Build Settings' tab으로 속성을 표시합니다.

../Art/project_navigator.png

Setting Properties When Creating Your Xcode Project
Xcode Project를 생성할 때 프로퍼티 설정

An assistant guides you through the process of creating an Xcode project. First, you select a template for your project. Starting with the right template helps speed the development process. The assistant also prompts you to enter information about your app that is used to determine your app’s capabilities and distribute it to customers. If you do not have this information when you create the project, you can set these properties later. Some of the data in the Xcode project is similar to the data you enter in iTunes Connect, but only the bundle ID needs to match the bundle ID you enter in iTunes Connect before you can submit your app to the store.

Xcode 프로젝트 생성작업에 관한 보조 가이드. 첫째, 프로젝트를 위한 템플릿을 선택합니다. 올바른 템플릿으로 시작하는 것은 빠른 개발 작업에 도움을 줍니다. 보조자는 또한 당신의 앱에 관한 정보로 들어가 당신의 앱의 능력과 이 것이 고객에게 배포되었는지 알아냅니다. 당신이 프로젝트를 생성했을 때 이 정보를 가지고 있지 않다면, 이 후 이 속성 설정에서 할 수 있습니다. Xcode 프로젝트의 몇몇 데이터는 당신이 iTunes Connect에 입력한 데이터와 비슷하나, 오직 bundle ID만 앱을 스토어로 보내기 전까지 입력가능한 iTunes Connect에 입력한 bundle ID와 일치해야 합니다.

For iOS apps, you see a dialog similar to this when creating an Xcode project from a template:
iOS 앱은, 템플릿으로 부터 Xcode 프로젝트 생성할 때와 비슷한 다이얼로그를 봅니다.

../Art/2_xcodeassistant.png

The product name is the name of your app as it will appear to customers and should match the app name you enter later in iTunes Connect. It is the name that will appear in Springboard when the app is installed. The product name cannot be longer than 255 bytes and can be no fewer than 2 characters and should not contain any spaces.

제품명은 고객들에게 표시될 당신의 앱 이름이고 나중에 iTunes Connect에 입력할 앱 이름과 맞아야 합니다. 이것은 앱이 설치될 때Springboard에 나타날 이름입니다. 제품명은 255 Byte를 넘을 수 없고 2문자 보다 작을 수 없고 어떤 공백도 포함할 수 없습니다.


The organization name is an attribute of the Xcode project and is used in boilerplate text throughout your project folder. For example, the organization name is used in the source and header file copyright strings. The organization name in your Xcode project is not the same as the company name that you enter later in iTunes Connect.

조직명은 Xcode 프로젝트의 속성 이고 프로젝트 폴더를 통해 사용구에 이용됩니다. 예를 들어, 조합명은 소스와 헤더 파일 저작권 문자열에 이용됩니다. Xcode 속의 조합명은 나중에 iTunes Connect 입력하는 회사명 처럼 같지 않습니다.


The product name and company identifier you enter are concatenated together to create the default bundle ID using reverse domain name (reverse DNS) notation. The bundle ID needs to be unique to your app.

당신이 입력한 제품명과 회사 식별자를 함께 연결해 뒤집어진 도메인 명 표기법을 이용해 기본 bundle ID를 생성합니다. bundle ID는 당신의 앱에서 유일해야합니다.


For iOS apps, you can select the types of devices you support from the Devices pop-up menu. For Mac apps, you can select the Mac App Store categories from a pop-up menu.

iOS 앱은, 'Devices' 팝업 메뉴에서 장치 타입을 선택할 수 있습니다. Mac 앱은, 팝업 메뉴로 부터 Mac App Store 카테고리를 선택할 수 있습니다.


The other values used by the Xcode template are sufficient for building and running your app locally, but you’ll need to finalize properties, such as the bundle ID, later. Also, the assistant doesn’t set all required properties for the store. You will need to complete the basic store configuration before you submit. Ideally, you will complete this configuration before you distribute your app for testing too.

Xcode template이 이용하는 다른 값들은 당신의 앱을 빌드하고 실행하기에 충분하지만, 나중에, bundle ID 같은, 속성 마무리가 필요합니다. 또한 보조는 스토어를 위해 요구되는 모든 설정하지 않습니다. 보내기전 기본 스토어 설정을 마무리 해야 합니다. 이상적으로, 역시 테당신의 앱을 테스트 하기전 이 설정을 완료 할 것입니다.


After your app is released, you cannot change some of this metadata, so you want to choose your settings carefully. Refer to “Editing and Updating App Information” in iTunes Connect Developer Guide to learn which app states cause some properties to be locked in iTunes Connect.

당신의 앱을 출시한 뒤, 이 메타데이터의 몇몇 설정은 변경할 수 없으며, 그래서 당신은 신중하게 셋팅을 선택하기 원할 것입니다. 'iTunes Connect Developer Guide'속 'Editing And Updating App Information'을 참고해 iTunes Connect에서 어떤 속성으로 인해 앱상태가 잠기게 되는지 배우세요.

Configuring Application Target Settings
애플리케이션 타겟 설정들 환경설정

The application target settings appear in the target’s Summary pane. To display the Summary pane, select the target in the project navigator and click the Summary tab. For iOS apps, the application target settings appear in the iOS Application Target section.

애플리케이션 타겟 설정은 타겟의 'Summary' 판에 나타납니다. 'Summary' 판을 표시하려면, 프로젝트 네비게이션에 타겟을 선택하고 'Summary'탭을 클릭합니다. iOS 앱들은, 'iOS Application Target'섹션에 애플리 케이션 타겟 설정이 나타납니다.

../Art/ios_app_target_pane.png

For Mac apps, they appear in the OS X Application Target section.
Mac 앱들은, 'OS X Application Target' 센셕 속에 나타납니다.

../Art/osx_app_target_pane.png

Setting the Mac Application Category
Mac Application 카테고리 설정

Set the category under which your app will be listed on the Mac App Store. The category you select should match the category you later select in your iTunes Connect app record.

'Mac App Store'에 나열된 당신의 앱에서 카테고리 설정을 합니다. 카테고리 선택은 iTunes Connect 앱 레코드 속에서 나중에 당신이 선택하는 카테고리와 일치 해야 합니다.


iOS app categories are set in iTunes Connect only. Read “Choosing Primary and Secondary Categories” in iTunes Connect Developer Guide for more details on app categories.

iOS 앱 카테고리들은 오직 iTunes Connect에서만 설정합니다. 앱 카테고리의 더 자세한 사항은 'iTunes Connect Developer Guide'속 'Choosing Primary and Secondary Categories'를 읽으세요.


Setting the Bundle ID
bundle ID 설정

The bundle ID (called a bundle identifier in Xcode) is used by Xcode, the operating system, and the store to uniquely identify an app. A Mac app and iOS app cannot share the same bundle ID either. The bundle ID is also used to match a team’s App ID and any associated provisioning profiles. Later, the bundle ID needs to be the same as the bundle ID you enter in iTunes Connect.

bundle ID (Xcode에서 bundle identifier라 불려짐) Xcode, 운영체제, 그리고 스토어에서 앱의 유일성을 식별하는 데 사용됩니다. Mac 앱과 iOS 앱은 같은 bundle ID를 역시 공유할 수 없습니다. bundle ID는 또한 Team의 App ID를 맞추고 프로비저닝 프로파일을 어느정도 연관 짓는 데 사용합니다. 이후에, bundle ID iTunes Connect에 입력한 bundle ID과 같아야 합니다.


For Mac apps, ensure that every bundle ID is unique within your app bundle. For example, if your app bundle includes a helper app, ensure that you do not include two copies of a framework that is used by both your app and the helper app.

Mac 앱들을 위해, 당신읜 앱 번들 내에서 모든 bundle ID는 유일해야합니다. 예를 들어, 만약 당신의 앱 번들이 도움을 주는 앱을 포함한다면, 당신의 앱과 헬퍼 앱이 사용하는 (같은)프레임 워크의 카피를 2개 포함하면 안됩니다.

Setting the Version Number and Build String
버전 넘버와 Build String 세팅하기

The version number is a two-period-separated list of positive integers, as in 4.5.2. The first integer represents a major revision, the second a minor revision, and the third a maintenance release.

버전 넘버는 '4.5.2'처럼 양의 정수리스트로 2개의 페리오드(.)로 나눠져 있이어야 한다. 첫 수는 대표하는 주 번호, 두번째는 작은 버전, 세번째는 유지 배포 이다.


The version number is shown in the store and that version should match the version number you enter later in iTunes Connect. The build string represents an iteration (released or unreleased) of the bundle and can contain a mix of characters and numbers. For example, the build is shown in the About window of a Mac app. The user clicks the version number on the About window to toggle between the version number and the build string. For details on possible values, see “CFBundleShortVersionString” in Information Property List Key Reference and “CFBundleVersion”in Information Property List Key Reference.

스토어에서 버전 넘버가 보여지고 버전은 iTunes Connect 속 마지막으로 입력한 버전 넘버와 일치해야 합니다. 빌드 문자는 새로운 버전(배포 되던 안되었던)의 번들을 대표하고 숫자와 문자가 혼합되어 포함될 수 있습니다. 예를 들어, Mac app의 윈도우 관련창에서 빌드가 보여집니다. 사용자 관련 창의 버전 넘버를 클릭하면 빌드 문자와 버전 넘버가 토글(누를 때마 둘이 서로 번갈아 나옴) 됩니다. 자세한 가능 값은, 'Information Property List Key Refrerence'속 'CFBundleShortVersionString'과 'Information Property List Key Refrence'속 'CFBundleVersion'을 보세요.


For iOS apps, you should update the build string whenever you distribute a new build of your app for testing. iTunes will recognize that the build string changed and properly sync the new iOS App Store Package to the device. Read“Beta Testing Your iOS App” for how to configure your app for testing.

iOS 앱들은, 테스트를 위해 당신의 앱의 새로운 빌드를 배포할 때 마다 빌드 문자열을 업데이트 해야합니다. iTunes 바뀐 빌드 문자를 인식하고 새로운 iOS App Store Package를 장치에 적절히 맞출 것입니다. 당신의 앱 테스트를 위한 설정 방법은 'Beta Testing Your App'을 읽으세요.


Set the version number and build string in the Summary pane in the project editor.
프로젝트 에디터 속 'Summary'판 속 버전 넘버와 빌드 스트링 설정하기

Setting the Target iOS Devices
iOS 장치 설정

The Devices setting identifies the type of devices you want an iOS app to run on. There are two device types: iPhone and iPad. The iPhone type includes iPhone and iPod touch devices. The iPad type includes all iPad and iPad mini devices.

앱을 실행시키기 원하는 장치 타입의 장치 설정 식별자. 이것은 2가지 장치 타입 입니다 : iPhone과 iPad. iPhone Type에는 iPhone과 iPod 터치 장치가 포함됩니다. iPad 타입은 모든 iPad와 iPad 미니 장치가 포함됩니다.

For more information on configuring your app for iPhone, iPad, or both device families, see “Advanced App Tricks” in iOS App Programming Guide.
iPhone, iPad, 또는 both device families 설정의 더 많은 정보는, 'iOS App Programming Guide'속 'Advanced App Tricks'를 봅니다.

Setting the Deployment Target

배치 목표 설정하기

The deployment target setting specifies the lowest operating-system version that your app will run on. For example, the lowest available setting for iPad apps is iOS 3.2.
배치 목표 설정은 당신의 앱이 실행할 최소한의 운영체제 버전을 지정 합니다. 예를 들어, iPad 앱은 가능한 설정의 최소 버전은 iOS 3.2 입니다.

There are several strategies for choosing the deployment target when developing your app. Each version of iOS or OS X includes features and capabilities not present in earlier versions. As new versions are published, some users may upgrade immediately, while other users may wait before moving to the latest version. You can target the latest version taking full advantage of all the new features but limiting the app to only users running the latest version. Or you can target an earlier version making your app available to more users but limiting the features you can use in the app. Another approach is to target an earlier version but use weak linking to determine at runtime whether later version features are available before using them.

당신의 앱을 개발할 때 deployment target 선택을 위한 몇몇 계획입니다. iOS 및 OS X 각 버전에 포함된 특징과 능력은 (선택한 버전 보다) 앞선 버전에서는 제공되지 않습니다. 새 버전이 배포되면, 몇몇 사용자는 즉시 업그레이드 할 수도 있고, 배포된 새 버전은, 몇몇 사용자는 즉시 업그레이드 되고, 다른 사용자는 마지막 버전으로 옮겨가는 동안 대기 할 지도 모릅니다. 당신은 마지막 버전을 지정해 모든 새로운 기능의 장점을 최대한 이용하지만 앱 한계 설정은 마지막 버전을 실행하는 유저만 할 수 있습니다. 또는 당신의 앱이 더 많은 사용자들에게 동작되기 위해 이전 버전을 지정할 수 있지만 앱 속에서 이용할 수 있는 몇가지 기능은 제한됩니다. 다른 방법은 이전 버전을 선택하는 것이나 이후 버전을 사용하기전 사용할 수 있는지 여부를 런타임에 연결하는 느슨한 연결을 사용하는 것입니다.


For details on weak linking, read “Weak Linking and Apple Frameworks” in SDK Compatibility Guide.
느슨한 연결은 자세한 것은, 'SDK Comparibility Guide' 속 'Weak Linking and Apple Frameworks'를 읽으세요.

Xcode sets the Minimum System Version key in the app’s information property list to the deployment target you choose. When you publish your app to the store, it uses this property value to indicate which versions your app supports.

Xcode는 당신이 선택한 타겟 배치를 하려고 앱의 '정보 속성 리스트' 속 최소 시스템 버전 키를 설정합니다. 당신이 당신의 앱을 스토어에 배포할 때, 이 속성 값을 사용해 당신의 앱이 지원하는 어떤 버전을 선택합니다. 

Adding App Icons and Launch Images
App Icon과 Launch Images 추가하기

App icons and launch images are stored in the app bundle, not uploaded as separate assets to iTunes Connect. The operating system uses these images in various locations on a device to represent your app. In general, artwork displayed by the operating system resides in the bundle, and artwork displayed by iTunes is uploaded to iTunes Connect.

앱 아이콘들과 실행이미지는 App bundle 속에 저장되며, 분리된 자원 처럼 iTunes Connect에 업로드 되지 않습니다. 운영체제는 장치의 곳곳에 위치한 이 이미지를 이용해 당신의 앱을 대표합니다. 일반적으로, 운영체제는 bundle 속에 있는 아트웍을 표시하고, 그리고 iTunes가 표시한 아트워는 iTunes Connect에 업로드 된 것입니다.


For all artwork, keep the file size as small as possible for a positive purchase experience for your users. For iOS apps, see “Custom Icon and Image Creation Guidelines” in iOS Human Interface Guidelines for the sizes of all required app icons, launch images, and other icons. See “Creating Great Icons for Any Resolution” in OS X Human Interface Guidelines for all the required Mac app icons. This table includes icon sizes that may be used on the Mac App Store. To take advantage of Retina displays, provide high-resolution images for each device you support.

모든 아트웤은, 당신의 사용자들의 긍정적인 구매 경험을 위해 가능한 가장 작은 크기의 파일 사이지를 유지합니다. iOS 앱들은, app icon,  launch images, 그리고 다른 icons들이 요구하는 사이즈는 'iOS Human Interface Guidelines'속 'Custom Icon and Creation Guidelines'를 보세요. Mac 앱 icon들의 모든 요구는 'OS X Human Interface Guidelines' 속 'Creating Great Icons for Any Resolution'을 보세요. 이 표에는 Mac App Store에 이용할 수 있는 icon 크기가 포함되어 있습니다. 레티나 디스플에이의 이점을 이용하려면, 각 장치 지원을 위해 고해상도 이미지를 제공하세요.


Read “Before You Begin” in iTunes Connect Developer Guide for the specification of screenshots that you upload later using iTunes Connect.

Setting App Icons
App Icon들 설정하기

Your app needs an app icon to represent it and pass validation tests. For iOS apps, read “App Icons” in iOS App Programming Guide to create separate icon files for different device resolutions. For Mac apps, read “Provide High-Resolution Versions of All App Graphics Resources” in High Resolution Guidelines for OS X to create your icon file, which needs to be in ICNS format.

당신의 앱을 대표하고 확인테스트 통과에 앱 아이콘이 필요합니다.  iOS 앱들은, 'iOS App Programming Guide'속 'App Icons'를 읽고 다른 장치 해상도를 위해 별개의 아이콘 파일을 생성합니다. Mac 앱들은, 'High Resolution Guidlines' 속 'Provide High-Resolution Versions of App App Graphics Resources'를 읽고 당신의 아이콘 파일을 생성하는 데, ICNS 형식 이어야 합니다.

Creating and Setting iOS Launch Images
iOS Launch Images 생성하고 설정하기.

Launch images are displayed while your app is launching on iOS. A launch image matching the device resolution appears as soon as the user taps your app icon. Use screenshots to create your app’s launch images.

Launch images는 iOS에 앱이 실행되는 동안 표시되는 이미지 입니다. 사용자가 당신의 아이콘을 누르는 즉시 launch image는 장치 해상도에 맞춰 나타납니다. 당신의 앱 launch images는 스크린 샷 이미지를 생성하는 데 이용합니다.


Capturing Screenshots on Your Device and Setting Launch Images Directly in Xcode
당신 장치의 화면 캡쳐와 Xcode 속에서 직접 Launch Images 설정하기.

Follow these steps to capture screenshots of your app while it’s connected to your Mac.
이 단계를 따라 당신의 맥과 연결된 동안 당신의 앱의 화면을 저장하세요.

After you capture a screenshot, you can make it your app’s launch image.
화면을 캡쳐한 후에, 그것을 당신을 당신 앱의 launch image로 만들수 있습니다.

To get a PNG file of the screenshot, you drag it from the Devices organizer to the desktop.
스크린 샷의 PNG 파일을 얻으려면, Devices organizer에서 데스크 탑으로 드레그 합니다.

Capturing Screenshots Directly on Your Device
당신의 장치에서 바로 화면을 캡쳐합니다.

Alternatively, you can capture screenshots directly on your device and import them into your Mac using the iPhoto application.

다른 방법으로, 당신에 장치에서 화면을 바로 캡쳐하고 iPhoto 앱을 이용해 당신의 Mac에 이것을 추가할 수 있습니다.


To capture a screenshot on your device, you press the Lock and Home buttons simultaneously. Your screenshot is saved in the Saved Photos album in the Photos app.

당신의 장치에서 스크린 샷을 캡쳐하려면, Lock과 Home 버튼을 동시에 누릅니다. 포토앱 속에 'Saved Photo'앨범 속에 당신의 스크린 샷이 저장됩니다.


Copy the screenshot from the device to your Mac and follow the steps in “Setting Launch Images in the Project Editor” to set the launch image.

장치에서 Mac으로 스크린샷을 복사하고 'Setting Launch Images in the Project Editor'속 launch image를 설정합니다.


Setting Launch Images in the Project Editor
Project Editor 속 Launch Images 를 설정하기

Alternatively, you can set the launch images in the project editor.
다른 방법으로, 'project editor'속 launch image들을 설정할 수 있습니다.

Configuring Entitlements
자격 설정하기

To protect your app from being compromised by a hacker who might damage the user’s system, you give permissions, known as entitlements, to your app to perform specific functions. An entitlement is a key-value pair whose value you can set to specify a capability or security permission. This chapter describes entitlements you configure in your Xcode project for certain technologies supported by the store. Refer to Entitlement Key Reference for a complete list of app entitlements.

어떤 해커가 사용자 시스템에 가한 손상으로 인한 위험으로 부터 당신의 앱을 보호하려면, 자격으로 알려진, 권한을 줘, 지정된 기능을을 당신에 앱에 실행합니다. 자격은 key-value 쌍으로 지정늘롹 보안정보를 설정 할 수 있습니다. 이 장은 스토어가 지원하는 확실한 자격을 위한 Xcode 프로젝트 속 당신이 설정하는 자격을 설명합니다. 앱 자격 리스트를 확실히 하려면 'Entitlement Key Reference'를 참고하세요


You configure entitlements for each target in the Xcode project for your product. For example, if you have a main app and multiple helper apps in one Xcode project, you need to configure entitlements for each target in the project. When you enable entitlements, Xcode adds a file with entitlement key-value pairs to your target. The default name of the file is your project name with the extension .entitlements. You can configure entitlements—for example, for iCloud storage or sandboxing—using either the property list editor or the project editor to edit this file.

당신의 제품을 위해 Xcode 프로젝트 속 각 타겟의 자격 설정을 하세요. 예를 들어, Xcode 프로젝트 속에 다양한 도움 앱과 메인이 있다면, 프로젝트 속 각 타겟을 위해 자격 설정이 필요합니다. 자격을 활성화 할 때, Xcode 자격 key-value 쌍의 자격 파일을 당신의 타겟에 추가합니다. 기본 이름 파일은 당신의 프로젝트 네임과 '.entitlements'확장자 입니다. 당신은 프로퍼티 리스트 에디터나 프로젝트 에디터를 이용해 이 파일을 이용해 자격(예를 들어, iCloud storage 또는 sandboxing)을 설정 할 수 있습니다.


For entitlements to take effect, you need to code sign your app, as described in “Creating Your Signing Certificates.” Some technologies, such as iCloud and Game Center, require further configuration. You need a provisioning profile containing an App ID that enables these technologies. Read “Configuring Store Technologies in Xcode and iTunes Connect” for complete steps on how to configure specific technologies.

자격을 설정하기 위해, 'Creating Your Signing Certificates'에 설명된 것 처럼, 당샌의 앱은 코드 사인이 필요합니다. iCloud와 Game Center 같은 몇몇 기술들은 더 많은 설정을 요구합니다. 기술들을 활성화 하는데 App ID가 포함된 프로비저닝 프로파일이 필요합니다. 지정된 기술을 설명하는 방법을 완료하기 위해 'Configuring Store Technologies in Xcode and iTunes Connect'를 읽으세요.


Before you can configure entitlements for specific technologies, you need to enable entitlements.
자격 설정을 해야, 지정된 기술들을 위해 자격 설정을 할 수 있습니다.

Configuring App Sandbox for Mac Apps
Mac 앱들을 위한 App SandBox 설정하기

Sandboxing provides the last line of defense against stolen, corrupted, or deleted user data if malicious code exploits your app. It also minimizes damage from coding errors in your app or in frameworks you link against. Simply enabling sandboxing provides the maximum level of restrictions on how an app can interact with the rest of the system. All apps submitted to the Mac App Store are required to use sandboxing. Therefore, if you plan to submit your app to the Mac App Store, you should enable sandboxing during development.

악성코드가 당신의 앱을 악용한다면 Sandboxing은 사용자 데이터가 도둑맞고, 오류나고, 또는 지워지는 것을 막는 마지막 라인의 방어를 제공합니다. 이 것은 또한 당신의 앱의 코딩 오류로 인한 손상을 최소하합니다. Mac App Store로 보내지는 모든 앱은 sandboxing 이용이 요구됩니다. 그럼므로, 앱을 Mac App Store로 보낼 계획이라면, 개발하는 동안 sandboxing을 활성화 해야 합니다.


You configure sandboxing by enabling this feature and then optionally granting permission for specific types of functions.
이 기능을 활성화하고 선택적 기능의 특정 유형에 대한 권한을 부여하여 샌드 박스 구성합니다.

For a complete description of App Sandbox entitlements, refer to Entitlement Key Reference. If you are enabling sandboxing for an existing app, readApp Sandbox Design Guide to learn the new locations a sandboxed app can access.

App Sandbox 자격의 완벽한 설명을 위해, 'Entitlement Key Reference'를 참고합니다. 현재 앱을 위해 sandboxing을 활성화 한다면, 'App Sandbox Design Guide'를 읽고 새로운 위치에 샌드박싱된 앱 접근 가능함을 배우세요.

Editing the Information Property List
정보 속성 리스트 수정

Occasionally, you may need to edit the information property list directly to set keys that don’t appear elsewhere in Xcode. The name of this file is typically ProjectName-Info.plist.

가끔, 'information property list'를 직접 수정해 Xcode 다른 곳에 표시되지 않는 키를 수정할 필요가 있을 지 모릅니다. 이 파일의 이름은 일반적으로 'ProjectName-Info.plist'입니다.

Refer to Property List Editor Help for how to edit other cells in a property list.
프로퍼티 리스트속 다른 셀 수정 방법은 'Property List Editor Help'를 참고 합니다.

Setting the Copyright Key for Mac Apps

Mac 앱들의 'Copyright Key' 설정하기

Make sure that your information property list file contains a valid value for the Copyright key. For details on possible values, see“NSHumanReadableCopyright” in Information Property List Key Reference.
당신의 정보 속성 리스트 파일 속 유효한 'Copyright' key 값을 확실히 만듭니다. 가능한 값의 자세한 것은, 'Information Property List Key Reference'속 'NSHumanReadableCopyright'를 봅니다.

Specifying Build Settings
'Build Settings' 지정하기

There are miscellaneous build settings that you might need to configure for the store as well. You do this in the Build Settings pane of the project editor.

이 것은 스토어 위한 설정을 위해 필요할 지 모르는 기타 빌드 셋팅들입니다.  프로젝트 에디터 속 'Build Settings'판 속에서 이것을 합니다.

Setting Architectures for iOS Apps

iOS 앱들의 아키텍쳐 셋팅하기

The Architectures build setting identifies the architectures for which your app is built. An iOS device uses one of a set of architectures, which includearmv7 and armv7s. You have two options for specifying the value of this setting:
아키텍쳐 빌드 설정은 당신의 앱에 포함된 아키텍처를 식별합니다. iOS 장치는 아키텍쳐 설정 중 하나를 이용하며, armv7과 armv7s 가 포함됩니다. 이 설정의 값을 지정하기 위한 2가지 옵션이 있습니다. :

  • Standard. Produces an app binary with a common architecture, compatible with all supported iOS devices. This option generates the smallest app, but it may not be optimized to run at the best possible speed for all devices.
    스탠다드. 제품의 일반적인 아키텍체의 앱 바이너리, 모든 iOS 장치 지원과 구분 됩니다. 이 옵션은 최소화된 앱을 생성하나, 모든 장치에서 최고의 성능으로 실행되게 설정되지 않습니다.

  • Other. Produces an app binary for a specified set of architectures.
    Other. 지정된 아키텍처 설정을 위한 제품의 앱 바이너리.

If you choose Other from the Architectures build-setting value list, click the plus button (+) to enter the custom iOS-device architecture names you support.
만약 아키텍쳐 빌드 셋팅 값 리스트로 부터 다른 것을 선택한다면, 더하기(+) 버튼을 눌러 당신이 지원하는 custom iOS 장치 아키텍쳐를 입력합니다.

Setting the Base SDK

기본 SDK 설정하기

The Base SDK version number must be greater than or equal to the software version number on your development device; otherwise, Xcode cannot initiate a debugging session with the device. The Base SDK for your project and targets should be set to the latest operating system, which is the default value. The Base SDK property is located in the Architectures area in the Build Settings pane. For iOS apps, set Build SDK to Latest iOS. For Mac apps, set the Build SDK to Latest OS X. If you choose another value, you need to download and install the latest SDK version that is greater than or equal to your device software version.

Setting the Debug Information Format for Mac Apps

Set the Debug Information Format build setting to “DWARF with dSYM.”

Recap

In this chapter, you learned how to create your Xcode project from a template and configure it for distribution to the store.

이 장에서는, 템플릿에서 Xcode 프로젝트를 생성하는 방법과 스토어에 배포하는 설정을 하는 방법을 배웠습니다.

Posted by 창업자닉군
,

본 페이지는 App Distribution Guide 문서의 Configuring Store Technologies in Xcode and iTunes Connect 부분을 번역해 놓은 페이지 압니다. 발 번역이라 이상한 부분이 있을 수 있습니다. 발견즉시 댓글을 달아 주세요.




Configuring Store Technologies in Xcode and iTunes Connect
Xcode와 iTunes Connect 속 스토어 기술 환경 설정

This chapter describes the additional setup required to use store technologies. For example, you need to enable iCloud entitlements in your Xcode project to use it. Newsstand and routing apps require some configuration in the information property list. You need to add frameworks to use some of the technologies. Finally, some technologies require additional setup in iTunes Connect. This chapter covers the setup for all store technologies, even those that don’t require any provisioning.

이장은 스토어 기술을 이용하기 위해 요구 되는 추가 설치를 설명합니다. 예를 들어, 당신은 iCloud를 사용하려면 Xcode 프로젝트 속 이 자격을 활성화 해야합니다. 뉴스 스탠드와 앱 라우팅은 정보 속성 리스트에서 몇몇 설정을 요구합니다. 당신은 몇몇의 기술들을 사용하기 위해 프레임 워크를 추가해야합니다. 끝으로, 몇몇 기술은 iTunes Connect에서 추가 설정을 요구합니다. 이장은 모든 스토어 기술, 그것들이 필요하지 않는 프로비저닝 설치를 다룹니다.


Table 4-1 shows which assets need to be configured to use each store technology. For the steps to edit your App ID and provisioning profile in Member Center, read “Provisioning Your App for Store Technologies.”

'표 4-1'은 자원이 어떤 설정이 필요하고 각각의 스토어 기술이 이용하는 것을 보여줍니다. 각 단계에 Member Center를 통한 App ID와 프로비저닝 프로파일 수정을 위해, '스토어 기술을 위한 앱 프로비저닝'을 읽을세요.

About Entitlements
자격에 관해서

An entitlement is a single right granted to a particular app, tool, or other executable that gives it additional permissions above and beyond what it would ordinarily have. The term entitlement is most commonly used in the context of a sandbox, and to a lesser degree for an App ID. Regardless of the location, an entitlement is a piece of configuration information included in your app's code signature—telling the system to allow your app to access certain resources or perform certain operations. In effect, an entitlement extends the sandbox and capabilities of your app to allow a particular operation to occur. You set some entitlements for an App ID in Member Center—for example, by enabling store technologies—and others in the Xcode project.

(자격에 관한 설명입니다. 번역 안함)

Configuring iCloud
iCould 설정

iCloud storage allows you to share the user’s data among multiple instances of your app running on different iOS and Mac OS X devices. Your app needs to be provisioned to use iCloud, which includes setting entitlements in your Xcode project.

iCloud 저장소는 다른 iOS와 Mac OS X 장치에서 당신의 앱이 실행되는 다양한 인스턴스 속에 공유하는 것을 허락합니다. 당신의 앱은 iCloud를 이용하기 위해 Xcode 프로젝트 속 자격셋팅을 포함한, 프로비저닝 해야합니다.


Before continuing, review the tasks that should be complete before you configure iCloud in Xcode:
계속 해, Xcode속 iCloud 설정을 하기전 작업을 완벽히 검토해야합니다.

Task

../Art/checkbox_checked_2x.png

Enable the App ID to use iCloud.

../Art/checkbox_checked_2x.png

Create or regenerate a development provisioning profile containing the App ID.

../Art/checkbox_checked_2x.png

Provision your development device.

../Art/checkbox_checked_2x.png

Code sign your app using the development provisioning profile.

../Art/checkbox_unchecked_2x.png

Set iCloud entitlements in your Xcode project.

You should have enabled your App ID to use this technology, as described in “Provisioning Your App for Store Technologies.” Because iCloud doesn’t require an explicit App ID, you can use the team provisioning profile during development. After you do this, launch Xcode to set the entitlements.

이 기술을 이용하기 위해 '스토어 기술을 위한 당신의 앱 프로비저닝' 속 설명처럼, App ID가 활성화 되어야 합니다.왜냐하면 iCould 명시적 App ID를 요구하지 않고, 개발하는 동안 당신은 team provisioning profile을 사용할 수 있기 때문입니다. 이것을 한 뒤, Xcode를 실행해 자격을 설정합니다.


To learn more about using iCloud storage, read Your Third iOS App: iCloud and iCloud Design Guide.
iCould 스토리지 사용에 대해 더 많이 배우려면, '당신의 협력 iOS App: iCloud'와 'iCloud 설계 가이드'를 읽으세요.

Enabling iCloud Entitlements
iCloud 자격 활성화.


Before you can configure iCloud key-value storage or iCloud document storage, you need to enable iCloud entitlements in Xcode.

iCloud Key-value 저장소 또는 iCould 문서 저장소를 사용가능 하려면, Xcode 속 iCloud 자격 활성화가 필요할 것 입니다.

Configuring iCloud Key-Value Storage
iCloud Key-Value 저장소 설정


iCloud key-value storage allows an app to share small amounts of data with other instances of itself running on the user’s other devices.

iCloud key-value 저장소는 사용자들의 다른 장치에서 스스로 실행되는 다른 인스턴스들과 앱이 작은 양의 데이터를 공유하는 허락합니다. 

To learn how to use iCloud key-value storage for preferences, read iCloud Design Guide.

 선호하는 iCloud key-value storage 사용방법을 배우려면, 'iCloud 설계 가이드'를 읽으세요.


Configuring iCloud Document Storage
iCloud 문서 저장소 설정


iCloud document storage is used to store user documents and app data in the user’s iCloud account. Each app has a container in the user’s iCloud account identified by its App ID. An app can access containers belonging to other apps created by your team as well.

iCloud 문서 저장소는 사용자 문서 저장과 사요앚의 iCloud 계정에 데이터에 이용합니다. 각각 앱은 App ID로 식별된 사용자 iCloud 계정 속에 컨테이너가 있습니다. 앱은 당신의 팀이 생성한 다른 앱에 소속된 컨테이너 또한 접근할 수 있습니다.


To configure iCloud document storage, add one or more iCloud containers. Add your bundle identifier to the container list or add a wildcard App ID to match a set of App IDs. The first container identifier cannot be a wildcard App ID. For guidance on selecting iCloud containers, read iCloud Design Guide.

하나 또는 그 이상의 iCloud 컨테이너를 추가해, iCloud document storage를 설정합니다. 당신의 bundle identifier를 컨테이너 리스트 추가 하거나 만능 App ID를 추가해 App ID들의 설정과 맞춥니다. 첫 컨테이너 식별자는 만능 App ID로 할수 없습니다. 선택한 iCloud 컨테이너들로 안내하기위해, 'iCloud 설계 가이드'를 읽으세요.

To delete a container, select it from under the Ubiquity Containers field, and click the Delete button (-).

컨테이너 삭제는, 'Ubiquity Containers'필드에 삭제할 컨테이너를 선택, 그리고 삭제 버튼(-)을 누릅니다.

Configuring Push Notifications
Push Notifications 설정

Apple Push Notification service (APNs) allows an app that is not running in the foreground to notify the user that it has information for the user. Your app needs to be provisioned to use push notifications and you can only download client SSL certificates after you register your App ID.

Apple Push Notification service는 앱이 전면에서 동작하지 않을 때 사용자를 위한 정보를 사용자에게 알려주는 것을 허락합니다. 당신의 앱은 push notifications를 사용하기 위해 프로비저닝이 필요하며 오직 App ID를 등록한 뒤 클라이언트 SSL 인증서를 다운로드 할 수 있습니다.


Before continuing, review the tasks that should be complete before you configure push notifications in Xcode:
계속하기 전, Xcode 속 push notifications 설정을 하기전 완료해야하는 작업을 검토합니다 :

Task

../Art/checkbox_checked_2x.png

Create or edit the settings of an explicit App ID.

../Art/checkbox_checked_2x.png

Create or regenerate a development provisioning profile containing the explicit App ID.

../Art/checkbox_checked_2x.png

Provision your development device.

../Art/checkbox_checked_2x.png

Code sign your app using the development provisioning profile.

../Art/checkbox_unchecked_2x.png

Generate a client SSL certificate for development.

../Art/checkbox_unchecked_2x.png

Install the client SSL certificate and key on your server.

First, you need to create an explicit App ID and provisioning profile, as described in “Provisioning Your App for Store Technologies.” After you register your explicit App ID, you can generate client SSL certificates and install them on your server.

첫째, '스토어 기술을 위해 당신의 앱 프로비저닝 하기'에 설명된 것 처럼 당신은 명시적 인 App ID와 프로비저닝 프로파일을 생성해야합니다.


To learn more about push notifications, read Local and Push Notification Programming Guide.

push notifications에 관해 더 배우려면, '지역과 Push Notification Programming 가이드'를 읽습니다.

Creating Push Notification Client SSL Certificates
Push Notification Client SSL 인증서 만들기


You use Member Center to generate your push notification client SSL certificates. A client SSL certificate allows your notification server to connect to the APNs. Each App ID is required to have its own client SSL certificate. Similar to signing certificates, you use separate client SSL certificates for development and distribution.

당신은 Member Center를 이용해 당신의 Push Notification Client SSL 인증서 생성합니다. Client SSL 인증서는 당신의 알림 서버와 APNs가 연결되는 것을 허가 합니다. 각 App ID는 자신의 Client SSL 인증서가 필요합니다. 당신이 이용하는 독립된 개발과 배포 Client SSL 인증서는, 사인용 인증서와 비슷합니다.



Installing Client SSL Certificates
Client SSL Certificates 설치

For how to install the client SSL certificate and key on a server, read “Provisioning Procedures” in Local and Push Notification Programming Guide.

서버에 Client SSL 인증서와 키를 설치하는 방법은, '로컬 및 Push Notification Programming Guide'속 '프로비저닝 절차'를 읽으세요.

Configuring Game Center
Game Center 환경설정

Game Center is Apple’s social gaming network. It allows players to connect their devices to the Game Center service and exchange information. Before your app can use Game Center, it must first be provisioned to use Game Center and configured in iTunes Connect. You also add the Game Kit framework to your Xcode project and for Mac apps, set some network entitlements.

Game Center는 Apple의 사회 기반 게임 네트워크 입니다. 이것은 플레이어와 그들의 장치를 연결을 통해 Game Center service와 정보 교환을 합니다. Game Center를 이용하려면, Game Center를 이용하기 위해 프로비저닝하고 iTunes Connect에서 설정해야합니다. 또한 Game Kit framework를 당신의 Xcode 프로젝트에 추가하고 Mac 앱들을 위해, 몇몇 네트워크 자격을 설정합니다.


Before continuing, review the tasks that should be complete before you configure Game Center in Xcode:
계속하기 전, Xcode 속 Game Center 설정을 하기 전 작업들을 검토를 완료해야 합니다.

Task

../Art/checkbox_checked_2x.png

Create or edit the settings of an explicit App ID.

../Art/checkbox_checked_2x.png

Create or regenerate a development provisioning profile containing the explicit App ID.

../Art/checkbox_checked_2x.png

Provision your development device.

../Art/checkbox_checked_2x.png

Code sign your app using the development provisioning profile.

../Art/checkbox_unchecked_2x.png

For Mac apps, set the network entitlements in your Xcode project.

../Art/checkbox_unchecked_2x.png

Link to the Game Kit framework.

../Art/checkbox_unchecked_2x.png

Configure your game app in iTunes Connect.

You need to create an explicit App ID and provisioning profile, as described in “Provisioning Your App for Store Technologies.” For iOS apps, Game Center is automatically enabled for all explicit App IDs. For Mac apps, you need to specifically enable Game Center when you create the App ID.

'스토어 기술을 위한 당신의 앱 프로비저닝'에서 설명한 것 처럼 명시적 App ID와 프로비저닝 프로파일을 생성해야합니다. iOS 앰들은, 모든 명시적 App ID들은 Game Center가 자동으로 활성화 됩니다. Mac 앱들은, App ID를 생성할 때 Game Center 직접 활성화 해야합니다.


Next, you configure Game Center in your Xcode project. For Mac apps, you may need to set the network entitlements in the App Sandbox section, located in the Summary pane in Xcode. If your app opens network connections, it needs to allow outbound network connections; for this, set the com.apple.security.network.client entitlement. If your app listens for network connections, it needs to allow incoming network connections; for this, set thecom.apple.security.network.server entitlement.

다음, 당신은 Xcode 프로젝트 속 Game Center 설정합니다. Mac 앱은, Xcode 속 Summary 판에 위치한, App Sandbox 섹션에 네트워크 설정이 필요할지 모릅니다. 앱이 네트워크 연결을 연다면, 나가는 네트워크 연결의 허가가 필요할 지 모릅니다. (이것을 위해, 'com.apple.security.network.client' 자격 설정이 필요합니다.) 앱이 네트워크 연결을 듣기를 한다면, 네트워크 연결 들어오기 허락이 필요합니다. (이 것은, 'com.apple.sucurity.network.server' 자격)


Then link to the Game Kit framework and begin writing code that uses Game Kit APIs. To learn more about using Game Center, read Game Center Programming Guide.

Game Kit framework를 연결하고 코드를 작성해 Game Kit API들을 이용할 수 있습니다. Game Center 관해 더 배우려면, 'Game Center Programing 가이드'를 읽으세요.


To configure your app in iTunes Connect, read “Creating an App Record” to create the app record (enter your explicit App ID), and read “Game Center” in iTunes Connect Developer Guide to configure it.

iTunes Connect 속에서 당신의 앱 설정하려면, 'App Record 생성하기'를 읽고 앱 레코드를 생성하고, 'iTunes Connect 개발 가이드'속 'Game Center'를 읽고 설정하세요.


Configuring In-App Purchase
인 앱 결제 설정하기

In-App Purchase embeds a store directly into your app by allowing you to connect to the store and securely process payments from the user. You can use In-App Purchase to collect payment for enhanced functionality or additional content usable by your app. You need to provision your app to use In-App Purchase, add the Store Kit framework to your Xcode project, and configure it in iTunes Connect. You also use iTunes Connect to create your in-app purchases.

인 앱 결제는 당신의 허가를 통해 앱 속에 스토어를 직접 포함해 스토어에 연결하고 사용자로 부터 보안 결제를 합니다. 당신의 당신의 앱의 추가 내용의 사용성 또는 기능 강화를 통해 인앱 결제를 이용한 지불을 하게 할 수 있습니다. 인앱 결제를 하기 위해 프로비저닝이 필요하며, 당신의 Xcode project에 Store Kit framework를 추가, 그리고 그것을 iTunes Connect에서 설정합니다. 또한 당신은 iTunes Connect를 이용해 당신의 인앱 결제를 생성합니다.


Before continuing, review the tasks that should be complete before you use In-App Purchase:

계속하기 전, 인앱 결제 사용 전 작업 검토를 확실히 해야합니다.

Task

../Art/checkbox_checked_2x.png

Create or edit the settings of an explicit App ID.

../Art/checkbox_checked_2x.png

Create or regenerate a development provisioning profile containing the explicit App ID.

../Art/checkbox_checked_2x.png

Provision your development device.

../Art/checkbox_checked_2x.png

Code sign your app using the development provisioning profile.

../Art/checkbox_unchecked_2x.png

Link to the Store Kit framework.

../Art/checkbox_unchecked_2x.png

Enter the App ID in iTunes Connect and create in-app purchases for testing.

If you have not already done so, create an explicit App ID, as described in “Provisioning Your App for Store Technologies.” In-App Purchase is automatically enabled for all explicit App IDs.

준비되지 않았다면, '스토어 기술을 위해 당신의 앱을 프로비저닝'에 설명된 것 처럼, 명시적 App ID 생성합니다.


Then link to the Store Kit framework and refer to In-App Purchase Programming Guide for how to write your code.

그 다음 Store Kit framework를 연결하고 코드 작성 방법은 'In-App 결제 가이드'를 참고합니다.


To create an app record and enter the explicit App ID in iTunes Connect, read “Creating an App Record.” To create in-app purchases, read “In-App Purchase” in iTunes Connect Developer Guide.

앱 레코드를 생성하고 iTunes Connect속 명시적 App ID를 입력하고, '앱 레코드 생성'을 읽고 인앱 결제를 생성하고, 'iTunes Connect 개발 가이드'속 '인앱 결제'를 읽습니다.


Configuring Passbook for iOS Apps
iOS 앱 PassBook 설정

Presents digital representations of information—such as a coupon, ticket for a show, or boarding pass—that allow users to redeem a real-world product or service. You can use Passbook in several ways:

사용자에게 실세계의 제화나 서비스를 보완한 정보의 디지털 표현(쿠폰, 쇼 티켓, 또는 탑승권 같은)을 제공합니다. 몇몇 방법을 통해 Passbook을 이용할 수 있습니다. :

  • To create, distribute, and update passes, register a pass type identifier and request a pass-signing certificate. You don't need an app or an entitlement to do this. For details, read Passbook Programming Guide.
    생성, 배포, 그리고 업데이트 패스, 식별자 타입 패스 등록과 인증서 패스 사이닝 인증서 요구를 합니다. 당신은 이것을 하기 위해 앱 또는 자격이 필요하지 않습니다. 자세한 것은, 'Passbook 프로그래밍 가이드'를 읽습니다.

  • To let users add passes to the Passbook from your app, use PassKit framework. You don’t need to set Passbook entitlements to do this.
    사용자가 당신의 앱으로 부터 PassBook에 Pass 들을 추가하게 하고, PassKit framework 를 이용합니다. 이 것을 하는데 당신인이 Passbook 자격을 설정할 필요가 없습니다.

  • To access the user’s passes in your app, follow the steps below.
    당신의 앱 속에 사용자의 Pass 들 접근은, 아래 단계를 따릅니다.

Before continuing, review the tasks that should be complete before you configure Passbook:
계속 하기전, Passbook 설정 전 작업들을 확실히 검토해야 합니다 :

Task

../Art/checkbox_checked_2x.png

Enable the App ID to use Passbook.

../Art/checkbox_checked_2x.png

Create or regenerate a development provisioning profile containing the App ID.

../Art/checkbox_checked_2x.png

Provision your development device.

../Art/checkbox_checked_2x.png

Code sign your app using the development provisioning profile.

../Art/checkbox_unchecked_2x.png

Link to the PassKit framework.

../Art/checkbox_unchecked_2x.png

If needed, register a pass type identifier.

../Art/checkbox_unchecked_2x.png

Set Passbook entitlements.

You should have enabled your App ID to use this technology, as described in “Provisioning Your App for Store Technologies.” Because Passbook doesn’t require an explicit App ID, you can use the team provisioning profile during development.

'스토어 기술을 위해 당신의 앱 프로비저닝' 속에 설명된 것 처럼,당신의 앱은 이 기술 사용을 활성화 해야합니다. 왜냐하면, PassBook은 명시적 App ID를 요구하지 않고, 개발하는 동안 team provisioning profile을 이용할 수 있습니다.


After performing these steps, link to the Pass Kit framework and read Passbook Programming Guide for how to set Passbook entitlements. To create a pass type identifier, read “Requesting a Pass Type Identifier” in Passbook Programming Guide.

이 단계를 한 후, Pass Kit framework를 연결하고 Passbook 자격 설정 방법을 알기 위해 'Passbook 프로그래밍 가이드' 읽습니다. pass 형태 식별자를 생성하려면, 'Passbook Programing 가이드'속 'Pass 형태 식별자 요구'를 읽습니다.



Configuring Data Protection for iOS Apps
iOS Apps 데이터 보호 설정

Data protection adds a level of security to files stored on-disk by your app. Data protection uses the built-in encryption hardware present on specific devices to store files in an encrypted format on disk. Your app needs to be provisioned to use data protection.

 Data protection은 당신의 앱이 디스크에 저장된 파일에 보안레벨을 추가하게 합니다. Data protection은 내장된 지정된 장치가 제공하는 암호화 하드웨어를 이용해 디스크에 암호화된 파일을 저장합니다. 당신의 앱이 data protection을 하려면 프로비저닝이 필요합니다.


Before continuing, review the tasks that should be complete before you use data protection:

계속 하기전, data protection 사용 전 작업 검토가 완벽해야 합니다.

Task

../Art/checkbox_checked_2x.png

Enable the App ID to use data protection.

../Art/checkbox_checked_2x.png

Create or regenerate a development provisioning profile containing the App ID.

../Art/checkbox_checked_2x.png

Set the default level of data protection.

../Art/checkbox_checked_2x.png

Provision your development device.

../Art/checkbox_checked_2x.png

Code sign your app using the development provisioning profile.

../Art/checkbox_unchecked_2x.png

Set the level of protection programmatically for files created by your app.

You should have enabled your App ID to use data protection, as described in “Provisioning Your App for Store Technologies,” and selected a default level of protection. Data protection doesn’t require an explicit App ID so you can use the team provisioning profile during development. No other configuration is required in your Xcode project to use data protection but you can in addition change this setting in your code.

'스토어 기술을 위한 당신의 앱 프로비저닝' 속에 설명된 것 처럼, data protection을 위해 당신의 App ID 활성화하면 기본 보호 레벨이 선택됩니다. Data protection은 명시적 App ID를 요구하지 않고 개발하는 동안 team provisioning profile을 사용할 수 있습니다. 당신의 Xcode 프로젝트로 data protection을 이용하는 것은 다른 설정은 요구되지 않으며 당신의 코드 속 설정으로 이것을 추가적으로 변경할 수 있습니다.


You can programmatically set the level of protection for files created by your app, as described in “Protecting Data Using On-Disk Encryption” in iOS App Programming Guide. Your app may override these App ID settings:

'iOS 앱 프로그램 가이드' 속 '디스크 암호화이용 데이터 보호'에 설명한 것과 같이, 당신은 당신의 앱이 생성한 파일의 보안레벨 설정을 프로그램적으로 할 수 있습니다.


  • Complete Protection. Files are encrypted and inaccessible when the device is locked.
    완벽한 보호. 파일이 암호화 되고 디스크가 잠긴 상태에서는 접근할 수 없습니다.

  • Protected Unless Open. Files are encrypted. A closed file is inaccessible when the device is locked. After the device is unlocked, your app can open and use the file. If the user has a file open and locks the device (for example, by pressing the sleep button), your app can continue to access the file.
    열지 않는한 보호. 파일이 암호화 됩니다. 장치가 잠겼을 때 닫힌 파일은 접근 못합니다. 장치가 잠금해제 된 후에, 당신의 앱은 사용할 파일을 열 수 있습니다. 사용자가 파일을 열고 장치를 잠그면(예를 들어, 잠자기 버튼을 누른 경우), 당신의 앱은 파일에 계속 접근할 수 있습니다.

  • Protected Until First User Authentication. Files are encrypted and inaccessible until after the device has booted and has been unlocked once.
    사용자 첫 인증까지 보호. 파일이 암호화 되고 부팅되고 한번 해제되기 전까지 접근이 불가능 합니다.


Configuring Routing Apps for iOS Apps
iOS 앱의 App Routing 설정하기

Apps that are able to display point-to-point directions can register as routing apps and make those directions available to Maps and other apps. Use Xcode and iTunes Connect to configure your routing app.

앱들은 중계앱들 처럼 등록할 수 있는 p2p목적지를 표시할 수 있고 그 맵과 다른 목적지로 연결 할 수 있게 합니다. Xcode와 iTunes Connect를 이용해 당신의 중계 앱을 설정합니다.


Before continuing, review the tasks that you need to perform to configure a routing app:

연결하기 전, 당신이 필요한 플렛폼 라우팅앱 설정 작업을 검토합니다.

Task

../Art/checkbox_unchecked_2x.png

Write the code to provide routing directions.

../Art/checkbox_unchecked_2x.png

Enable this feature in Xcode.

../Art/checkbox_unchecked_2x.png

Create an app record in iTunes Connect.

../Art/checkbox_unchecked_2x.png

Upload a binary of your app to the store.

../Art/checkbox_unchecked_2x.png

Upload your app’s geographic coverage file in iTunes Connect.

The geographic coverage file defines the regions that your app supports. You can upload the geographic coverage file when you first create the iTunes Connect app record or later after you submit a binary.

지리적 범위 파일은 당신의 앱이 지원하는 영역을 정의합니다. 당신은 iTunes Connect 앱 기록 생성 또는 마지막으로 바이너리 파일을 보낼 때 지리적 범위 파일을 업로드 할 수 있습니다.


Providing Routing Directions
라우팅 경로 지원

Read “Providing Directions” in Location Awareness Programming Guide to learn how to create a routing app.

'위치 인식 프로그래밍 가이드'속 '방향 지원'을 읽고, 라우팅 앱을 생성하는 방법을 배우세요.

Enabling Routing Apps in Xcode

Xcode에서 라우팅 앱 활성화 하기

Enable routing apps in your Xcode project and select one or more supported modes.
Xcode 프로젝트 속 라우팅 앱 활성화와 하나 혹은 그 이상의 지원되는 모드를 선택합니다.


Creating an App Record in iTunes Connect
iTunes Connect 속 App Record를 생성합니다.

Follow the steps in “Creating an App Record.” Optionally, you can upload the geographic coverage file when you create the app record, or later when you upload a binary.

'App Record 생성' 속 단계를 따라 마음대로, app record를 생성할 때, 이후 바이이너를 업로드 할 때 지역 범위 파일을 업로드 할 수 있습니다.

Submitting a Binary to the Store

스토어로 바이너리 보내기

Follow the steps in “Submitting Your App” to upload a binary to iTunes Connect.
'당신의 앱 보내기' 속 단계를 따라 iTunes Connect 로 바이너리 파일을 업로드 합니다.

Uploading the Geographic Coverage File to iTunes Connect
지역 범위 파일을 iTunes Connect 로 업로드 하기

If you enable routing apps and submit a binary, Apple will not start the approval process until you upload the geographic coverage file.

만약 당신이 routing apps을 활성화하고 바이너리를 보내면, Apple 은 당신이 지역 범위 파일을 업로드 하기 전까지 프로세스 승인을 시작하지 않을 것입니다.

Configuring Newsstand for iOS Apps
iOS 앱의 Nesstand 환경 설정

Newsstand enables an app to organize a user’s magazine and newspaper app subscriptions into a folder. To use Newsstand, just add some keys to the information property list and add artwork to your Xcode project. Refer toNewsstand for Developers for more information on creating a Newsstand app. Read “Newsstand Icons” in iOS Human Interface Guidelines for how to add Newsstand cover icons to your Xcode project.

Newsstand는 App이 사용자들이 매거진과 신문을 구독 앱을 구독해 폴더에 정리 할 수 있게합니다. Newsstand를 사용하려면, 몇몇 키들을 속성 프로퍼티 리스트 정확히 추가하고 아트웍을 Xcode 프로젝트에 추가합니다. Newsstand 앱 생성의 더 많은 정보는 'Newsstand for Developer'를 참조하세요. Xcode Project에 Newsstand 커버 아이콘 추가 방법은 'iOS Human Interface Guidelines'의 'Newsstand Icons'를 읽으세요.

Verify Your Steps
단계들 확인

Some entitlements (for example, App Sandbox entitlements) are set in your Xcode project and others are set in the provisioning profile. You can check if the signed app has the correct entitlements by examining the app’s signature. If there are any discrepancies, you can examine the embedded provisioning profile located in the app binary.

몇몇 자격들(예를 들어, App Sandbox 자격들)은 당신의 Xcode project 속에서 셋팅하고 다른 것들은 provisioning profile에서 설정합니다. 사인된 앱이 정확한 자격을 가지고 있다면 앱 사인 조사를 통해 체크할 수 있습니다. 약간 다르다면, 당신은 앱 바이너리 속에 포함된 프로비저닝 프로파일 위치 검사를 할 수 있습니다.

If the app’s entitlements are different than what you have configured, verify that the embedded provisioning profile is correct. First, you need to locate the embedded provisioning profile.
앱의 자격이 어떠한 환경설정 후 다르다면, 포함된 프로비저닝 프로파일이 정확한지 확인해야 합니다. 첫째로, 포함된 프로비저닝 프로파일의 위치가 정확해야 합니다.

See codesign and security for more ways to use these commands.
더 많은 명령을 이용하려면 codesign과 security를 보세요.

Recap
요약 정리

In this chapter you learned how to configure store technologies in Xcode and iTunes Connect. Some technologies required that you set entitlements and edit the information property list in your Xcode project, add a framework to your Xcode project, or configure your app in iTunes Connect.

이 장에서 당신은 Xcode와 itunes Connect로 스토어 기술 설정하는 방법을 배웠습니다. 몇몇 Xcode project 속 자격설정과 정보 프로퍼티 리스트 수정을 요구하며, Xcode 프로젝트에 framewort를 추가하고, iTunes Connect에서 당신의 앱을 설정해야 합니다.

Posted by 창업자닉군
,

본 페이지는 App Distribution Guide 문서의 Provisioning Your App for Store Technologies 부분을 번역해 놓은 페이지 압니다. 발 번역이라 이상한 부분이 있을 수 있습니다. 발견즉시 댓글을 달아 주세요.




Provisioning Your App for Store Technologies
스토어 기술들을 위한 앱 프로비저닝.

Certain technologies—such as iCloud, Game Center, and In-App Purchase—are available only to apps distributed through the store. But simply submitting your app to the store doesn’t enable these technologies. You need to provision your app to use these technologies. The first step is to configure App IDs and provisioning profiles to enable the technologies you want to use. Later, you’ll complete the configuration of some technologies using Xcode and iTunes Connect.

확실한 기술들(iCloud, Game Center, 그리고 In-App Purchase 같은)은 오직 (App) store를 통해 배포된 앱만 이용할 수 있습니다. 그러나 당신의 앱을 store로 간단히 보내는 것으로 이 기술들이 활성화 되지 않습니다. 이 기술들을 이용하기 위해서는 앱을 프로비전해야 합니다. 첫 단계는 당신의 App ID를 설정하고 프로비저닝 프로파일로 당신이 사용하기 원하는 기술들을 활성화하는 것입니다. 이후, 당신은 Xcode와 iTunes Connect를 이용해 몇가지 기술들을 환경설정을 완벽히 완료 할 수 있을 것입니다.


The store technologies available for both iOS and Mac apps are:
iOS와 Mac 앱을 위한 스토어 기술 활성화 : 

  • Apple Push Notification service (APNs). Allows an app that is not running in the foreground to notify the user that it has information for the user. (This document and some tools refer to this technology as push notifications.)
    애플 푸시 알림 서비스(APNx) : 앱이 foreground(전면에서 동작함을 말함)에서 동작하지 않아도 사용자를 위한 정보 사용자에게 알림는 것을 허락합니다. (이 문서와 일부 도구는 push notifications로 이 기술을 참고합니다.)

  • Game Center. Apple’s social gaming network that allows players to connect to the service and exchange information with other players.
    게임 센터. 앱의 사회적인 플레이어들 끼리 연결을 허락하여 서비스와 다른 플레이어들과의 정보 교환을 하는 게임 네트워크.

  • iCloud. Allows you to share the user’s data among multiple instances of your app running on different iOS and Mac OS X devices.
    iCloud. 당신이 유저의 데이터를 다른 iOS와 Mac OS X 장치에 동작하는 앱의 다양한 인스턴스들 에게 공유하는 것을 허락합니다.

  • In-App Purchase. Embeds items to purchase directly into your app by allowing you to connect to the store and securely process payments from the user.
    In-App Purchase. 당신이 사용자가 스토어에 접속하는 것과 안전한 지불 처리 허용으로 당신의 앱에 직접결제 기능 항목을 포함합니다.

The additional store technologies available for iOS apps are:
 iOS 앱을 위해 추가적으로 이용할 수 잇는 스토어 기술 :

  • Data protection. Adds a level of security to files stored on-disk by your app.
    데이터 보호. 당신의 앱이 (생성한) 파일을 디스크에 저장하는 보안 레벨을 추가합니다.

  • Newsstand. Allows you to deliver magazine and newspaper subscription content to users.
    뉴스 스탠드. 매거진과 뉴스 구독 컨텐츠가 사용자들에게 배달되도록 허락합니다.

  • Passbook. Presents digital representations of information—such as a coupon, ticket for a show, or boarding pass—that allow users to redeem a real-world product or service.
    패스북. 실제 제품이나 서비스를 보완하기 위해 유저들이 허락한 디지털화된 정보(쿠폰, 쇼 티켓, 또는 탑승권 같은)를 제공합니다.

  • Routing apps. Allows apps that can display point-to-point directions to make those directions available to Maps and other apps.
    앱 경유. 앱이 맵과 다른앱을 찾기 위해 p2p 안내를 표시할 수 있게 허락합니다.

Follow these steps to provision your app to use these technologies:
이 단계들을 따라해 당신의 앱을 프로비전 하고 이 기술들을 이용하세요.

  1. If necessary, create an App ID.
    필요하다면, App ID 생성. (App ID를 아직 안 만들었을 경우)

  2. Enable store technologies for your App ID.
    당신의 App ID를 통해 스토어 기술을 활성화 합니다.

  3. Use the team provisioning profile or create your own development provisioning profile containing your App ID.
    team provisioning profile을 이용하거나 당신의 App ID가 포함된 자체 개발자 프로비저닝 프로 파일을 만듭니다.

  4. Set your bundle ID to match your App ID.
    당신의 번들 아이디를 당신의 App ID와 맞춥니다.

  5. Provision your development devices.
    개발용 장치를 프로비전 합니다.

  6. Build and sign your app using your development provisioning profile.
    빌드와 개발자 프로비저닝 프로파일을 이용해 당신의 앱을 사인합니다.

After performing these steps, follow any additional technology-specific steps described in “Configuring Store Technologies in Xcode and iTunes Connect.”

이 단계들을 실행한 후, 추가할 지정 기술들 단계는 'Xcode와 iTunes Connect 속 스토어 기술들 설정'에 설명된 단계를 따라하세요.

The goal of this chapter is to create a development provisioning profile that is customized for your app.
이장의 목표는 당신의 앱 사용자 지정해 개발자 프로비저닝 을 생성하는 것입니다.

About Development Provisioning Profiles
개발자 프로비저닝 프로파일에 관해서.

You use a development provisioning profile to authorize your app to launch on devices and use certain store technologies during development. It is one of the two types of provisioning profiles you create in the lifetime of your app. Later, you’ll use the other type of provisioning profile, a distribution provisioning profile, for testing and submitting your app to the store.

당신은 개발하는 동안 앱을 장치에 출시하고 확실한 스토어 기술을 이용 권한 부여에 개발자 프로비저닝 프로파일을 이용합니다. 당신의 앱의 생애(?) 동안 당신이 생성하는 프프로비저닝 프로파일의 2가지 형태중 하나입니다. 이 후에, 테스트와 앱을 스토어로 보낼 때, 배포용 프로비저닝 프로파일 (이라는), 다른 타입의 프로비저닝 프로파일을 사용할 것입니다.


In general, your app needs to be authorized by Apple to run on an iOS device. Your app also needs to be authorized by Apple to use certain iOS and OS X technologies. You enable and configure technologies for your app by setting entitlements. Some entitlements are enabled for an App ID (which identifies a set of apps created by your team) and others are set in the Xcode project. You also enter your App ID into iTunes Connect for additional security checks. A provisioning profile contains the App ID and other assets required for that type of profile.

일반적으로, 앱이 iOS 장치에 실행하려면 Apple을 통해 앱에 권한이 부여되어야 합니다. 당신의 앱 또한 iOS와 OS X의 확실한 기술들을 이용하려면 Apple로 부터 보여된 권한이 필요합니다. 당신은 공식적인 자격 세팅을 통해 당신의 앱을 위한 기술들을 활성화 하고 설정합니다. App ID(당신의 팀이 만든 앱의 식별자)를 위한 몇가지 (공식적인)자격은 활성화 되고 다른 것들은 Xcode 프로젝트 속에서 설정합니다. 당신은 또한 추가적인 보안 확인을 위해 당신의 App ID 입력해 iTunes Connect로 들어 갑니다.


A development provisioning profile authorizes a specific set of apps to run, devices to run those apps, and development certificates to sign those apps. Consequently, a development provisioning profile is comprised of these assets: a single App ID, a set of devices, and a set of development certificates. Your development provisioning profiles reside in Member Center, but since Xcode downloads them, you can install them onto devices.

개발자 프로비저닝 프로파일은 실행할 앱의 특정 설정, 장치가 이앱을 실행시키고, 개발인증서가 앱을 사인하는 권한을 부여합니다. 따라서, 개발자 프로비저닝 프로파일은 싱글 App ID, 장치 설정, 그리고 개발 인증서의 셋팅 자원으로 구성되어 있습니다. 당신의 개발 프로비저닝 프로파일은 Member Center 에 존재하지만, Xcode가 이것을 다운로드 하고, 당신은 장치에 설치 할 수 있습니다.


../Art/development_provisioning_2x.png

Each Mac and iOS device in a provisioning profile is identified by its unique device ID (UDID). The devices you register and add to a development provisioning profile are stored by Member Center. Each individual or company can register up to 100 devices for development and testing.

프로비저닝 프로파일 속 각각의 Mac과 iOS 장치는 유일한 device ID (UDID)로 식별되어 있습니다. 개발자 프로비저닝 프로파일에 추가 되고 등록된 장치는 Member Center가 보관합니다. 각각의 개인 또는 회사는 개발과 테스트를 위해 100개의 장치를 등록할  수 있습니다.


If you use certain technologies that require an explicit App ID (that is, an App ID that matches a single bundle ID), you will create a custom development provisioning profile that contains the explicit App ID. (Later, you’ll create a distribution provisioning profile containing the App ID.)

만약 당신이 확실한 기술들을 이용하려면 확실한 App ID가 필요합니다.(즉, 싱글 bundle ID와 맞춰지는 하나의 App ID) 당신은 확실한 App ID를 포함한 개발자 프로비저닝 프로파일을 필요한 바 대로 생성해야 할 것입니다.(이후, 당신은 App ID를 포함한 배포용 프로비저닝 프로파일을 만들게 됩니다.)

Before You Begin
시작하기 전에

Before you begin, decide on what type of App ID and provisioning profile you need for the technologies you want to use. It’s convenient to use the team provisioning profile that Xcode manages for you, as described in “Developing Apps Using the Team Provisioning Profile,” but you can’t use the team provisioning profile for all technologies.

시작하기전, 당신이 이용하기 원하는 기술을 사용하는데 필요한 App ID 타입과 프로비저닝 프로파일이 무엇인지 정해야 합니다. 당신을 위해 Xcode로 관리하는 team provisioning profile을 이용하는 것이 편하며, 'Team Provisioning Profile을 이용한 앱 개발'에 설명되어 있는 것 처럼, 그러나 team provisioning profile이 모든 기술을 이용할 수 있는 것은 아닙니다.


Table 4-1 shows what needs to be configured for each of the store technologies. You configure one App ID to enable all the technologies you want to use for one or more apps. If you don’t need an explicit App ID, you can configure the Xcode wildcard App ID and use the team provisioning profile. Otherwise, you need to create an explicit App ID and corresponding development and distribution provisioning profiles containing the App ID that you manage yourself.

표 4-1은 각각의 스토어 기술을 설정하는 데 무엇이 필요한지 보여줍니다. 하나 또는 그 이상의 앱을 위해 사용하기 원하는 모든 기술 활성화는 하나의 App ID로 설정합니다. 만약 당신이 확싱한 App ID가 필요하지 않다면, 당신은 Xcode 만은 App ID와 team provisioning profile을 이용해 설정할 수 있습니다. 그렇지 않다면, 당신은 확실한 App ID와 당신이 관리하는 App ID를 개발용과 배용 프로비저닝 파일에 일치 시켜야 합니다.


Table 4-1  Tasks you perform to configure store technologies

Create

Explicit App ID

Enable

App ID

Set

Entitlements

Edit

Info.plist

Configure

iTunes Connect

APNs

../Art/checkmark_2x.png

../Art/checkmark_2x.png

Game Center

../Art/checkmark_2x.png

../Art/checkmark_2x.png

../Art/checkmark_2x.png

iCloud

../Art/checkmark_2x.png

../Art/checkmark_2x.png

In-App Purchase

../Art/checkmark_2x.png

../Art/checkmark_2x.png

../Art/checkmark_2x.png

Data protection

../Art/checkmark_2x.png

Newsstand

../Art/checkmark_2x.png

../Art/checkmark_2x.png

Passbook

../Art/checkmark_2x.png

Routing apps

../Art/checkmark_2x.png

../Art/checkmark_2x.png

For example, if your iOS app uses iCloud, data protection, Newsstand, Passbook, or routing apps, you can use the team provisioning profile. For Mac apps, if your app uses iCloud only, you can use the team provisioning profile. However, if you add push notifications, In-App Purchase, or Game Center to your app, you need to create an explicit App ID and custom provisioning profiles for both development and distribution. If you develop multiple apps that use different sets of technologies, you need specialized App IDs and provisioning profiles, too.

예를 들어, 만약 당신의 iOS 앱이 iCloud, Data protection, Newsstand, Passbook, 또는 라우팅 앱을 이용한다면, 당신은 team provisioning profile을 이용할 수 있습니다. Mac 앱들에, iCloud만 사용한다면, team provisioning profile을 이용할 수 있습니다. 그러나, push notifications, In-App Purchase, 또는 Game Center를 당신에 앱에 추가한다면, '확실한 App ID'와 개발과 배포에 사용자 정의된 프로비저닝 프로파일이 필요합니다. 만약 다양한 앱 개발에 다른 기술들을 설정해 사용한다면, 역시 전용 App ID와 프로비저닝 프로파일이 필요합니다.


Table 4-1 also shows which technologies require additional configuration (setting entitlements and editing the information property list) in the Xcode project. Some technologies also require configuration in iTunes Connect. “Configuring Store Technologies in Xcode and iTunes Connect” describes the additional steps you perform after configuring App IDs and provisioning profiles.

또한 표 4-1은 어떤 기술이 Xcode 프로젝트에서 추가 설정(공식적인 자격 설정과 정보 속성 리스트 수정)을 요구하는 지 보여줍니다. 또한 몇몇 기술을 iTunes Connect에서 설정을 요구합니다. 'Xcode와 iTunes Connect속 스토어 기술 설정'은 당신이 App ID와 프로비저닝 프로파일을 설정한 후 해야할 추가 단계를 설명합니다.


Decide on a naming convention now for the App IDs and provisioning profiles you’ll create, especially if you develop multiple apps, to help you identify them later in Member Center, Xcode, and on devices.

당신이 생성할 App ID들과 프로비저닝 프로파일들을 위해 이름제작 규칙을 결정하면, 당신이 다양한 앱을 만든다면 특별히, Member Center, Xcode, 그리고 장치에서 구분하는데 도움이 될 것입니다.

Creating App IDs
App ID들 생성

You’ll create an App ID if you can’t use the Xcode wildcard App ID and team provisioning profile for the technologies you want to use. When you create an App ID, you specify whether it’s an explicit or wildcard App ID and optionally, enable technologies. For iOS apps, Game Center and In-App Purchase are enabled by default for an explicit App ID. For Mac apps, In-App Purchase is enabled by default for an explicit App ID. (You can also enable technologies after you create an App ID.)

당신이 당신이 사용하기 원하는 기술들을 위해 Xcode 만능 App ID와 team provisioning profile을 사용할 수 없다면 App ID를 생성할 것입니다. App ID를 생성할 때, 확실한 App ID 또는 만능 App ID 인지를 뜻에 따라 명확히 하고, 기술들을 활성화 해야 합니다. iOS 앱들을 위해, 확실한 App ID를 통해 기본적으로 Game Center와 In-App Purchase 활성화 됩니다. Mac apps을 위해, explicit App ID로 기본적으로 In-App Purchase가 활성화 됩니다. (당신은 또한 App ID 를 생성한 후 기술들을 활성화 할 수 있습니다.)


Registering an App ID
App ID 등록


The steps to enable each technology are similar with a few variations for specific technologies. For iOS apps, you select a level of protection when you enable data protection.

각각의 기술을 활성화 단계들 간단하고 지정된 기술에 따라 약간의 변화가 있습니다. iOS 앱을 위해, 데이터 보호를 활성화 할 때 보호 레벨을 설정합니다.




Enabling Store Technologies
스토어 기능 활성화.

If you have an existing App ID, including the Xcode wildcard App ID, you can modify the settings to add other capabilities to your app. For iOS apps, Game Center and In-App Purchase are enabled by default for an explicit App ID. For Mac apps, In-App Purchase is enabled by default for an explicit App ID.

당신의 App ID가 있다면, Xcode 만능 App ID를 삽입하고, 다른 기능을 당신의 앱에 추가하기 위해 설정을 변경할 수 있습니다. iOS 앱을 위해, 확실한 앱 ID로 인해 Game Center와 In-App Purchase가 기본적으로 활성화 합니다. Mac App들을 위해, In-App Purchase는 확실한 App ID로 인해 기본적으로 활성화 됩니다.


If you use the team provisioning profile, edit the settings of the wildcard App ID Xcode creates for you. For iOS apps, this App ID is calledXcode iOS Wildcard App ID. For Mac apps, this App ID is called Xcode Mac Wildcard App ID.

만약 당신이 team provisioning profile을 이용한다면, Xcode가 자동생성한 만능 App ID의 셋팅을 수정합니다. iOS 앱을 위해, 앱 ID는 'Xcode iOS Wildcard App ID'를 부릅니다. Mac 앱들을 위해, 이 App ID는 'Xcode Mac Wildcard App ID'를 부릅니다.


For iOS apps, you can also set the level of protection programmatically for files created by your app, as described in “Protecting Data Using On-Disk Encryption” in iOS App Programming Guide.
iOS 앱들을 위해, 당신은 또한 앱으로 생성한 파일을 위해 계획에 따라 보호 레벨을 설정할 수 있으며, 'iOS App Programming Guide'속 'Protecting Datg Using On-Disk Encryption'속에 설명되어 있는 것 처럼.

Creating Development Provisioning Profiles
개발용 프로비저닝 프로파일 생성

If you created an App ID, use Xcode to create a development provisioning profile containing your new App ID. You can also use the Xcode wildcard App ID to create a variation of the team provisioning profile (containing a subset of development certificates and devices).

App ID가 생성되어 잇다면, Xcode를 이용해 당신의 새로운 App ID가 포함된 개발용 프로비저닝 프로파일을 생성합니다. 당신은 또한 Xcode 만능 App ID를 사용해 team provisioning profile의 변화를 줄수 있습니다. (개발인증서와 장치의 일부가 포함된)


To create a development provisioning profile, you select an App ID, one or more development certificates, and one or more devices. If you need to create your development certificates, read “Creating Your Signing Certificates.” If you need to register devices, read “Developing Apps Using the Team Provisioning Profile.”

당신이 선택한 App ID, 하나 또는 그 이상의 인증서, 그리고 하나 또는 그 이상의 장치, 개발 인증서 생성하기. 개발인증서 생성을 햐야 한다면, '사인용 인증서 생성'을 읽으세요. 장치등록을 해야 한다면, 'Team Provisioning Profile을 이용해 App 개발'을 읽으세요.



Regenerating the Provisioning Profile
프로비저닝 프로파일 재생성

If you edit an App ID, provisioning profiles that contain that App ID become invalid until you regenerate them. For example, if you edit the Xcode wildcard App ID, any provisioning profile containing it—including the team provisioning profile—needs to be regenerated. After you regenerate a provisioning profile, update it on all devices you previously installed it on. The steps to regenerate the team provisioning profile are different from the steps to regenerate a provisioning profile you created.

당신이 App ID를 수정했다면, 당신이 재생성할 때까지 프로비저닝 프로파일에 포함된 App ID 'invalid'(유효하지 않음)가 유효하지 않음 상태 일 것입니다. 예를 들어, Xcode 만능 App ID를 수정했다면, 이 것을 포함한 프로비저닝 프로파일(team provisioning profile이 포함된)은 재 생성이 필요합니다. 프로비저닝 프로파일을 재생성한 뒤, 이 것들을 이전에 설치했던 장치들은 모두 업데이트 해야 합니다. team provisioning profile 재생성하는 단계는 당신이 생성한 프로비저닝 프로파일 단계와 다릅니다.


Regenerating the Team Provisioning Profile
Team Provisioning Profile 재생성.

The team provisioning profile, which is managed by Xcode, is not regenerated immediately when you make changes in Member Center. This is true even when you register devices using Member Center, not Xcode. To regenerate the team provisioning profile, you refresh the provisioning profiles or make some other change to the team provisioning profile using Xcode. Xcode regenerates the team provisioning profile and, for iOS apps, automatically replaces it on any connected iOS devices. For Mac apps, you need to replace the team provisioning profile in System Preferences yourself.

Team provisioning profile는, Xcode로 이것을 관리하면, Member Center에서 변경했을 때 즉시 재생성 되지 않습니다. Xcode가 아닌, Member Center를 이용해 장치를 등록했을 때에도 마찬가지 입니다. team provisioning profile 재 생성하기는, 프로비저닝 프로파일 리프레쉬 또는 Xcode를 이용해 team provisioning profile의 몇가지를 변경하는 경우, team provisioning profile을 재생성합니다.

For Mac apps, you need to replace the team provisioning profile on your Mac. (Xcode updates the team provisioning profile automatically only on an iOS device.)

Mac 앱들을 위해, 당신의 Mac team Provisioning profile을 교체 해야 합니다.(Xcode는 iOS 장치만 자동으로 team provisioning profile을 업데이트 합니다.)




Regenerating Provisioning Profiles Managed By You
당신이 관리한 Provisioning Profile 재생성하기


If a provisioning profile you created is invalid because you edited its App ID, regenerate the provisioning profile manually using Member Center.

만약 당신이 생성한 프로비저닝 프로파일이 App ID 수정으로 유효하지 안하면, Member Center를 이용한 수동조작으로 provisioning profile을 재생성할 수 있습니다.


Provisioning Your Development Devices
개발장치 프로비저닝

Except for the iOS team provisioning profile, after you create or regenerate a provisioning profile, you need to install it on your device. The provisioning profile you use to sign your app needs to be installed on the device before you can run your app on the device. If you previously installed a provisioning profile on a device, you need to replace it with the current version. First, you download the latest provisioning profiles from Member Center, and then you update the provisioning profiles on the device.

iOS team provisioning profile을 제외하고, provisioning profile을 생성하거나 재생성한 뒤, 당신의 장치에 설치가 필요합니다. 앱 사인요 이용할 provisioning profile은 앱을 장치에서 되려면 장치에 설치가 필요합니다. 만약 당신이 장치에 이전에 provisioning profile을 설치했다면, 현재의 버전으로 교채가 필요합니다. 첫 째로, Member Center로 부터 마지막 provisioning profile을 다운로드 받고, 당신의 장치에 provisioning profile을 업데이트 합니다.


If you use the team provisioning profile, you completed this step when you regenerated it, as described in “Regenerating the Team Provisioning Profile.”

team provisioning profile을 이용한다면, 'Team Provisioning Profile 재생성'의 설명의, 단계를 완료해 재생성 합니다.


Refreshing Your Provisioning Profiles Using Xcode
Xcode를 이용해 당신의 Provisioning Profile들 리프레쉬 하기

Changes you make in Member Center are not automatically downloaded until you refresh provisioning profiles in Xcode. To keep the Xcode copies up to date, always perform this step after you regenerate provisioning profiles in Member Center.

Member Center에서 변경은 당신이 Provisioning Profile을 XCode에서 리프레쉬 하기 전 까지 자동으로 다운로드 되지 않습니다. Xcode 날짜를 복사해 유지하려면, Member Center에서 Provisioning profile을 재생성한 후 항상 이 단계를 실행하세요.


Updating Provisioning Profiles on Your Device
장치에서 Provisioning Profile 업데이트 하기

It’s your responsibility to maintain provisioning profiles that you manage on your devices. When provisioning profiles become invalid, you need to remove them from the device. A provisioning profile becomes invalid on a device if it doesn’t match the provisioning profile in Xcode. To install and remove provisioning profiles, read “Installing and Removing Provisioning Profiles from Devices.”

당신의 장치에서 관리하는 provisioning profile을 유지하는 것은 당신의 책무입니다. provisioning profile이 유효하지 않게 되었을 때, 장치에서 삭제 해야합니다. Xcode속 provisioning profile과 맞지 않다면 당신의 장치에서 provisioning profile이 유효하지 않게 됩니다. provisioning profile을 설치하고 삭제를 하려면, '장치에서 Provisioning Profile 설치하고 삭제하기'를 읽으세요.

Setting the Bundle ID to Match Your App ID
Bundle ID 설정해 App ID 일치 시키기.

Next, set your app’s bundle ID in Xcode to match your App ID. If you use the team provisioning profile or the Xcode wildcard App ID in your provisioning profile, you can skip this step because the Xcode wildcard App ID matches all your apps.

다음, Xcode속 당신 앱의 bundle ID를 설정해 App ID와 일치 시킵니다. provisioning profile속 team provisioning profile 또는 Xcode 만능 App ID를 이용한다면,  Xcode 만능 App ID가 모든 앱과 맞춰지므로 이 단계를 건너 뛸수 있습니다.


Signing Your App Using Your Development Provisioning Profile
당신의 개발자 인증서를 이용해 당신의 앱 사인하기

Your last step is to set the Code Signing Identity build setting to your development certificate that resides in your development provisioning profile. By selecting the development certificate in the provisioning profile, you are instructing Xcode to install the provisioning profile in your app’s bundle. The operating system uses the embedded provisioning profile to determine whether your app can launch on the device and use certain services. Consequently, your app won’t be able to access store technologies if it’s not configured correctly.

마지막 단계는 Code Signing Identity 빌드 셋팅으로 개발 프로비저닝 프로파일속에 있는 개발 식별자 설정하는 것입니다. 프로비저닝 프로파일 속 개발인증서 선택으로, Xcode로 당신의 앱 bundle속 provisioning profile을 설치합니다. 운영 체제는 포함된 provisioning profile을 이용해 당신의 앱이 장치에 실핼될 수 있는 지와 확실한 서비스인지 알아냅니다. 그결과로, 당신의 앱이 바르게 설정되어 있지 않다면 스토어 기술에 접근하지 못합니다.


Before continuing, review the tasks you should have previously performed in this chapter:
계속하기전, 이 장에서 해야 했던 작업을 검토합니다.

Task

../Art/checkbox_checked_2x.png

Enable the App ID to use store technologies.

../Art/checkbox_checked_2x.png

Regenerate the provisioning profile.

../Art/checkbox_checked_2x.png

Install the provisioning profile on your device.

Then set the code signing identity and run your app.
다음 코드 사인 식별자를 설정하고 앱을 동작합니다.

To run your iOS app on your device, connect your device to your Mac, select your device from the Scheme pop-up menu, and click Run. To run your Mac app, click Run.
iOS 앱을 장치에서 동작시키려면, 당신의 장치를 Mac에 연결하고, Scheme pop-up 메뉴에서 당신의 장치를 선택하고, 'Run'을 클릭하니다. Mac App을 동작하려면, 'Run'을 클릭합니다.

Verify Your Steps
단계들 확인

You should verify that code signing works, that the App ID is configured correctly, and that the provisioning profile embedded in your app is correct. However, some technologies won’t be fully configured until you follow the steps in “Configuring Store Technologies in Xcode and iTunes Connect.” Nevertheless, you should troubleshoot any code signing and provisioning problems early.

App ID가 바르게 설정되 되었는지, 당신의 앱속에 provisioining profile이 바르게 삽입되었는지, 코드 사인을 확인해야 합니다. 하지만, 'Xcode와 iTunes Connect에 스토어 기술 설정'속 단계를 따라하기 전까지 몇몇 기술들은 완벽히 설정할 수 없습니다. 그러기는 하지만, 당신은 code signing과 provisioning 문제를 조기에 해결해야 합니다.


Later, you can verify the entitlements of the embedded provisioning profile in your app bundle, as described in “Verify Your Steps.”

이후, '단계 확인'에 서술된 것 처럼 앱 bundle 속 포함된 프로비저닝 프로파일의 자격을 확인할 수 있습니다.

Verify Code Signing
코드 사인 확인하기

To verify that there are no code signing errors, build and run your app. For iOS apps, connect your device to your Mac, select it from the Destination pop-up menu, and click the Run button to build, sign, and launch your app. (For more details on launching your iOS app, read“Launching Your iOS App on the Device.”) For Mac apps, click the Run button. If a code signing error occurs, read “Troubleshooting Code Signing Errors.”

코드 사인 에러가 없는지 확인하려면, 당신의 앱을 빌드하고 실행합니다. iOS 앱을위해, 당신의 장치를 다인의 Mac에 연결하고, Destination 팝업 메뉴에서 연결한 장치를 선택하고, 'Run' 버튼을 클릭해 빌드, 사인, 그리고 당신의 앱에 실행합니다. (당신의 앱이 실행에 더 자세한 것은, '장치에서 당신의 앱 실행하기'를 읽으세요) Mac 앱은, Run 버튼을 클릭하면 됩니다. 만약 코드 사인 오류가 발생하면, '코드 사인 오류 해결하기'를 읽습니다.


Verify the App ID Settings in Member Center
Member Center 속 앱 ID 셋팅 확인

The first time you enable store technologies, verify that the App ID and provisioning profile you are using are configured correctly.

 스토어 기술 활성화의 첫 째는, 당신이 사용하는 할 것의 앱 ID와 provisioning profile이 바르게 설정되었는지 확인하는 것입니다.


Troubleshooting
문제해결

If you encounter problems code signing, building, and launching your app, follow the steps in this section.

만약 코드 사인, 빌드, 앱에서 실행에서 문제와 만나면, 이 섹션의 단계를 따르세요.

Troubleshooting Code Signing Errors
코드 사인 오류 해결

If your development certificate or team provisioning profile doesn’t appear in the Code Signing Identity menu (in the Build Settings pane of the project editor), read “Your Provisioning Profile Doesn’t Appear in the Code Signing Identity Menu.”

Code Signing Identity 메뉴에 개발인증서 또는 team provisioning profile이 나타나지 않는다면, 'Code Signing Identity 메뉴 속 당신의 프로비저닝 프로파일이 나타나지 않음'을 읽으세요.

If a code signing error occurs when you build the app, verify that the Code Signing Identity build setting is correct. Also, check whether the Code Signing Identity build setting is set at the project or target level (target settings override project settings).

당신의 앱을 빌드할 때 오류가 발생하면, Code Signing Identity 빌드 셋팅이 바른지 확인합니다. 또한 Code Signing Identity 빌드 셋티이 프로젝트 또는 타겟 레벨인지 확인합니다.(target 셋팅은 project setting을 무시합니다.)

Read “Certificate Issues” to troubleshoot other code signing problems.

다른 코드 사인 문제들을 해결하기 위해 '인증서 논점들'을 읽으세요.

Troubleshooting Failure to Launch

실행 실패 해결.


If you build the app but it fails to launch on the device, the provisioning profile installed on the device may be wrong. Replace the provisioning profile on the device with the new provisioning profile.

앱이 빌드 되었으나 장치에서 실행이 실패한다면, 장치에 프로비저닝 프로파일이 잘못 설치된 것일지도 모릅니다. 장치에 프로비저닝 프로파일을 새 프로비저닝 프로파일로 교체 하세요.


Development Provisioning Profiles in Depth
깊이 있는 프로비저닝 프로파일

An app needs to match the installed development provisioning profile to launch. When you are ready to run your app, you sign it using your development certificate contained in the development provisioning profile. Then you install the provisioning profile and the app on the device. The app successfully launches if the app’s bundle ID matches the App ID, the signature matches a development certificate, and the device is in the device list contained in the provisioning profile.

앱이 실행되기 위해 설치된 개발 프로비저닝 프로파일과 일치해야합니다. 앱의 실행 준비가 되엇을 때, 개발인증서 프로파일 속에 포함된 개발인증서를 이용해 사인합니다. 다음 프로비저닝 프로파일과 앱을 장치에 설치합니다. 앱이 앱의 bundle ID와 App ID가 맞춰지고, 서명과 개발인증서가 맞춰지며, provisioning profile속 장치 리스트에 장치가 포함되어 있다면 성공적으로 실행합니다.


../Art/DeveloperProfileLaunch_2x.png

Therefore, a development provisioning profile allows a team member to build an app on his or her Mac and share it with other team members, who can then run that app on their devices. For small teams, you might have one development provisioning profile (for example, the team provisioning profile) containing all team member devices and certificates. For larger teams, you can create multiple development provisioning profiles for specific purposes and groups.

그러므로, 개발 프로비저닝 프로파일은 팀 멤버가 그들의 Mac에서 앱을 빌드하는 것과 다른 팀 멤버와 공유하는 해, 그들의 장치로 앱을 실행할수 있게 허가합니다. 작은 팀은, 모든 팀 멤버의 장치와 인증서가 포함된 하나의 개발 프로비저닝 프로파일을 가질 수 있습니다. 큰 팀은,  특정 목적과 그룹을 위해 많은 개발 프로비저닝 프로파일을 만들 수 있습니다.


When you create a development provisioning profile, you can limit any of these three areas to provide additional security:
개발 프로비저닝 프로파일을 생성햇을 때, 당신은 추가적으로 제공하는 세가지 보안 영역중 하나로 제한 할 수 있습니다.

  • With a wildcard App ID, you can limit the profile to a subset of your apps; with an explicit App ID, you can limit the profile to a single app.
    '만능 App ID'와, 당신의 프로파일을 앱을 일부로 제한합니다. (명시한 App ID와, 프로파일을 싱글 앱으로 제한 할수 있습니다.)

  • You can restrict the developers allowed to sign an app using the profile.
    당신은 프로파일을 이용해 앱에 사인하는 개발자 허가 범위를 제한할 수 있습니다.

  • You can restrict the devices that the app runs on.
    당신은 앱이 실행되는 장치 범위를 제한할 수 있습니다.

Recap
요약정리

In this chapter you learned how to enable store technologies for an App ID and create or regenerate a development provisioning profile containing the App ID using Member Center. These same steps work for wildcard and explicit App IDs. The next chapter describes additional configuration of store technologies using Xcode and iTunes Connect.

이 장에서 App ID로 스토어 기술 활성화 방법과 Member Center를 이용해 App ID를 포함하는 개발 프로비저닝 프로파일 생성과 재생성하는 방법을 배웠습니다. 이것은 만능형과 명시형 App ID 작업이 같습니다. 다음 장에서는 Xcode와 iTunes Connet 스토어 기술의 추가 설정을 설명합니다.

Posted by 창업자닉군
,