Live Activity
설치 가이드
react-native-live-activity 설치 및 iOS 위젯 익스텐션 설정 방법
설치 가이드
패키지 설치
npm install
Live Activity는 iOS 전용 기능입니다. Android에서는 모든 메서드가 에러 없이 동작하지만 실제 기능은 제공되지 않습니다.
iOS 네이티브 설정
Info.plist 설정
앱의 ios/<프로젝트명>/Info.plist 파일에 Live Activity 지원을 활성화하는 키를 추가합니다.
<key>NSSupportsLiveActivities</key><true/>
이 설정이 없으면 Live Activity가 표시되지 않습니다. 반드시 추가해야 합니다.
Widget Extension 타겟 추가
Xcode에서 Live Activity를 표시할 위젯 익스텐션을 추가합니다.
- Xcode에서 프로젝트를 엽니다.
- File > New > Target을 선택합니다.
- Widget Extension을 선택하고 Next를 클릭합니다.
- 타겟 이름을 입력합니다 (예:
ReceptionWidget). - Include Live Activity 옵션을 체크합니다.
- Finish를 클릭합니다.
위젯 익스텐션은 SwiftUI로 작성됩니다. 익스텐션의 ActivityAttributes는 ReceptionStateLiveActivityItem의 데이터 구조와 일치해야 합니다.
Widget Extension 설정
생성된 위젯 익스텐션의 타겟 설정에서 Deployment Target을 iOS 16.1 이상으로 설정합니다.
- Xcode에서 위젯 익스텐션 타겟을 선택합니다.
- General 탭에서 Minimum Deployments를
iOS 16.1로 설정합니다.
App Group 설정 (선택사항)
앱과 위젯 익스텐션 간에 데이터를 공유해야 하는 경우 App Group을 설정합니다.
- 앱 타겟의 Signing & Capabilities에서 + Capability를 클릭합니다.
- App Groups를 추가하고 그룹 ID를 설정합니다 (예:
group.com.yourcompany.app). - 위젯 익스텐션 타겟에도 동일한 App Group을 추가합니다.
Android 동작 방식
Android에서는 별도의 설정 없이 패키지를 사용할 수 있습니다. 모든 Live Activity 메서드는 스텁으로 구현되어 있어 아무런 동작도 하지 않고 정상적으로 반환됩니다.
// Android에서는 이 코드가 에러 없이 실행되지만 실제 Live Activity는 생성되지 않습니다const enabled = await LiveActivityManager.areActivitiesEnabled();// enabled는 항상 false를 반환합니다
설치 확인
import { LiveActivityManager } from '@boostbrothers/react-native-live-activity';import { Platform } from 'react-native';async function verifyInstallation() {if (Platform.OS !== 'ios') {console.log('Live Activity는 iOS에서만 지원됩니다.');return;}const enabled = await LiveActivityManager.areActivitiesEnabled();console.log('Live Activity 사용 가능 여부:', enabled);}verifyInstallation();
요구사항
| 항목 | 요구사항 |
|---|---|
| iOS | 16.1 이상 (Live Activity 기능) |
| Xcode | 14.1 이상 |
| React Native | 0.73 이상 |
| Expo SDK | 50 이상 |
| Dynamic Island | iPhone 14 Pro 이상 |
iOS 16.0 이하에서는 areActivitiesEnabled()가 false를 반환합니다. 항상 활성화 여부를 확인한 후 Live Activity를 시작하세요.