shareplay-activities

Coordinate real-time shared experiences across Apple devices with GroupActivities and SharePlay.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/harshav167/build-ios-apps --skill shareplay-activities-harshav167
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: shareplay-activities
Source: https://github.com/harshav167/build-ios-apps/tree/main/skills/shareplay-activities
Command: npx skills add https://github.com/harshav167/build-ios-apps --skill shareplay-activities-harshav167

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Build real-time, co-hosted experiences across Apple devices using GroupActivities and SharePlay, enabling synchronized media playback, shared application state, and collaborative features.

Core Features & Use Cases

  • Define a codable GroupActivity with concise metadata and metadata-driven UI conventions.
  • Coordinate lifecycle and session observation with GroupSession, GroupActivitySharingController, and participant management.
  • Use AVPlaybackCoordinator for synchronized media playback and GroupSessionJournal for large data transfers while keeping messages lightweight.

Quick Start

Create a WatchTogetherActivity with a movieID and movieTitle, then call prepareForActivation and activate when possible, or show GroupActivitySharingController if no conversation is active.

Frequently Asked Questions about shareplay-activities

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I coordinate synchronized media playback across Apple devices using SharePlay?

Synchronized media playback across Apple devices is coordinated using AVPlaybackCoordinator with GroupActivities. This integration manages session lifecycle and playback data, ensuring real-time playback alignment across iOS, macOS, tvOS, and visionOS participants.

How do I define a GroupActivity for shared iOS app experiences?

Defining a GroupActivity for shared app experiences requires creating a codable struct containing concise metadata. This metadata drives UI conventions and carries lightweight Messenger data, ensuring clear separation from heavier playback data transferred via GroupSessionJournal.

Does SharePlay support collaborative app features and shared state on visionOS?

SharePlay supports collaborative app features and shared state on visionOS, alongside iOS, macOS, and tvOS. By leveraging GroupSession and participant management, applications can maintain synchronized state and deliver co-hosted interactive experiences across these platforms.

What is the best way to handle SharePlay session lifecycle when no conversation is active?

When no conversation is active, the best way to handle SharePlay session lifecycle is to present the GroupActivitySharingController. Call prepareForActivation first, and if activation is not possible, display this controller to prompt the user to start a sharing session.

Why separate Messenger data from playback data in GroupActivities?

Separating Messenger data from playback data in GroupActivities ensures messages remain lightweight and responsive. Large data transfers are routed through GroupSessionJournal, preventing synchronization bottlenecks and maintaining optimal real-time coordination during shared media sessions.