Facebookで共有するには、Facebookアプリを作成する必要があるのではないかと思っていました。
ユーザーに実際にログインしたり、このようなことをしたくありません。
Facebookのドキュメントにあるように、前提条件は「Facebookログインをすでに設定していることを確認する」ことです。ユーザーはすでにネイティブのFacebookアプリにログインしているので、これが本当に必要なのか、それとも私がバイパスできるものなのかを知りたかったのです。
Facebookで共有するには、Facebookアプリを作成する必要があるのではないかと思っていました。
ユーザーに実際にログインしたり、このようなことをしたくありません。
Facebookのドキュメントにあるように、前提条件は「Facebookログインをすでに設定していることを確認する」ことです。ユーザーはすでにネイティブのFacebookアプリにログインしているので、これが本当に必要なのか、それとも私がバイパスできるものなのかを知りたかったのです。
FacebookのIDとパスワードを保存することについて話していると思います。
設定から行う必要があります...また、Facebook IDとパスワードが入力されているかどうかをロジックで確認できます。入力されていない場合、セッションはログインページに移動します。そうでない場合は、特定のものを共有します。
これがお役に立てば幸いです...
これが私が話していたことです:
#pragma mark - Share
- (void)sharingStatus {
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
NSLog(@"service available");
self.shareButton.enabled = YES;
self.shareButton.alpha = 1.0f;
} else {
self.shareButton.enabled = NO;
self.shareButton.alpha = 0.5f;
}
}
- (IBAction)facebookPost:(id)sender {
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
NSString *shareText = @"This is my share post!";
[mySLComposerSheet setInitialText:shareText];
[mySLComposerSheet addImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:self.imageURL]]];
[mySLComposerSheet addURL:[NSURL URLWithString:@"http://yourURL.com"]];
[mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
switch (result) {
case SLComposeViewControllerResultCancelled:
NSLog(@"Post Canceled");
break;
case SLComposeViewControllerResultDone:
NSLog(@"Post Sucessful");
break;
default:
break;
}
}];
[self presentViewController:mySLComposerSheet animated:YES completion:nil];
}
}