iOS 권한 및 검색

iOS 14부터 운영체제가 새로운 제한사항과 권한을 부여할 수 있습니다. 또한 데이터가 빌드할 수 있습니다. 앱에서 Cast 기능을 유지해야 하는 경우 최신 버전의 iOS를 사용하는 경우 권한을 변경합니다.

iOS 14

개발자는 iOS Cast 발신기 앱을 Google Cast SDK로 업데이트해야 합니다. v4.6.0 이상 이 버전은 iOS 14 및 관련 요구사항을 지원합니다.

iOS 14부터 로컬 네트워크에 있는 기기를 검색하는 애플리케이션 이제 사용자에게 일회성 권한 대화상자를 통해 로컬 네트워크 장치입니다. Cast 플랫폼은 로컬 네트워크를 사용하여 제어하므로 사용자가 권한을 거부하면 전송합니다.

사용자 환경을 개선하기 위해 SDK의 UX를 수정하고 있습니다. 해야 합니다. 이러한 UX 수정은 로컬 네트워크 액세스 권한이 필요한 이유를 사용자에게 더 명확하게 보여주지만, 또한 로컬 네트워크 기기 액세스가 제한된 경우 전송을 사용 설정하는 방법도 사용 중지됩니다.

v4.4.8 이하 버전을 사용하는 Cast SDK 버전으로 빌드된 앱은 계속됩니다. Xcode 11.7 이하로 빌드한 경우에만 작동합니다. 만약 Xcode 12 이상을 사용하여 iOS 14용으로 빌드하려면 Cast SDK v4.6.0 이상을 사용하여 Cast 앱이 계속 제대로 작동하도록 해야 합니다.

Cast iOS SDK v4.6.0 이상은 다음 단계에 따라 CocoaPods로 다운로드할 수 있습니다. CocoaPods 설정에서 또는 수동 설정을 따릅니다. 이번 출시 기본 검색 메커니즘에 대한 변경사항이 포함되어 있으며 이는 네트워크에서 Cast 기기를 찾을 수 있습니다. 전송 버튼이 있어야 합니다. 항상 표시됩니다. 사용자가 전송을 탭할 때 사용할 수 있는 기기가 없는 경우 버튼을 클릭하면 기기가 표시되지 않는 이유에 대한 안내를 제공하는 대화상자가 표시됩니다. 로컬 네트워크 액세스를 다시 사용하는 방법에 대한 정보를 포함하여 권한을 부여했는지 확인합니다.

Cast SDK 변경사항

최초 전송

사용자가 처음 전송을 시도할 때 로컬 네트워크 액세스 (LNA) 로컬 네트워킹 액세스가 왜 중요한지 설명하는 인터스티셜 대화상자가 Apple에서 제공한 iOS 로컬 네트워크 액세스 권한이 그 뒤를 이었습니다 메시지가 표시됩니다. 아래 모의 스크린샷은 흐름을 보여줍니다.

로컬 네트워크 액세스 권한 흐름

전송할 수 없음

iOS 발신기 SDK 4.6.0부터 사용자가 전송 버튼을 클릭하면 전송 버튼이 Wi-Fi에 연결되어 있어야 합니다. Cast 기기를 사용할 수 없는 경우 '전송' 버튼을 탭하면 대화상자가 표시되어 사용자에게 아래 예시와 같이 Cast를 사용할 수 없는 이유에 관한 힌트를 제공합니다.

Cast 지원 흐름을 사용할 수 없음

iOS 14에서 앱 업데이트

  1. 프로젝트에 Cast iOS SDK 4.8.1 추가

    CocoaPods를 사용하는 경우 pod update를 사용하여 프로젝트에 4.8.1 SDK를 추가합니다.

    그렇지 않으면 <ph type="x-smartling-placeholder"></ph> 수동으로 SDK 가져오기

    <ph type="x-smartling-placeholder">
  2. Info.plistNSBonjourServices 추가

    Info.plist에서 NSBonjourServices를 지정하여 다음을 수행합니다. iOS 14에서 로컬 네트워크 검색이 성공할 수 있도록 합니다.

    _googlecast._tcp 및 기기의 서비스로서의 _<your-app-id>._googlecast._tcp 탐색이 제대로 작동하는지 확인할 수 있습니다

    appID는 broadcast receiver ID이며 GCKDiscoveryCriteria

    다음 예시 NSBonjourServices 정의를 업데이트합니다. 'ABCD1234'를 appID로 바꿉니다.

    &lt;key&gt;NSBonjourServices&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;_googlecast._tcp&lt;/string&gt;
      &lt;string&gt;_ABCD1234._googlecast._tcp&lt;/string&gt;
    &lt;/array&gt;
  3. NSLocalNetworkUsageDescription을(를) Info.plist

    로컬 앱의 Info.plist 파일을 NSLocalNetworkUsageDescription(예: 전송 설명) 다른 검색 서비스(예: DIAL)를 사용합니다.

    &lt;key&gt;NSLocalNetworkUsageDescription&lt;/key&gt;
    <string>${PRODUCT_NAME}에서 로컬 네트워크를 사용하여 Wi-Fi에서 Cast 지원 기기를 검색합니다.
    네트워크입니다.</string>

    이 메시지는 iOS 로컬 네트워크 액세스 대화상자의 일부로 다음과 같이 표시됩니다. 예시에 나와 있습니다.

    Cast 로컬 네트워크 액세스 권한 대화상자 이미지
  4. Apple App Store에 앱 다시 출시

    또한 4.8.1 버전을 사용하여 앱을 가능한 한 빨리.

맞춤설정

Cast 기기 검색 시작

기본적으로 Cast 기기 검색은 사용자가 처음 탭하면 시작됩니다. 전송 버튼 (GCKUICastButton) 사용자가 처음으로 iOS로 업그레이드한 후 로컬 네트워크에서 Cast 앱을 사용하려고 시도함 새 LNA 전면 광고가 표시된 다음 iOS 로컬 네트워크가 표시됩니다. 액세스 권한 대화상자

기기 검색이 시작되는 시점을 제어할 수 있는 새 플래그를 사용할 수 있습니다. UX의 특정 요소 동작:

startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)

기본값은 true입니다. 이 플래그는 플래그가 GCKCastOptions::disableDiscoveryAutostart false로 설정되어 있습니다.

true로 설정하면 사용자가 기기 화면을 탭할 때 Cast 기기 검색이 시작됩니다. 처음으로 GCKUICastButton입니다. 정보 메시지는 사용자에게 표시되어 로컬 네트워크 권한이 필요한 이유를 확인할 수 있습니다 이 메시지 다음 iOS 14 LNA 메시지가 표시됩니다. Cast 기기 검색은 메시지가 확인된 후에 시작됩니다.

후속 앱 실행에서는 GCKUICastButton가 항상 표시됩니다.

false로 설정하면 플래그 GCKCastOptions::disableDiscoveryAutostart

자주 묻는 질문(FAQ)

내 계정을 다시 릴리스하면 어떻게 되나요? Cast SDK v4.4.8 및 Xcode 12를 사용하는 Cast 송신기 앱

앱이 로컬 네트워크에서 Cast 기기를 검색하지 못할 수 있습니다. Apple에서 네트워킹 멀티캐스트 사용 권한을 취득하지 않은 경우 Apple은 멀티캐스트 사용 권한을 도움이 될 것입니다. Xcode 12로 빌드할 계획이라면 앱을 출시해야 합니다. Cast 4.6.0이 탑재되죠

새 Cast SDK를 사용해 앱을 다시 출시하면 사용자가 iOS 13 또는 이전 버전에서 실행되는 환경을 지원하나요?

이전과 동일한 사용자 환경을 계속 이용할 수 있습니다. 앱을 다시 출시할 수 있습니다. 사용자에게 표시되는 변경사항은 사용자로 제한됨 iOS 14에서 실행됩니다.

새 버전이 출시되면 앱을 업데이트하려면 어떻게 해야 하나요? 출시되면 어떻게 되나요?

  • 로컬 네트워크를 포함하도록 앱의 Info.plist 업데이트 사용 설명
  • 앱의NSBonjourServices Info.plist 및 Cast용 Bonjour 서비스 이름을 제공합니다. 앱 ID를 입력하세요.
  • Cast SDK 4.6.0을 사용하도록 발신기 앱을 업그레이드하세요.
  • Apple 앱 스토어에 앱을 다시 출시합니다.

맞춤 기기에 기기가 표시되지 않는 이유는 무엇인가요? 4.6.0으로 업그레이드한 후 선택 도구를 사용할 수 있나요?

맞춤 기기를 사용하는 경우 발생할 수 있는 알려진 문제입니다. 선택 도구를 사용합니다. 버전 4.4.8의 경우 Cast SDK 이전 버전에서는 기기가 자동으로 스캔되었습니다. 버전 시작 4.6.0에서는 startDiscovery를 명시적으로 호출해야 합니다. 메서드를 GCKDiscoveryManager 클래스를 사용하여 기기 검색을 시작합니다.

이렇게 변경되는 이유는 로컬 네트워크 액세스 (LNA) 앱에서 첫 번째 있습니다. 이로 인해 임의의 위치에 권한 대화상자가 표시될 수 있습니다. 확인할 수 있습니다.

앱을 위한 맞춤 기기 선택 도구를 빌드하는 개발자는 기기를 시작하기 전에 일회성 전면 광고를 제공할 것으로 예상되는 사용자 처음 스캔하도록 설정할 수 있습니다.

iOS 13

iOS 13에서는 새로운 권한 요구사항이 도입되었습니다. Android 앱을 실행할 수 있습니다.

Google Cast SDK v4.4.3부터 Bluetooth® 권한이 필요하지 않습니다. 이 기능은 개발자 도구와 사이트google-cast-sdk-no-bluetooth CocoaPods.

앱 분석

다음은 현재 사용 중인 iOS SDK 버전에 따른 분석입니다. 사용:

iOS 12 SDK 또는 이전 버전으로 빌드된 앱

  • 권장 조치. 다음과 같은 경우 기기 검색 성능이 저하될 수 있습니다. iOS 13에서 실행되지만 여전히 작동합니다. 다음을 적극 권장합니다. 가능한 경우 Cast SDK v4.4.4로 업그레이드하시기 바랍니다.
  • iOS 13에서는 사용자에게 앱에 Bluetooth® 권한을 부여하라는 메시지를 표시합니다.

iOS 13 SDK로 빌드된 앱

  • 조치 필요: Cast SDK 4.4.4로 업데이트하지 않으면 전송 버튼이 작동하지 않을 수 있음 사용자가 위치 정보 액세스 권한을 부여하지 않으면 표시됩니다. Cast SDK로 업그레이드 iOS 13에서 안정적인 전송 환경을 제공하려면 버전 4.4.4가 필요합니다.