Разрыв строки Flutter url_launcher не работает в почтовой программе iOS

Я пытаюсь использовать пакет Flutter url_launcher для создания шаблона формы обратной связи. До сих пор это работало хорошо, но я недавно сделал крупное обновление управления версиями пакетов, и теперь кажется, что что-то не так с переводом заполнителей.

          final Uri _emailLaunchUri = Uri(
      scheme: 'mailto',
      path: recipient,
      queryParameters: {
        'subject': subject,
        'body': body,
      },
    );

    var newurl = _emailLaunchUri.toString();
    return newurl;

Вверху находится мой фрагмент кода для генерации uri и, в конечном итоге, возврата нового URL-адреса запуска, включая некоторую информацию об устройстве. Распечатка приводит к следующему выводу в консоли:

mailto:support@support.de?subject=Feedback%3A+App+Name%28Subtitle%29&body=Dear+developers%2C%0D%0A%0D%0AiOS+version%3A+14.6%0D%0Amodel%3A+iPhone11%2C8%0D%0A

Думаю, пока все хорошо, но вот как это выглядит в моем приложении (проверено на физическом iPhone):

Что я пропустил или что Apple могла изменить в последних версиях iOS? Мой iPhone использует версию 14.6. Я придумал заменить "+" на %20 вместо этого (похоже, это ошибка пакета), но я не уверен, как правильно преобразовать разрывы строк.

Буду признателен за любую помощь.

1 ответ

На Android тоже не будет работать, но вы можете исправить это, пройдя. enableJavaScript как правда.

            await launch(
        url,
        enableJavaScript: true,
      );
    } else {
      throw 'Could not launch $url';
    }
Другие вопросы по тегам