Как поделиться изображением и текстом в objective c ios

#ios #objective-c #uiactivityviewcontroller

#iOS #objective-c #uiactivityviewcontroller

Вопрос:

Я хочу поделиться изображением и текстом во всех ActivityController , но следующий код не подходит для меня:

 NSString *theFileName = [[fileNameOfImage lastPathComponent] stringByDeletingPathExtension];
//      [BDGSharing shareUsingActivityController:strDataForShare urlStr:@"google.com" image:_imageview1.image];


NSString *st = [NSString stringWithFormat:@"%@.jpg",theFileName];
NSString *documentDirectory=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *saveImagePath=[documentDirectory stringByAppendingPathComponent:st];
NSData *imageData2=UIImagePNGRepresentation(_imageview1.image);
[imageData2 writeToFile:saveImagePath atomically:YES];
NSURL *imageURL1=[NSURL fileURLWithPath:saveImagePath];
documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:imageURL1];
documentInteractionController.delegate = self;
documentInteractionController.name=strDataForShare;
 documentInteractionController.UTI = @"public.plain-text";
[documentInteractionController presentOptionsMenuFromRect:CGRectMake(1, 1, 1, 1) inView:self.view animated:YES];
  

Пожалуйста, дайте мне предложение, если есть какая-либо библиотека или комплект, чтобы поделиться ими в WhatsApp.

Комментарии:

1. Вам нужно будет объяснить, что вы ожидаете, и что происходит вместо этого, или какие-либо сообщения об ошибках, которые вы получаете.

2. вы хотите использовать контроллер активности?

Ответ №1:

Давайте рассмотрим ваш код. Первый-

 NSString *st = [NSString stringWithFormat:@"%@.jpg",theFileName];
NSData *imageData2=UIImagePNGRepresentation(_imageview1.image);
  

Вы сохраняете изображение в формате .jpg с представлением в формате PNG, не следует ли вместо этого использовать представление в формате jpeg?

 UIImageJPEGRepresentation(_imageview.image, 1.0) 
  

Второй-

 [imageData2 writeToFile:saveImagePath atomically:YES];
  

Прямо здесь вы не уверены, было ли изображение успешно сохранено или нет. Пожалуйста, добавьте условие

 if([imageData2 writeToFile:saveImagePath atomically:YES]){

// here you are sure that the image was saved and you can use it.

}
  

Третье-

 documentInteractionController.UTI = @"public.plain-text";
  

Вы делитесь изображением в формате jpg, почему ваш UTI — обычный текст? Разве это не должно быть public.image ?

Просто попробуйте решить эту проблему, и ваш код должен работать успешно.

Комментарии:

1. Спасибо.. но я хочу поделиться изображением текстом со всех контроллеров активности.. Когда я использовал этот код, я мог делиться изображением только из приложения whats и электронной почты.?

2. Насколько я знаю, нет способа поделиться изображением и текстом в Instagram с помощью UIDocumentInteractionController. Вы пробовали использовать api instagram?