Newbilius
@Newbilius

UIActivityViewController не шарит письмо+файл в Яндекс.Почту?

Задача: из приложения отправить файл из файловой системы+текст в любое приложение, способное принять файл+текст.

Есть банальный код расшаривания некого документа (формат PDF) и текста. Написано под Xamarin, но суть та же, что в нативном коде:

public class ShareResult:IActionResult
	{
		public string FilePath { get; set; }
		public string Text { get; set; }
		public string Subject { get; set; }
	}

	var controller = new UIActivityViewController(GetShareParams(actionResult).ToArray(), null);
	controller.SetValueForKey(NSObject.FromObject(actionResult.Subject), new NSString("subject"));
	AppDelegate.NavigationController.PresentViewController(controller, true, null);
	
	private IEnumerable<NSObject> GetShareParams(ShareResult actionResult)
	{
		if (!actionResult.Text.IsEmpty())
			yield return new NSString(actionResult.Text);
		if (!actionResult.FilePath.IsEmpty())
			yield return new NSUrl(actionResult.FilePath, false);
	}

Родное iOS приложение для работы с почтой появляется в списке и принимает и текст, и файл, и даже тему письма.
А вот Яндекс.Почта в списке доступных приложений почему то не появляется...
  • Вопрос задан
  • 236 просмотров
Пригласить эксперта
Ответы на вопрос 1
Flanker_4
@Flanker_4
Я не пользуюсь яндекс почтой на iOS и слабо понимаю специфику его работы, но попробую задать наводящие вопросы, может они помогут Вам
1) А Вы вообще уверены, что у этого клиента есть экстеншин соотвествующий (лучший способ проверить, это попытаться зашарить текст с Safari)
2) Если на предыдущий вопрос ответ "есть", то попробуйте убрать url из шаринга. Может Яндекс клиент не поддерживает шаринг ссылок.
3) Если на первый вопрос "не, нету" то попробуйте сделать свой кастомный action через url sheme (у яндекса , если верить handleopenurl.com/scheme/yandex.mail это yandexmail)
Вот тут примеры как делать

nshipster.com/uiactivityviewcontroller
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы