6

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;

最後に、ライブ写真を取得し、livePhotoView に表示します。次に、それを保存または共有しようとします。クラス UIActivityViewController を使用します。このように:

  if (self.livePhoto) {

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


}

ライブ写真を共有するとき、共有するのは静止画像だけです。ライブ写真を保存することを選択すると、アルバムに何も見つかりません。これをさまざまな場所で検索します。このhttps://githubでいくつかの情報を見つけるだけです.com/genadyo/LivePhotoDemo/issues/3 . しかし、それは私の問題を解決しませんでした。

AppStore でアプリを見つけましたが、その仕組みがわかりません。https://itunes.apple.com/cn/app/livemaker-free-for-live-photo/id1053967828?mt=8

4

0 に答える 0