Ios 如何在相册中保存自制的实时照片?

Ios 如何在相册中保存自制的实时照片?,ios,iphone,ios9,photo,phlivephoto,Ios,Iphone,Ios9,Photo,Phlivephoto,我尝试使用JPG文件和MOV文件制作实时照片。如下所示: CGSize targetSize = CGSizeZero; PHImageContentMode contentMode = PHImageContentModeDefault; __weak NSURL *videoUrl; __weak NSURL *photoUrl; // Call private API to create the live photo

我尝试使用JPG文件和MOV文件制作实时照片。如下所示:

   CGSize targetSize = CGSizeZero;
    PHImageContentMode contentMode = PHImageContentModeDefault;


    __weak NSURL *videoUrl;
    __weak NSURL *photoUrl;

//         Call private API to create the live photo
            self.livePhotoView.livePhoto = nil;
            self.livePhoto = nil;
            self.livePhoto = [[PHLivePhoto alloc] init];
            SEL initWithImageURLvideoURL = NSSelectorFromString(@"_initWithImageURL:videoURL:targetSize:contentMode:");
            if ([self.livePhoto respondsToSelector:initWithImageURLvideoURL]) {
                NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[self.livePhoto methodSignatureForSelector:initWithImageURLvideoURL]];
                [invocation setSelector:initWithImageURLvideoURL];
                [invocation setTarget:self.livePhoto];
                [invocation setArgument:&(photoURL) atIndex:2];
                [invocation setArgument:&(videoUrl) atIndex:3];
                [invocation setArgument:&(targetSize) atIndex:4];
                [invocation setArgument:&(contentMode) atIndex:5];
                [invocation invoke];
            }

            // Set the live photo
            self.livePhotoView.livePhoto = self.livePhoto;
  if (self.livePhoto) {

    UIActivityViewController *activityViewController =
    [[UIActivityViewController alloc] initWithActivityItems:@[self.livePhotoView.livePhoto]
                                      applicationActivities:nil];
    [self presentViewController:activityViewController
                       animated:YES
                     completion:^{
                         // ...
                     }];


}
最后,我获取实时照片并在livePhotoView中显示。然后我尝试保存或共享它。我使用UIActivityViewController类。如下所示:

   CGSize targetSize = CGSizeZero;
    PHImageContentMode contentMode = PHImageContentModeDefault;


    __weak NSURL *videoUrl;
    __weak NSURL *photoUrl;

//         Call private API to create the live photo
            self.livePhotoView.livePhoto = nil;
            self.livePhoto = nil;
            self.livePhoto = [[PHLivePhoto alloc] init];
            SEL initWithImageURLvideoURL = NSSelectorFromString(@"_initWithImageURL:videoURL:targetSize:contentMode:");
            if ([self.livePhoto respondsToSelector:initWithImageURLvideoURL]) {
                NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[self.livePhoto methodSignatureForSelector:initWithImageURLvideoURL]];
                [invocation setSelector:initWithImageURLvideoURL];
                [invocation setTarget:self.livePhoto];
                [invocation setArgument:&(photoURL) atIndex:2];
                [invocation setArgument:&(videoUrl) atIndex:3];
                [invocation setArgument:&(targetSize) atIndex:4];
                [invocation setArgument:&(contentMode) atIndex:5];
                [invocation invoke];
            }

            // Set the live photo
            self.livePhotoView.livePhoto = self.livePhoto;
  if (self.livePhoto) {

    UIActivityViewController *activityViewController =
    [[UIActivityViewController alloc] initWithActivityItems:@[self.livePhotoView.livePhoto]
                                      applicationActivities:nil];
    [self presentViewController:activityViewController
                       animated:YES
                     completion:^{
                         // ...
                     }];


}
当我共享实时照片时,我共享的只是静态图像。当我选择保存实时照片时,我在相册中找不到任何内容。我在许多地方搜索了此内容。我只是在其中找到一些信息。但这并没有解决我的问题


我在AppStore中发现一个应用程序可以做到这一点。但我不明白它是如何工作的。

图像和电影的元数据不匹配。genadyo的swift演示如下:请阅读他的QuickTimeMov.swift和JPEG.swift。如果您有,请共享对象c解决方案。是的,谢谢。我也找到了这个。是的,只是上面的演示。我们需要添加元数据