gpt4 book ai didi

iphone - 无法使用 SLComposeViewController 将图像发布到 Facebook?

转载 作者:行者123 更新时间:2023-12-03 19:43:43 27 4
gpt4 key购买 nike

我想将图片发布到 Facebook 和 Twitter。我对 twitter 很满意,但对使用 SLComposeViewController 类的 facebook 不太满意。无需添加图像,我就可以将文本和网址发布到 Facebook 中。问题是当我使用添加图像时,我无法发布该图像以及文本、网址。 SLComposeViewController 在我发送时显示图像、文本和 url。我有正确的 appId,并且没有收到任何错误。但问题仍然存在。我不知道问题出在哪里。请帮助我。

    - (void)performFBRequestUploadForImage{

[self showListOfFaceBookAccountsFromStore];
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result){

NSString *output;
switch (result) {
case SLComposeViewControllerResultCancelled:
output = @"ACtionCancelled";
break;
case SLComposeViewControllerResultDone:
output = @"Post Successfull";
[self dismissViewControllerAnimated:YES completion:nil];
break;
default:
break;
}
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Face Book Message" message:output delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
};

[mySLComposerSheet addImage:[UIImage imageNamed:@"images4.jpg"]];
[mySLComposerSheet setInitialText:@"I am developer."];
[mySLComposerSheet addURL:[NSURL URLWithString:@"http://stackoverflow.com/"]];
[mySLComposerSheet setCompletionHandler:completionHandler];
[self presentViewController:mySLComposerSheet animated:YES completion:nil];
}

}

- (void)showListOfFaceBookAccountsFromStore
{
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];


if( [SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook] )
{

NSDictionary *options = @{
@"ACFacebookAppIdKey" : myAppId,
@"ACFacebookPermissionsKey" : @[@"publish_stream"],
@"ACFacebookAudienceKey" : ACFacebookAudienceFriends};
[accountStore requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error){
if(granted) {
ACAccount * account = [[accountStore accountsWithAccountType:accountType] lastObject];
NSLog(@"Facebook user: %@",[account username]);
if([account username]==NULL){
[self facebookAlert];
} else {



}

}
else{
NSLog(@"Read permission error: %@", [error localizedDescription]);
}
}];
} else {
[self facebookAlert];
}
}

最佳答案

我在我的项目中使用了下面的代码来发布图像,它工作正常。

    if([SLComposeViewController instanceMethodForSelector:@selector(isAvailableForServiceType)] != nil)
{
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{

SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
if (result == SLComposeViewControllerResultCancelled) {

NSLog(@"Cancelled");

} else

{
NSLog(@"Done");
}

[controller dismissViewControllerAnimated:YES completion:Nil];
};
controller.completionHandler =myBlock;

[controller setInitialText:@"Check out my Christmas Gift!"];
[controller addImage:@"gift.jpg"];

[self presentViewController:controller animated:YES completion:Nil];

}

您只需尝试按照以下教程进行操作即可

  1. Tutorial 1

2. Tutorial 2

关于iphone - 无法使用 SLComposeViewController 将图像发布到 Facebook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14868560/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com