3

我有一个应用程序应该在 facebook 墙上分享来自 Camera Roll 的最后一个视频。

我正在使用的代码是:

PHFetchOptions *fetchOptions = [[PHFetchOptions alloc] init];
            [fetchOptions setSortDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:false], nil]];



        PHFetchResult *fetchResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo options:fetchOptions];

        NSString *videoIdentifier = @"";

        if(fetchResult != nil) {

            if ([fetchResult count] > 0) {
                if ([[fetchResult firstObject] isKindOfClass: [PHAsset class]]) {
                    videoIdentifier = [((PHAsset *)[fetchResult firstObject]) localIdentifier];

                    NSArray *array = [videoIdentifier componentsSeparatedByString:@"/"];

                    NSString *urlAssetString = [NSString stringWithFormat:@"assets-library://asset/asset.MOV?id=%@&ext=MOV", array.firstObject];

                    FBSDKShareDialog *shareDialog = [[FBSDKShareDialog alloc] init];
                    NSURL *videoURL = [NSURL URLWithString:urlAssetString];

                    FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init];
                    video.videoURL = videoURL;

                    FBSDKShareVideoContent *content = [[FBSDKShareVideoContent alloc] init];
                    content.video = video;

                    shareDialog.shareContent = content;
                    shareDialog.delegate = self;
                    [shareDialog show];
                }
            }
        }

问题是:

1) 它不是在应用程序内打开共享对话框,而是打开 facebook 应用程序

2)当我确认共享时,出现一个带有微调器的黑屏。当微调器达到 100% 的进度时,它会保留在屏幕上。没有调用任何委托方法。

3)帖子最后没有分享/没有出现在墙上

我应该怎么办?如果我在应用程序中没有 Facebook 登录来授予在墙上发帖的权限,这有什么问题吗?

在此处输入图像描述 在此处输入图像描述

4

0 回答 0