Подтвердить что ты не робот

IOS: как поделиться текстом и изображением в социальных сетях?

Пожалуйста, можете ли вы сказать мне, если я ошибаюсь?

NSString *sharedMsg=[NSString stringWithFormat:@"Hello world"];
UIImage* sharedImg=[UIImage imageNamed:@"image"];
NSArray* sharedObjects=[NSArray arrayWithObjects:sharedMsg, sharedImg, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] 
              initWithActivityItems:sharedObjects applicationActivities:nil];
activityViewController.popoverPresentationController.sourceView = self.view;
[self presentViewController:activityViewController animated:YES completion:nil];

Во время выполнения, когда я выбираю значок Facebook, текст отсутствует, изображение отображается правильно.
Мой xcode - 6.3.1, протестирован на iPad.

4b9b3361

Ответ 1

Похоже, что последнее обновление для приложения Facebook заменило встроенную активность в Facebook на тот, который игнорирует текст состояния. Если вы удалите приложение Facebook с вашего устройства, текст будет отображаться с использованием кода, который у вас есть. Если у вас установлено приложение Facebook, вы получаете изображения, URL-адреса, но не текст

Политики Facebook не позволяют предварительно заполнять сообщения о статусе и требуют, чтобы весь контент был создан пользователем - хотя я понимаю намерение этого, я лично считаю, что во многих случаях это глупо. Например, в моей игре Я хочу предварительно заполнить счет пользователя, но теперь я не могу, поэтому пользователю предоставляется пустое диалоговое окно. Вероятно, я просто удалю вариант совместного использования Facebook, поскольку никто никогда не будет использовать его сейчас.

Этот ответ из Facebook подтверждает, что поведение по дизайну

Ответ 2

Вот ответ в Swift. Это может не помочь вашей проблеме, но может быть полезно с тем, кто ищет этот заголовок. Просто создайте кнопку и это действие. И установите действие кнопки, как это.

Примечание. Вам нужно войти в свою фейсбук или твиттер, перейдя в настройку. Затем сделайте вот так.

@IBAction func onShareTouched(sender: AnyObject) {

    print("share")

    let myShare = "My beautiful photo! <3 <3"
    let image: UIImage = UIImage(named: "yourImageNameHere")

    let shareVC: UIActivityViewController = UIActivityViewController(activityItems: [(image), myShare], applicationActivities: nil)
    self.presentViewController(shareVC, animated: true, completion: nil)

  }

Ответ 3

NSString* [email protected]"Hello world";
NSURL *myWebsite = [NSURL URLWithString:@"http://www.website.com/"];
//  UIImage * myImage =[UIImage imageNamed:@"myImage.png"];
NSArray* [email protected][text,myWebsite];
UIActivityViewController * activityViewController=[[UIActivityViewController alloc]initWithActivityItems:sharedObjects applicationActivities:nil];

activityViewController.popoverPresentationController.sourceView = self.view;
[self presentViewController:activityViewController animated:YES completion:nil];