Facebook ウォールのカメラ ロールから最後のビデオを共有する必要があるアプリケーションがあります。
私が使用しているコードは次のとおりです。
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 のログインがないと何か問題がありますか?