SLComposeViewController автоматически закрывается при публикации на Facebook в iOS 8
Я использую SLComposeViewController для обмена в Twitter и Facebook в моем приложении. Это нормально работает для Twitter, но для Facebook SLComposeViewController автоматически закрывается при выборе местоположения. Это проблема iOS 8. Работает нормально на iOS7.
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
self.fbSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result){
// [fbSheet dismissViewControllerAnimated:YES completion:nil];
switch(result){
case SLComposeViewControllerResultCancelled:
default:
{
NSLog(@"Cancelled.....");
}
break;
case SLComposeViewControllerResultDone:
{
NSLog(@"Posted....");
if([NetworkManager SharedInstance].isInternetReachable){
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Success"
message:@"Feeds shared successfully."
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}
break;
}};
[self.fbSheet setCompletionHandler:completionHandler];
NSString *fbString= self.titleString;
[self.fbSheet setInitialText:fbString];
[self.fbSheet addURL:[NSURL URLWithString:self.urlString]];
[self presentViewController:self.fbSheet animated:YES completion:nil];
}
Элемент управления автоматически переходит в блок обработчика завершения с отмененным результатом. Я просмотрел несколько постов о том, что это проблема 64-битной архитектуры. Пожалуйста, помогите мне с этим, если кто-то сталкивается с той же проблемой.
1 ответ
- (IBAction)facebookPost:(id)sender {
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
self.fbSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[self.fbSheet setInitialText:@"Social Framework test"];
[self.fbSheet addImage:[UIImage imageNamed:@"imagename.png"]];
[self.fbSheet addURL:[NSURL URLWithString:@"URL_NAME"]];
[self.fbSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
switch (result) {
case SLComposeViewControllerResultCancelled:
NSLog(@"Post Canceled");
break;
case SLComposeViewControllerResultDone:
{
NSLog(@"Post Sucessful");
NSLog(@"Posted....");
if([NetworkManager SharedInstance].isInternetReachable){
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Success"
message:@"Feeds shared successfully."
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}
break;
default:
break;
}
}];
[self presentViewController:self.fbSheet animated:YES completion:nil];
}
}