iOS용 Cast 애플리케이션 프레임워크 (CAF)로 개발하기 위한 설정

Cast 프레임워크는 iOS 16 이상을 지원하며 정적 프레임워크와 동적 프레임워크로 제공됩니다.

모든 클래스와 메서드에 관한 설명은 Google Cast iOS API 참조를 참고하세요.

Xcode 설정

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

    Swift Package Manager를 사용하는 경우 google-cast-ios-sdk 패키지를 버전 4.8.6으로 업데이트합니다.

    그렇지 않으면 SDK를 수동으로 가져옵니다.

  2. Info.plist에 NSBonjourServices 추가

    로컬 네트워크 검색이 성공하도록 Info.plist에서 NSBonjourServices를 지정합니다.

    기기 검색이 제대로 작동하려면 _googlecast._tcp와 _<your-app-id>._googlecast._tcp를 모두 서비스로 추가해야 합니다.

    appID는 receiverID이며, 이는 GCKDiscoveryCriteria에 정의된 ID와 동일합니다.

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

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. Info.plist에 NSLocalNetworkUsageDescription 추가

    NSLocalNetworkUsageDescription(예: Cast 검색 및 DIAL과 같은 기타 검색 서비스 설명)을 위해 앱의 Info.plist 파일에 앱별 권한 문자열을 추가하여 로컬 네트워크 프롬프트에 표시되는 메시지를 맞춤설정하는 것이 좋습니다.

    <key>NSLocalNetworkUsageDescription</key>
    <string>${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi
    network.</string>

    이 메시지는 모의에 표시된 대로 iOS 로컬 네트워크 액세스 대화상자의 일부로 표시됩니다.

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

    또한 가능한 한 빨리 4.8.6을 사용하여 앱을 다시 출시하는 것이 좋습니다.

Swift Package Manager 설정

Google Cast를 통합하는 데 권장되는 방법은 Swift Package Manager(SPM)를 사용하는 것입니다. Cast iOS SDK 패키지는 google-cast-ios-sdk GitHub 저장소에서 사용할 수 있습니다.

Xcode에서 프로젝트에 Cast iOS SDK를 추가하려면 다음 단계를 따르세요.

  1. Xcode에서 File(파일) > Add Packages…(패키지 추가…)를 선택합니다.
  2. 저장소 URL(https://github.com/googlecast/google-cast-ios-sdk)을 입력합니다.
  3. 버전 관리 규칙을 선택합니다. 예를 들어 최소 버전이 4.8.6인 다음 메이저 버전까지를 선택하면 예기치 않은 브레이킹 체인지 없이 호환되는 업데이트를 받을 수 있습니다.
  4. 패키지 추가를 클릭합니다.
  5. GoogleCastDynamic 또는 GoogleCastStatic 제품을 선택하고 앱 타겟에 추가합니다.

프레임워크 변형 선택

Cast iOS SDK 패키지는 다음 두 가지 제품을 제공합니다.

  • GoogleCastDynamic: 동적 프레임워크입니다. Cast UI 구성요소에 필요한 모든 애셋 리소스가 포함되어 있으며 추가 링커 플래그가 필요하지 않습니다. Mac Catalyst를 지원하는 앱은 동적 프레임워크를 사용해야 합니다. 자세한 내용은 Mac Catalyst 설정을 참고하세요.
  • GoogleCastStatic: 정적 프레임워크입니다. 정적 프레임워크 설정에 설명된 추가 설정 단계가 필요합니다.

정적 프레임워크 설정

정적 프레임워크에는 리소스 번들이 포함될 수 없습니다. 따라서 Swift Package Manager는 GoogleCastStatic 제품과 함께 Cast UI 구성요소에 필요한 애셋 리소스 (예: UI 이미지, 스토리보드, 현지화 파일)를 자동으로 번들로 묶을 수 없습니다. 타겟에 GoogleCastStatic를 추가하는 경우 다음 단계를 완료하세요.

  1. Xcode 프로젝트에서 빌드 설정 > 기타 링커 플래그에 -ObjC -lc++ 플래그를 추가합니다.
  2. 앱에서 Cast UI 구성요소를 사용하는 경우 애셋 번들을 프로젝트에 수동으로 추가합니다.
    1. 다운로드에서 정적 라이브러리를 다운로드합니다. 정적 라이브러리의 버전이 추가한 패키지의 버전과 일치하는지 확인합니다.
    2. 압축 해제된 디렉터리에서 Resources 폴더를 찾아 모든 .bundle 파일을 Xcode 프로젝트로 드래그합니다. '필요한 경우 모든 항목 복사'를 선택하고 모든 타겟에 추가합니다.

CocoaPods 설정

수동 설정

다음 안내는 Swift Package Manager를 사용하지 않고 프로젝트에 Cast iOS SDK를 추가하는 방법을 설명합니다.

다운로드

아래에서 적절한 라이브러리를 다운로드한 후 설정 단계에 따라 프레임워크를 프로젝트에 추가하세요.

iOS Sender SDK 4.8.6 라이브러리:

정적 동적

설정 단계

라이브러리를 설치하려면 다음 단계를 따르세요.

  1. 프로젝트에 적합한 SDK를 다운로드하여 추출합니다.
  2. 동적 GoogleCastSDK 라이브러리를 설정합니다.
  3. 압축 해제된 .xcframework를 Xcode 프로젝트 탐색기의 기본 프로젝트로 드래그합니다. '필요한 경우 항목 복사'를 선택하고 모든 타겟에 추가합니다.
  4. Xcode 타겟의 General 탭에서 GoogleCast.xcframework에 대해 Embed and Sign를 선택합니다.

동적 라이브러리를 설정하는 경우 이전 단계 외에 다음 단계를 따르세요.

  1. 현재 버전의 GoogleCastSDK가 있으면 삭제합니다.
  2. Protobuf GitHub 저장소에 있는 안내에 따라 Protobuf 라이브러리 v3.13 이상을 추가합니다.

정적 라이브러리를 설정하는 경우 이전 단계 외에 다음 단계를 따르세요.

  1. Xcode 프로젝트에서 -ObjC -lc++ 플래그를 Build Settings > Other Linker Flags에 추가합니다.
  2. 압축 해제된 디렉터리에서 Resources 폴더를 찾아 모든 .bundle 파일을 이전에 추가한 GoogleCast.xcframework 옆의 프로젝트로 드래그합니다. '필요한 경우 모든 항목 복사'를 선택하고 모든 타겟에 추가합니다.

Mac Catalyst 설정

Mac Catalyst를 지원하는 앱의 경우 Cast SDK의 동적 라이브러리를 사용하세요. 수동 설정 프로세스에 따라 프레임워크를 프로젝트에 추가합니다. 그런 다음 Apple 문서에 설명된 대로 Mac 타겟에서 Cast SDK를 조건부로 제외합니다. 정적 라이브러리는 iOS 아키텍처용으로 사전 컴파일되므로 Mac 타겟에 대해 빌드할 때 링커 오류가 발생합니다.