我有一个应用程序应该在 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 登录来授予在墙上发帖的权限,这有什么问题吗?