broadCast

120 阅读1分钟

broadCast 梳理

一 broadcast在主工程中使用

1 注册app Group, 生成 groupId 2 主工程 bundleid 绑定 app group 3 主项目创建 broadcast,并发送数据,发送数据使用 NSUserDefaults 

  • 3.1 broadcast  的 bundleId 即为broadcastId 
  • 3.2 创建的broadcast 传递数据需要使用 groupId, self.dataDefaults = [[NSUserDefaults alloc]initWithSuiteName:VCFGroupId];

4 主工程接收broadcast发送的数据 

  • 4.1 使用ReplyKit中的RPSystemBroadcastPickerView吊起系统录屏弹窗,其中 pickerV.preferredExtension = broadcastId; 
  • 4.2 需要使用groupId接收数据,[[NSUserDefaults alloc] initWithSuiteName:VCFGroupId], 并使用KVO监听UserDefaults传来的新值 
  • 4.3 使用OpenUrlScheme, 使用场景:app在后台点击顶部红色横条直接突出直播,需要跳转回app

二 broadcast 在framework中封装给主工程使用

1 注册app Group, 生成 groupId 2 主工程 bundleid 绑定 app group 3 framework中创建broadcast,并发送数据,发送数据使用 NSUserDefaults 

  • 3.1 broadcast  的 bundleId 即为broadcastId 
  • 3.2 创建的broadcast 传递数据需要使用 groupId, self.dataDefaults = [[NSUserDefaults alloc]initWithSuiteName:VCFGroupId];

4 framework编译后,主工程导入Broadcast.appex 并拖拽到 targets->Gengral->Frameworks,Libraries,andEmbeddedContent 目录下 5 主工程接收broadcast发送的数据 

  • 5.1 使用ReplyKit中的RPSystemBroadcastPickerView吊起系统录屏弹窗,其中 pickerV.preferredExtension = broadcastId; 
  • 5.2 需要使用groupId接收数据,[[NSUserDefaults alloc] initWithSuiteName:VCFGroupId], 并使用KVO监听UserDefaults传来的新值 
  • 5.3 使用OpenUrlScheme, 使用场景:app在后台点击顶部红色横条直接突出直播,需要跳转回app