한국어

스마트폰앱

온누리070 플레이스토어 다운로드
    acrobits softphone
     온누리 070 카카오 프러스 친구추가온누리 070 카카오 프러스 친구추가친추
     카카오톡 채팅 상담 카카오톡 채팅 상담카톡
    
     라인상담
     라인으로 공유

     페북공유

   ◎위챗 : speedseoul


  
     PAYPAL
     
     PRICE
     

pixel.gif

    before pay call 0088 from app


iOS 설정 번들 구현

iOS에서 Foundation 프레임 워크는 기본 설정 데이터를 저장하기위한 저급 메커니즘을 제공합니다. 앱에는 환경 설정을 표시하는 두 가지 옵션이 있습니다.

  • 앱 내 환경 설정을 표시합니다.

  • 설정 번들 을 사용하여 설정 앱에서 환경 설정을 관리하십시오.

선택한 옵션은 사용자가 환경 설정과 상호 작용할 것으로 예상되는 방식에 따라 다릅니다. 설정 번들은 일반적으로 환경 설정을 표시하는 기본 메커니즘입니다. 그러나 구성 옵션 또는 자주 액세스하는 기타 기본 설정이 포함 된 게임 및 기타 앱은 대신 앱 내부에 표시하려고 할 수 있습니다. 그 표현 방법에 관계없이 NSUserDefaults 클래스를 사용하여 코드에서 환경 설정 값에 액세스합니다.

이 장에서는 앱의 설정 번들 작성에 중점을 둡니다. 설정 번들 에는 환경 설정 의 구조 및 표현 스타일을 설명하는 파일이 있습니다. 설정 응용 프로그램은이 정보를 사용하여 응용 프로그램에 대한 항목을 만들고 사용자 정의 환경 설정 페이지를 표시합니다.

설정 및 구성 옵션을 관리하고 표시하는 방법에 대한 지침은 iOS 휴먼 인터페이스 가이드 라인 .

설정 앱 인터페이스

설정 앱은 앱 환경 설정을 탐색 할 수있는 계층 적 페이지 집합을 구현합니다. 설정 앱의 기본 페이지에는 환경 설정을 사용자 정의 할 수있는 시스템 및 타사 앱이 나열됩니다. 타사 앱을 선택하면 해당 앱의 환경 설정으로 이동합니다.

설정 번들이있는 모든 앱에는 기본 페이지 라고하는 환경 설정 페이지가 하나 이상 있습니다. 앱에 몇 가지 기본 설정 만있는 경우 기본 페이지 만 필요한 것일 수 있습니다. 그러나 기본 설정 수가 너무 많아 기본 페이지에 맞지 않는 경우 기본 페이지 또는 다른 하위 페이지를 연결하는 하위 페이지를 만들 수 있습니다. 만들 수있는 하위 페이지의 수에는 특별한 제한이 없지만 가능한 한 간단하고 쉽게 탐색하도록 환경 설정을 유지하도록 노력해야합니다.

각 페이지의 내용은 사용자가 구성하는 하나 이상의 컨트롤로 구성됩니다. 표 4-1 은 설정 응용 프로그램에서 지원되는 컨트롤 유형을 나열하고 각 유형을 사용하는 방법을 설명합니다. 이 표에는 Settings 번들의 구성 파일에 저장된 원시 키 이름도 나열되어 있습니다.

표 4-1 기본 설정 제어 유형

제어 유형

기술

텍스트 필드

텍스트 필드 유형은 제목 (선택 사항) 및 편집 가능한 텍스트 필드를 표시합니다. 사용자가 사용자 정의 문자열 값을 지정하도록 요구하는 환경 설정에이 유형을 사용할 수 있습니다.

이 유형의 키는 PSTextFieldSpecifier 입니다.

표제

제목 유형은 읽기 전용 문자열 값을 표시합니다. 이 유형을 사용하여 읽기 전용 환경 설정 값을 표시 할 수 있습니다. 기본 설정에 숨김 또는 비 직관적 값이 포함 된 경우이 유형을 사용하여 가능한 값을 사용자 정의 문자열에 매핑 할 수 있습니다.

이 유형의 키는 PSTitleValueSpecifier 입니다.

토글 스위치

토글 스위치 유형은 ON / OFF 토글 버튼을 표시합니다. 이 유형을 사용하여 두 가지 값 중 하나만 가질 수있는 환경 설정을 구성 할 수 있습니다. 일반적으로이 유형을 사용하여 부울 값이 포함 된 환경 설정을 나타내지 만, 부울 값이 아닌 환경 설정과 함께 사용할 수도 있습니다.

이 유형의 키는 PSToggleSwitchSpecifier 입니다.

슬라이더

슬라이더 유형은 슬라이더 컨트롤을 표시합니다. 이 유형은 값 범위를 나타내는 환경 설정에 사용할 수 있습니다. 이 유형의 값은 사용자가 지정한 최소값과 최대 값을 갖는 실수입니다.

이 유형의 키는 PSSliderSpecifier 입니다.

다중 값

다중 값 유형을 사용하면 값 목록에서 하나의 값을 선택할 수 있습니다. 이 유형은 상호 배타적 인 값 집합을 지원하는 환경 설정에 사용할 수 있습니다. 값은 모든 유형이 될 수 있습니다.

이 유형의 키는 PSMultiValueSpecifier 입니다.

그룹

그룹 유형은 단일 페이지에 환경 설정 그룹을 구성하는 데 사용됩니다. 그룹 유형은 구성 가능한 환경 설정을 나타내지 않습니다. 하나 이상의 구성 가능한 환경 설정 바로 앞에 표시되는 제목 문자열을 포함합니다.

이 유형의 키는 PSGroupSpecifier 입니다.

하위 창

하위 창 유형을 사용하면 사용자가 새 기본 설정 페이지로 이동할 수 있습니다. 이 유형을 사용하여 계층 적 기본 설정을 구현합니다. 이 기본 설정 유형을 구성하고 사용하는 방법에 대한 자세한 내용은 계층 구조 기본 설정을 참조하십시오.

이 유형의 키는 PSChildPaneSpecifier 입니다.

각 기본 설정 유형의 형식에 대한 자세한 내용은 설정 응용 프로그램 스키마 참조를 참조하십시오 . 설정 페이지 파일을 만들고 편집하는 방법을 배우려면 설정 번들 생성 및 수정을 참조하십시오.

설정 번들

Settings 번들 은 Settings.bundle이라는 이름을 가지며 앱 번들의 최상위 디렉토리에 있습니다. 이 번들에는 환경 설정의 개별 페이지를 설명하는 하나 이상의 설정 페이지 파일이 있습니다. 또한 이미지 또는 현지화 된 문자열과 같은 기본 설정을 표시하는 데 필요한 다른 지원 파일을 포함 할 수 있습니다. 표 4-2 는 일반적인 설정 번들의 내용을 나열합니다.

표 4-2 Settings.bundle 디렉토리의 내용

상품명

기술

Root.plist

루트 페이지에 대한 환경 설정을 포함하는 설정 페이지 파일. 이 파일의 이름은 Root.plist 여야합니다. 이 파일의 내용은 설정 페이지 파일 형식에 자세히 설명되어 있습니다.

추가 .plist 파일

하위 창을 사용하여 계층 구조 기본 설정 집합을 작성하면 각 하위 창의 내용이 별도의 설정 페이지 파일에 저장됩니다. 이 파일의 이름을 지정하고 올바른 하위 창과 연관시키는 것은 사용자의 책임입니다.

하나 이상의 .lproj 디렉토리

이 디렉토리는 설정 페이지 파일에 대해 현지화 된 문자열 리소스를 저장합니다. 각 디렉토리에는 제목이 설정 페이지 파일에 지정된 단일 문자열 파일이 들어 있습니다. strings 파일은 현지화 된 문자열을 제공하여 사용자의 기본 설정을 표시합니다.

추가 이미지

슬라이더 컨트롤을 사용하는 경우 슬라이더의 이미지를 번들의 최상위 디렉토리에 저장할 수 있습니다.

설정 번들 외에도 앱 번들에는 앱 설정을위한 맞춤 아이콘이 포함될 수 있습니다. 설정 앱은 앱 환경 설정 항목 옆에 입력 한 아이콘을 표시합니다. 앱 아이콘 및 앱 아이콘 지정 방법에 대한 자세한 내용은 iOS 용 App Programming Guide를 참조하십시오.

설정 앱이 실행되면 각 맞춤 앱에서 설정 번들이 있는지 확인합니다. 찾은 각 사용자 정의 번들마다 해당 번들을로드하고 Settings 기본 페이지에 해당 앱의 이름과 아이콘을 표시합니다. 사용자가 앱에 속한 행을 탭하면 설정은 설정 번들에 대한 Root.plist 설정 페이지 파일을로드하고 해당 파일을 사용하여 앱의 기본 설정 페이지를 만듭니다.

설정 응용 프로그램은 번들의 Root.plist 설정 페이지 파일을로드하는 것 외에도 필요에 따라 해당 파일에 대한 언어 별 리소스를로드합니다. 각 설정 페이지 파일에는 사용자가 볼 수있는 문자열에 대한 지역화 된 값을 포함하는 연관된 .strings 파일이있을 수 있습니다. 설정에 대한 선호도를 준비함에 따라 설정 앱은 사용자가 선호하는 언어로 된 문자열 리소스를 찾아 표시하기 전에 환경 설정 페이지로 대체합니다.

설정 페이지 파일 형식

각 설정 페이지 파일은 구조화 된 파일 형식 인 iPhone 설정 속성 목록 파일 형식으로 저장됩니다. 설정 페이지 파일을 편집하는 가장 간단한 방법은 Xcode의 내장 편집기 기능을 사용하는 것입니다. 편집을위한 설정 페이지 준비를 참조하십시오. Xcode 도구와 함께 제공되는 Property List Editor 앱을 사용하여 속성 목록 파일을 편집 할 수도 있습니다.

각 설정 페이지 파일의 루트 요소에는 표 4-3에 나열된 키가 들어 있습니다. 실제로는 하나의 키만 필요하지만 두 키를 모두 포함하는 것이 좋습니다.

표 4-3 환경 설정 페이지 파일의 루트 수준 키

유형

PreferenceSpecifiers(필수)

정렬

이 키의 값 은 사전 의 배열이며 각 사전에는 단일 컨트롤에 대한 정보가 들어 있습니다. 제어 유형 목록은 표 4-1을 참조하십시오. 각 컨트롤과 연결된 키에 대한 설명은 설정 응용 프로그램 스키마 참조를 참조하십시오 .

StringsTable

이 파일과 연관된 문자열 파일의 이름. 이 파일의 사본 (적절한 현지화 된 문자열 포함)은 각 번들의 언어 별 프로젝트 디렉토리에 위치해야합니다. 이 키를 포함하지 않으면이 파일의 문자열이 현지화되지 않습니다. 이러한 문자열의 사용 방법에 대한 자세한 내용은 현지화 된 리소스를 참조하십시오.

계층 적 기본 설정

기본 설정을 계층 적으로 구성하려면 정의한 각 페이지마다 별도의 .plist 파일이 있어야합니다. 각 .plist 파일에는 해당 페이지에만 표시되는 환경 설정 집합이 들어 있습니다. 앱의 기본 환경 설정 페이지는 항상 Root.plist 라는 파일에 저장됩니다. 추가 페이지에는 원하는 이름을 지정할 수 있습니다.

상위 페이지와 하위 페이지 사이에 링크를 지정하려면 상위 페이지에 하위 창 컨트롤을 포함시킵니다. 하위 창 컨트롤은 탭 한 경우 새 설정 페이지를 표시하는 행을 만듭니다. 하위 창 컨트롤의 File 키는 하위 페이지의 내용으로 .plist 파일의 이름을 식별합니다.Title 키는 하위 페이지의 제목을 식별합니다. 이 제목은 자식 페이지를 표시하는 데 사용되는 컨트롤의 텍스트로도 사용됩니다. 설정 앱은 하위 페이지에서 사용자가 상위 페이지로 다시 이동할 수 있도록 탐색 컨트롤을 자동으로 제공합니다.

그림 4-1 은이 계층 적 페이지 집합의 작동 방식을 보여줍니다. 그림의 왼쪽에는 .plist 파일이 표시되고 오른쪽에는 해당 페이지 간의 관계가 표시됩니다.

그림 4-1 하위 창을 사용하여 환경 설정 구성
하위 창을 사용하여 환경 설정 구성

하위 창 컨트롤과 관련 키에 대한 자세한 내용은 설정 응용 프로그램 스키마 참조를 참조하십시오 .

현지화 된 리소스

환경 설정에는 사용자가 볼 수있는 문자열이 포함되어 있으므로 해당 문자열의 현지화 된 버전을 설정 번들과 함께 제공해야합니다. 환경 설정의 각 페이지에는 번들에서 지원하는 각 지역화에 대한 .strings 파일이 있습니다. 설정 앱에서 현지화를 지원하는 키를 발견하면 해당 지역화 된 .strings 파일에서 일치하는 키를 확인합니다. 발견되면 해당 키와 연관된 값을 표시합니다.

.strings 파일과 같은 현지화 된 리소스를 찾을 때 설정 앱은 다른 iOS 앱과 동일한 규칙을 따릅니다. 먼저 사용자가 선호하는 언어 설정과 일치하는 리소스의 지역화 된 버전을 찾습니다. 그러한 자원이 없으면 적절한 대체 언어가 선택됩니다.

문자열 파일 형식, 언어 별 프로젝트 디렉토리 및 언어 별 리소스를 묶음에서 가져 오는 방법에 대한 자세한 내용은 다국어 및 지역화 안내서를 참조하십시오.

설정 번들 만들기 및 수정

Xcode는 현재 프로젝트에 설정 번들 을 추가하기위한 템플릿을 제공합니다. 기본 Settings 번들에는 현지화 된 리소스를 저장하기위한 Root.plist 파일과 기본 언어 디렉토리가 있습니다. 필요에 따라이 번들을 확장하여 설정 번들에 필요한 추가 속성 목록 파일과 리소스를 포함 할 수 있습니다.

설정 번들 추가

Xcode 프로젝트에 설정 번들을 추가하려면,

  1. [파일]> [새로 만들기]> [새 파일]을 선택합니다.

  2. iOS에서 Resource를 선택한 다음 Settings Bundle 템플릿을 선택하십시오.

  3. Settings.bundle 파일의 이름을 지정하십시오.

Xcode는 새로운 Settings 번들을 프로젝트에 추가하는 것 외에도 해당 번들을 앱 타겟의 Copy Bundle Resources 빌드 단계에 자동으로 추가합니다. 따라서 설정 번들의 속성 목록 파일을 수정하고 필요한 리소스를 추가하기 만하면됩니다.

새로운 Settings 번들의 구조는 다음과 같습니다.

  Settings.bundle / 
  루트. 목록 
  en.lproj / 
  루트. 스트링 

편집을위한 설정 페이지 준비

설정 번들의 속성 목록 파일을 편집하기 전에 Xcode 편집기에서 해당 파일의 내용을 iPhone 설정으로 포맷하도록 구성해야합니다. Xcode는 Root.plist 파일에 대해이 작업을 자동으로 수행하지만 추가 속성 목록 파일을 수동으로 형식화해야 할 수도 있습니다. 파일을 iPhone 설정으로 포맷하려면 다음을 수행하십시오.

  1. 파일을 선택하십시오.

  2. Control 키를 누른 채 편집기 창을 클릭하고 속성 목록 유형> iPhone 설정 plist가 선택되어 있지 않으면 선택합니다.

    특성 목록을 형식화하면 파일의 내용을 더 쉽게 이해하고 편집 할 수 있습니다. Xcode는 선택한 형식에 적합한 사람이 읽을 수있는 문자열 ( 그림 4-2 참조 )을 대체합니다.

    그림 4-2 Root.plist 파일의 형식화 된 내용
    Root.plist 파일의 형식화 된 내용

설정 페이지 구성 : 자습서

이 섹션에서는 원하는 컨트롤을 표시하도록 설정 페이지를 구성하는 방법을 보여줍니다. 이 자습서의 목표는 그림 4-3 과 같은 페이지를 만드는 것입니다. 프로젝트에 대한 설정 번들을 아직 만들지 않았다면이 단계를 진행하기 전에 설정 번들 추가에 설명 된대로 수행해야합니다.

그림 4-3 루트 설정 페이지
루트 설정 페이지
  1. 기본 설정 항목 키를 공개하여 템플리트와 함께 제공되는 기본 항목을 표시하십시오.

  2. Item 0 의 제목을 Sound 변경하십시오.

    • Preference Items 순위 Item 0 을 공개합니다.

    • Title 키의 값을 Group 에서 Sound 변경하십시오.

    • Type 키 세트를 Group 두십시오.

    • 해당 내용을 숨기려면 항목의 펼침 삼각형을 클릭하십시오.

  3. 이름이 변경된 사운드 그룹에 대한 첫 번째 토글 스위치를 만듭니다.

    • Preference Items 의 Item 2 (토글 스위치 항목)를 선택하고 Edit> Cut을 선택하십시오.

    • Item 0 을 선택하고 편집> 붙여 넣기를 선택하십시오. (이렇게하면 텍스트 필드 항목 앞에 토글 스위치 항목이 이동합니다.)

    • 토글 스위치 항목을 공개하여 구성 키를 나타냅니다.

    • Title 키의 값을 Play Sounds 변경하십시오.

    • Identifier 키 값을 play_sounds_preference 변경하십시오.

    • 해당 내용을 숨기려면 항목의 펼침 삼각형을 클릭하십시오.

  4. 사운드 그룹에 대한 두 번째 토글 스위치를 만듭니다.

    • Item 1 (Play Sounds 토글 스위치)을 선택하십시오.

    • 편집> 복사를 선택하십시오.

    • 편집> 붙여 넣기를 선택하여 첫 번째 전환 스위치 바로 다음에 전환 스위치 사본을 배치하십시오.

    • 새로운 토글 스위치 항목을 공개하여 구성 키를 나타냅니다.

    • Title 키의 값을 3D Sound 변경하십시오.

    • Identifier 키 값을 3D_sound_preference 변경하십시오.

    • 해당 내용을 숨기려면 항목의 펼침 삼각형을 클릭하십시오.

    이 시점에서 첫 번째 설정 그룹을 완료하고 사용자 정보 그룹을 만들 준비가되었습니다.

  5. Item 3 을 그룹 컨트롤로 변경하고 User Info 이름을 지정합니다.

    • Preferences Items 에서 Item 3 을 클릭하십시오. 그러면 항목 유형 목록이있는 팝업 메뉴가 표시됩니다.

    • 팝업 메뉴에서 Group 을 선택하여 컨트롤 유형을 변경하십시오.

    • Item 3 의 내용을 공개하십시오.

    • Title 키의 값을 User Info .

    • 해당 내용을 숨기려면 항목의 펼침 삼각형을 클릭하십시오.

  6. 이름 필드를 만듭니다.

    • Preferences Items 에서 Item 4 를 선택하십시오.

    • 팝업 메뉴를 사용하여 유형을 Text Field 변경하십시오.

    • Title 키의 값을 Name 설정하십시오.

    • Identifier 키 값을 user_name 설정하십시오.

    • 해당 내용을 숨기려면 항목의 펼침 삼각형을 클릭하십시오.

  7. 경험 수준 설정을 만듭니다.

    • Item 4 선택하십시오.

    • Ctrl 키를 누른 채 편집기 창을 클릭하고 행 추가를 선택하여 새 항목을 추가하십시오.

    • 새 항목의 유형을 Multi Value .

    • 항목의 내용을 공개하고 제목을 Experience Level , 식별자를 experience_preference , 기본값을 0 으로 설정합니다.

    • Default Value 키를 선택한 상태에서 Ctrl 키를 누른 상태에서 행 추가를 선택하여 Titles 배열을 추가합니다.

    • Titles 배열을 선택하고 Return 키를 눌러 새 하위 항목을 추가하십시오.

    • 두 개의 하위 항목을 추가하여 총 세 개의 항목을 만듭니다.

    • 하위 항목의 값을 Beginner , Expert 및 Master .

    • 키의 하위 항목을 숨 깁니다.

    • Values 배열에 대한 새 항목을 추가하십시오.

    • Values 배열에 세 개의 하위 항목을 추가하고 값을 0 , 1 및 2 합니다.

    • Item 5 의 내용을 숨 깁니다.

  8. 마지막 그룹을 설정 페이지에 추가하십시오.

    • 새 항목을 만들고 유형을 Group 설정하고 제목을 Gravity .

    • 다른 새 항목을 만들고 유형을 Slider 설정하고 식별자를 gravity_preference , 기본값을 1 , 최대 값을 2 합니다.

추가 설정 페이지 파일 만들기

설정 번들 템플릿에는 앱의 상단 설정 페이지를 정의하는 Root.plist 파일이 포함되어 있습니다. 추가 설정 페이지를 정의하려면 추가 속성 목록 파일을 설정 번들에 추가해야합니다.

Xcode의 설정 번들에 속성 목록 파일을 추가하려면 다음을 수행하십시오.

  1. [파일]> [새로 만들기]> [새 파일]을 선택합니다.

  2. iOS에서 Resource를 선택한 다음 Property List 템플릿을 선택하십시오.

  3. 새 파일을 선택하여 내용을 편집기에 표시하십시오.

  4. Control 키를 누른 채로 편집기 창을 클릭하고 [속성 목록 유형]> [iPhone 설정 plist]를 선택하여 내용의 서식을 지정합니다.

  5. Ctrl 키를 누른 채 편집기 창을 다시 클릭하고 행 추가를 선택하여 새 키를 추가합니다.

  6. 필요한 추가 키를 추가하고 구성하십시오.

설정 번들에 새 설정 페이지를 추가 한 후 설정 페이지 구성 : 자습서에 설명 된대로 페이지의 내용을 편집 할 수 있습니다. 페이지 설정을 표시하려면 계층 구조 기본 설정에 설명 된대로 하위 창 컨트롤에서 페이지를 참조해야합니다.

시뮬레이트 된 앱의 환경 디버깅

앱을 실행할 때 iOS 시뮬레이터는 ~/Library/Application Support/iOS Simulator/User/Applications/ <APP_ID> /Library/Preferences 앱의 환경 설정 값을 저장합니다. 여기서 <APP_ID> 는 iOS에서 사용하는 프로그래밍 방식으로 생성 된 디렉토리 이름입니다. 앱을 식별 할 수 있습니다.

앱을 빌드 할 때마다 Xcode는 앱 환경 설정 및 기타 관련 라이브러리 파일을 보존합니다. 테스트를 위해 현재 환경 설정을 제거하려면 시뮬레이터에서 앱을 삭제하거나 iOS 시뮬레이터 메뉴에서 컨텐츠 및 설정 재설정을 선택하십시오.


조회 수 6540
조회 수 6697
조회 수 6639
조회 수 6531
조회 수 6959
조회 수 6532
조회 수 6491
조회 수 7096
iOS Swipe Gesture 정리
admin
2019.05.04
조회 수 14030
조회 수 6528