Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用FBSDKShareDialog在应用程序内共享fb图像和消息内容不起作用_Ios_Facebook_Facebook Graph Api_Facebook Ios Sdk - Fatal编程技术网

Ios 使用FBSDKShareDialog在应用程序内共享fb图像和消息内容不起作用

Ios 使用FBSDKShareDialog在应用程序内共享fb图像和消息内容不起作用,ios,facebook,facebook-graph-api,facebook-ios-sdk,Ios,Facebook,Facebook Graph Api,Facebook Ios Sdk,我正在使用以下代码使用FBSDK open graph对象和FBSDK open graph内容在fb timeline上共享图片和一些消息。但是,以下代码不执行任何操作,不显示任何对话框,也不向timeline发布任何内容。我是否缺少此代码中的任何内容,或者此代码在模拟器中不起作用 - (IBAction)shareButtonPressed:(id)sender { NSString *contentDesc=@"abcdcccdcc"; NSString *title=[N

我正在使用以下代码使用FBSDK open graph对象和FBSDK open graph内容在fb timeline上共享图片和一些消息。但是,以下代码不执行任何操作,不显示任何对话框,也不向timeline发布任何内容。我是否缺少此代码中的任何内容,或者此代码在模拟器中不起作用

- (IBAction)shareButtonPressed:(id)sender {
    NSString *contentDesc=@"abcdcccdcc";
    NSString *title=[NSString stringWithFormat:@"%@ \n asd %@, asd %@",self.nameLabel.text,_fromDate.text,_toDate.text];

    FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
    photo.image = _profilePic.image;
    photo.userGenerated = YES;

    // Create an object
    NSDictionary *properties = @{
                                @"og:type": @"memories.memory",
                                 @"og:title":title ,
                                 @"og:description":contentDesc

                                 };
    FBSDKShareOpenGraphObject *object = [FBSDKShareOpenGraphObject  objectWithProperties:properties];

    // Create an action
    FBSDKShareOpenGraphAction *action = [[FBSDKShareOpenGraphAction alloc] init];
    action.actionType = @"memories.view";
    [action setObject:object forKey:@"memories.memory"];

    // Add the photo to the action
    [action setPhoto:photo forKey:@"image"];

    // Create the content
    FBSDKShareOpenGraphContent *content = [[FBSDKShareOpenGraphContent alloc] init];
    content.action = action;
    content.previewPropertyName = @"memories.memory";

    [FBSDKShareDialog showFromViewController:self
                                 withContent:content
                                    delegate:nil];   
}
在委托方法中

-(void)sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error
{


    NSLog(@"%@",error);
}
-(void)sharr:(id)sharr didFailWithError:(NSError*)错误
{
NSLog(@“%@”,错误);
}
错误日志打印如下

Error Domain=com.facebook.sdk.share Code=2 "The operation couldn’t be completed. (com.facebook.sdk.share error 2.)" UserInfo=0x7faec97bb660 {com.facebook.sdk:FBSDKErrorArgumentValueKey=<FBSDKShareOpenGraphContent: 0x7faecbc16740>, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=Feed share dialogs support FBSDKShareLinkContent., com.facebook.sdk:FBSDKErrorArgumentNameKey=shareContent}
Error Domain=com.facebook.sdk.share code=2“操作无法完成。(com.facebook.sdk.share Error 2.)“UserInfo=0x7faec97bb660{com.facebook.sdk:fbsdkerroargumentvaluekey=,com.facebook.sdk:fbsdkerrodeveloperMessagekey=提要共享对话框支持FBSDKShareLinkContent.,com.facebook.sdk:fbsdkerroargumentnamekey=shareContent}”

更改
[动作集照片:照片分叉:@“图像”]至<代码>[对象设置照片:照片分叉:@“og:image”]

2:fatuhoku-感谢您的评论。你说得对-我在用FBSDKShareAPI。如果我将userGenerated设置为YES创建照片,它会像照片一样附加。照片放在我的相册(自动创建)中,带有我的应用程序名称,帖子类型为“照片”。如果我将userGenerated设置为NO,则照片将被放置在内部FB阶段,帖子类型为'link',但我可以从帖子属性'picture'中提取照片,并通过一些技巧更改图片URL中的两个参数w=130和h=130来获得照片的必要大小。所有这些我都是用API做的,而不是用对话框

下面的链接清楚地表明,用户生成的照片不应该从对象中拍摄。它应该设置在动作上。。。此选项仅在使用FBSDKShareAPI而不是对话框时有效。此处遇到相同的问题。我觉得iOS SDK坏了。应将其报告为错误。我发现,通过调试,您可以在N错误中看到userInfo的所有值。@sujith,找到解决方案了吗?