在Mac和iOS上,我如何通过短信应用程序和AirDrop共享实时照片?

在Mac和iOS上,我如何通过短信应用程序和AirDrop共享实时照片?,ios,macos,uiactivityviewcontroller,phlivephoto,apple-live-photos,Ios,Macos,Uiactivityviewcontroller,Phlivephoto,Apple Live Photos,在iOS设备上为实时照片创建PHLivePhoto对象并尝试通过UIActivityViewController共享时 保存实时照片作为一个选项出现在结果屏幕上,并按预期工作。实时照片在我的设备上保存为实时照片,并在苹果的照片应用程序中作为实时照片查看 此时会出现消息应用程序图标。选择它会在邮件中包含实时照片的静态图像,发送时会在收件人的邮件应用程序中显示静态图像。它不能作为实时照片查看 空投不作为选项显示。但是,我确实看到了一条消息对话和一个显示为选项的Mac或iOS设备。选择Mac或i

在iOS设备上为实时照片创建PHLivePhoto对象并尝试通过UIActivityViewController共享时

  • 保存实时照片作为一个选项出现在结果屏幕上,并按预期工作。实时照片在我的设备上保存为实时照片,并在苹果的照片应用程序中作为实时照片查看

  • 此时会出现消息应用程序图标。选择它会在邮件中包含实时照片的静态图像,发送时会在收件人的邮件应用程序中显示静态图像。它不能作为实时照片查看

  • 空投不作为选项显示。但是,我确实看到了一条消息对话和一个显示为选项的Mac或iOS设备。选择Mac或iOS设备不起任何作用。选择对话会向对话发送一个静止图像,尽管我不知道选择特定对话的标准是什么

我曾尝试使用指向实时照片的静态图像部分的URL,但正如预期的那样,只会将静态图像发送或保存到相机卷,尽管我确实认为空投是此场景中的一个选项

如何将实时照片发送到消息应用程序,并像照片应用程序一样,通过空投将其发送到其他设备?我试着搜索类似的问题,但没有找到任何解决方案

我目前正在使用Xcode 12 Beta 6,并安装在运行iOS 14(18A5357e)的iPhone8 Plus上。我也曾在运行iOS 13.6.1的iPad Pro 10.5上使用Xcode 11.3进行过尝试,结果相同

这是我的UIViewController派生类中的核心逻辑,它实际上是从GLKViewController派生的

- (void)shareAsset:(PHAsset *)asset forSize:(CGSize)size
{
  PHLivePhotoRequestOptions *options = [[PHLivePhotoRequestOptions alloc] init];
  options.version = PHImageRequestOptionsVersionCurrent;
  options.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
  options.networkAccessAllowed = YES;
  [[PHImageManager defaultManager] requestLivePhotoForAsset:asset
       targetSize:size
      contentMode:PHImageContentModeDefault
          options:options
    resultHandler:^(PHLivePhoto * _Nullable livePhoto, NSDictionary * _Nullable info)
  {
    UIActivityViewController *activityViewController =
      [[UIActivityViewController alloc] initWithActivityItems:@[sharedLivePhoto] 
                                        applicationActivities:nil];
    [self presentViewController:activityViewController animated:YES completion:nil];
  }];
}