Я использую UIActivityViewController, который предоставляет некоторый текст по умолчанию и ссылку. Со всеми социальными средами (смс, электронная почта, твиттер) отображаются текст и URL по умолчанию. Тем не менее, с FB, когда отображается URL-адрес, текст по умолчанию не отображается (он просто пуст). Ниже приведен код:
NSString *shareStr = [NSString stringWithFormat:@""some text"];
NSURL *website = [NSURL URLWithString:@"website"];
NSArray *shareAray = @[shareStr,website];
[self viewWillDisappear:YES];
UIActivityViewController *activityController = [[UIActivityViewController alloc]initWithActivityItems:shareAray
applicationActivities:nil];
if([activityController respondsToSelector:@selector(popoverPresentationController)] )
activityController.popoverPresentationController.barButtonItem = self.shareButton;
[self presentViewController:activityController
animated:YES completion:nil];
[activityController setCompletionHandler:^(NSString *activityType, BOOL completed){
if (!activityType || UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
[self viewWillAppear:YES];
}
}];
Обновление: Как отмечалось в других ниже, FB больше не позволяет предварительно заполнять. Вот еще одна ссылка на видео, в которой приводятся примеры того, что разрешено, а что нет: https://developers.facebook.com/docs/apps/review/prefill