iOS 기능

iOS에서 .NET 다중 플랫폼 앱 UI(.NET MAUI) 앱은 앱과 시스템 리소스 또는 사용자 데이터 간의 액세스를 제한하는 규칙 집합을 제공하는 샌드박스에서 실행됩니다. Apple은 기능을 확장하고 iOS 앱이 수행할 수 있는 작업의 범위를 넓히기 위한 수단으로 앱 서비스라고도 하는 기능을 제공합니다. 기능을 사용하면 Siri와의 통합과 같은 플랫폼 기능과 더욱 심층적인 통합을 앱에 추가할 수 있습니다. 기능에 대한 자세한 내용은 developer.apple.com 기능을 참조하세요.

기능은 앱의 프로비저닝 프로필에 추가되며, 앱에 서명하는 코드를 사용할 때 사용됩니다. 프로비전 프로필에는 필요한 기능을 사용하도록 설정된 앱의 번들 식별자와 일치하는 앱 ID가 포함되어야 합니다. 프로비저닝 프로필은 Visual Studio 또는 Mac용 Visual Studio 자동으로 만들거나 Apple 개발자 계정에서 수동으로 만들 수 있습니다.

기능은 자격 개념과 밀접한 관련이 있습니다. 둘 다 추가 기능을 제공하기 위해 앱이 실행되는 샌드박스의 확장을 요청합니다. 권한은 일반적으로 앱을 개발할 때 추가되지만, 일반적으로 배포를 위해 앱에 서명하는 코드를 사용할 때 기능이 추가됩니다. 그러나 자동 프로비저닝을 사용하도록 설정하면 앱에 특정 자격을 추가하면 해당 프로비저닝 프로필에서 앱의 기능도 업데이트됩니다. 자격에 대한 자세한 내용은 자격을 참조 하세요.

Visual Studio를 사용하여 기능 추가

Visual Studio 또는 Mac용 Visual Studio 프로비저닝 프로필에 기능을 추가할 수 있습니다. 이 방법을 사용하려면 자동 프로비저닝을 사용해야 하며 기능의 하위 집합에 대해서만 작동합니다. 자동 프로비저닝에 대한 자세한 내용은 iOS 앱에 대한 자동 프로비저닝을 참조 하세요.

다음 목록에서는 Visual Studio 또는 Mac용 Visual Studio 사용하여 자동으로 프로비저닝할 수 있는 기능을 보여줍니다.

  • HealthKit
  • HomeKit
  • 핫스팟 구성
  • 앱 간 오디오
  • 다중 경로
  • 네트워크 확장
  • 근거리 통신 태그 판독기
  • 개인 VPN
  • Siri
  • 무선 액세서리 구성

Visual Studio에서 모든 기능이 앱의 Entitlements.plist 파일에 추가됩니다. 위에 나열된 기능도 프로비저닝 프로필에 추가됩니다. 프로젝트에 자격 파일을 추가하는 방법을 포함하여 자격에 대한 자세한 내용은 자격을 참조하세요.

  1. Visual Studio에서 IDE가 Mac 빌드 호스트와 쌍을 이루는지 확인합니다. 자세한 내용은 iOS 개발을 위해 Mac에 페어링을 참조하세요.

  2. Visual Studio에서 프로젝트에 대해 자동 프로비저닝을 사용하도록 설정합니다. 자세한 내용은 자동 프로비저닝 사용을 참조 하세요.

  3. Visual Studio에서 프로젝트에 Entitlements.plist 파일을 추가합니다. 자세한 내용은 Entitlements.plist 파일 추가를 참조 하세요.

  4. 솔루션 탐색기 .NET MAUI 앱 프로젝트의 Platforms iOS 폴더에서 Entitlements.plist > 파일을 두 번 클릭하여 권한 편집기에서 엽니다.

  5. 권한 편집기에서 앱에 필요한 모든 자격을 선택하고 구성합니다.

    Visual Studio iOS entitlements editor.

  6. Entitlements.plist 파일에 변경 내용을 저장하여 자격 키/값 쌍을 파일에 추가하고 앱 ID에 앱 서비스를 추가합니다.

특정 기능에 대해 Info.plist에서 개인 정보 키를 설정해야 할 수도 있습니다.

Apple 개발자 계정에 기능 추가

Apple 개발자 계정에서 앱의 프로비저닝 프로필에 모든 기능을 추가할 수 있습니다. 이 방법은 수동 프로비저닝을 사용해야 하며 모든 기능에 대해 작동합니다. 수동 프로비저닝에 대한 자세한 내용은 iOS 앱에 대한 수동 프로비저닝을 참조 하세요.

Apple 개발자 계정에 기능을 추가하는 것은 앱 ID를 만들고, 프로비저닝 프로필을 만들고, 수동 프로비저닝을 사용하도록 설정해야 하는 다단계 프로세스입니다.

프로비저닝 프로필에 새 기능을 추가할 때 앱의 Entitlements.plist 파일에 동일한 기능을 추가하고 앱에서 이 파일을 사용하는지 확인해야 합니다. 자세한 내용은 자격을 참조 하세요. 특정 기능에 대해 Info.plist에서 개인 정보 키를 설정해야 할 수도 있습니다.

앱 서비스를 사용하여 앱 ID 만들기

앱 ID는 앱을 고유하게 식별하는 역방향 DNS 문자열과 유사하며 배포하는 앱을 식별하는 데 필요합니다. 앱 ID는 앱의 번들 식별자와 동일해야 합니다.

Important

.NET MAUI 앱의 번들 식별자는 프로젝트 파일에 애플리케이션 ID 속성으로 저장됩니다.

  • Visual Studio의 솔루션 탐색기 .NET MAUI 앱 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 그런 다음 MAUI 공유 > 일반 탭으로 이동합니다. 애플리케이션 ID 필드에는 번들 식별자가 나열됩니다.
  • Mac용 Visual Studio 솔루션 창에서 .NET MAUI 앱 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 그런 다음 프로젝트 속성 창에서 앱 정보 빌드 > 탭을 선택합니다. 애플리케이션 ID 필드에는 번들 식별자가 나열됩니다.

애플리케이션 ID 필드의 값이 업데이트되면 Info.plist번들 식별자값이 자동으로 업데이트됩니다.

앱 ID에는 명시적 ID와 wild카드 두 가지 유형이 있습니다. 명시적 앱 ID는 단일 앱에 고유하며 일반적으로 형식 com.domainname.myid을 사용합니다. 명시적 앱 ID를 사용하면 일치하는 번들 식별자가 있는 하나의 앱을 디바이스에 설치할 수 있습니다. 앱별 기능을 사용하도록 설정하는 앱에는 명시적 앱 ID가 필요합니다.

명시적 앱 ID는 다음 단계를 사용하여 만들 수 있습니다.

  1. 웹 브라우저에서 Apple 개발자 계정의 식별자 섹션으로 이동하여 단추를 클릭합니다 + .

  2. 새 식별자 등록 페이지에서 앱 ID를 선택하고 계속 단추를 클릭합니다.

  3. 새 식별자 등록 페이지에서 앱 유형을 선택하고 계속 단추를 클릭합니다.

  4. 앱 ID 등록 페이지에서 설명을 제공하고 번들 IDExplicit설정합니다. 그런 다음 형식으로 앱 ID를 com.domainname.myid입력합니다.

    Screenshot of new App ID registration page with required fields populated.

  5. 앱 ID 등록 페이지의 기능App Services 탭에서 필요한 기능을 사용하도록 설정합니다.

    Screenshot of enabled capabilities.

  6. 앱 ID 등록 페이지에서 계속 단추를 클릭합니다.

  7. 앱 ID 확인 페이지에서 정보를 검토한 다음 등록 단추를 클릭합니다. 앱 ID가 성공적으로 등록되면 Apple 개발자 계정의 식별자 섹션으로 돌아갑니다.

  8. 식별자 페이지에서 방금 만든 앱 ID를 클릭합니다.

  9. 앱 ID 구성 편집 페이지에서 추가 설정이 필요한 사용 가능한 기능에는 구성 단추가 있습니다.

    Screenshot of editing capabilities.

    구성 단추를 클릭하여 사용하도록 설정된 기능을 구성합니다. 자세한 내용은 developer.apple.com 앱 기능 구성을 참조하세요.

프로비저닝 프로필 만들기

앱 ID를 만든 후에는 앱 ID에 대한 프로비저닝 프로필을 만들어야 합니다. 이렇게 하려면 이전에 서명 인증서를 만들고 Apple 개발자 계정에 디바이스를 추가해야 합니다. 자세한 내용은 서명 인증서 만들기 및 디바이스 추가를 참조하세요.

프로비저닝 프로필은 다음 단계를 통해 만들 수 있습니다.

  1. 웹 브라우저에서 Apple 개발자 계정의 프로필 섹션으로 이동하여 단추를 클릭합니다 + .

  2. 새 프로비저닝 프로필 등록 페이지의 개발 섹션에서 iOS 앱 개발(또는 배포 섹션의 배포 프로필 유형)을 선택하고 계속 단추를 클릭합니다.

    Screenshot of creating a provisioning profile for iOS app development.

  3. 프로비전 프로필 생성 페이지에서 앱 ID를 선택한 다음 계속 단추를 클릭합니다.

    Screenshot of adding an App ID to a provisioning profile.

  4. 프로비전 프로필 생성 페이지에서 프로비저닝 프로필에 포함할 인증서를 선택한 다음 계속 단추를 클릭합니다.

    Screenshot of adding a certificate to a provisioning profile.

  5. 프로비전 프로필 생성 페이지에서 앱이 설치될 디바이스를 선택하고 계속 단추를 클릭합니다.

    Screenshot of adding a device to a provisioning profile.

  6. 프로비저닝 프로필 생성 페이지에서 프로비저닝 프로필 이름을 입력한 다음 생성 단추를 클릭합니다.

    Screenshot of naming a provisioning profile.

수동 프로비저닝 사용

프로비저닝 프로필을 만든 후에는 Visual Studio에서 다운로드하고 프로젝트에 대한 프로비저닝 프로필로 설정해야 합니다.

  1. Visual Studio에서 방금 만든 프로비저닝 프로필을 다운로드하여 앱에 서명할 수 있도록 합니다. 자세한 내용은 Visual Studio에서 프로비저닝 프로필 다운로드를 참조 하세요.
  2. Visual Studio에서 프로젝트에 대해 수동 프로비저닝을 사용하도록 설정합니다. 자세한 내용은 수동 프로비저닝 사용을 참조 하세요.

문제 해결

다음 목록에서는 기능을 사용하는 .NET MAUI iOS 앱을 개발할 때 문제를 일으킬 수 있는 일반적인 문제를 자세히 설명합니다.

  • Apple 개발자 계정의 식별자 섹션에 올바른 앱 ID가 만들어지고 등록되었는지 확인합니다.
  • 기능이 앱 ID에 추가되었고 기능이 올바른 값을 사용하여 구성되었는지 확인합니다.
  • 프로비전 프로필이 개발 컴퓨터에 설치되어 있고 앱의 Info.plist 파일이 앱 ID와 동일한 번들 식별자를 사용하고 있는지 확인합니다.
  • 앱의 Entitlements.plist 파일에 올바른 자격이 설정되어 있는지 확인합니다.
  • Info.plist필요한 개인 정보 보호 키가 설정되어 있는지 확인합니다.
  • 앱이 Entitlements.plist 파일을 사용하는지 확인합니다.