用途:在 Swift/iOS 应用中集成 Apple Music 目录搜索、订阅检查与播放,并通过 MediaPlayer 发布正在播放信息、响应锁屏与 CarPlay 控制。
主要能力:使用 MusicCatalogSearchRequest 搜索 Apple Music 目录;用 MusicAuthorization.request() 请求授权、currentStatus 读取状态;用 MusicSubscription.current 检查 canPlayCatalogContent,用 canBecomeSubscriber 判断是否展示订阅页;用 ApplicationMusicPlayer 进行应用内播放与队列管理(insert 到 .tail 或 .afterCurrentEntry);用 MPNowPlayingInfoCenter 更新标题、艺人、时长、进度与封面;用 MPRemoteCommandCenter 注册播放、暂停、上一首、下一首及拖动进度命令。
必要用法:先在 Apple Developer 门户为显式 bundle ID 启用 MusicKit App Service,在 Info.plist 添加 NSAppleMusicUsageDescription,后台播放需在 UIBackgroundModes 添加 audio;导入 import MusicKit 与 import MediaPlayer。播放目录内容前必须检查订阅;应用内播放应使用 ApplicationMusicPlayer 而非 SystemMusicPlayer;自定义音频需自行更新 Now Playing 信息,并在曲目、时长、速率、进度变化时刷新;不支持的命令用 isEnabled = false 禁用,支持的处理需返回 .success。
适用场景:添加音乐搜索、Apple Music 订阅引导、应用内播放、锁屏与 CarPlay 控制、自定义音频的正在播放展示。
限制:资料未提供具体收费、价格、平台版本或效果数据;需自行处理授权被拒、未订阅、离线、队列失败、中断与切歌等状态。