Плагин Share_plus: устройство iOS зависает при обмене файлом через неоткрытую учетную запись в социальной сетиIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Плагин Share_plus: устройство iOS зависает при обмене файлом через неоткрытую учетную запись в социальной сети

Сообщение Anonymous »

Платформа: Любое устройство iOS
Плагин: Share_plus
Версия: 9.0.0
Flutter SDK: 3.19.6
Описание проблемы:
У меня есть устройство iOS с установленным приложением Telegram, но я не создал учетную запись и не вошел в систему. Несмотря на это, при попытке поделиться файлом через Telegram, мой телефон зависает. Проблема возникает из-за отсутствия авторизованной учетной записи в Telegram. При возникновении этой проблемы в консоли отображается следующий журнал:
"[NSExtension] Запрос расширения содержит входные элементы, но точка расширения не указывает набор разрешенных классов полезной нагрузки. . Подкласс NSExtensionContext точки расширения должен реализовывать +_allowedItemPayloadClasses. Он должен возвращать набор разрешенных классов полезной нагрузки NSExtensionItem. В будущем этот запрос завершится ошибкой."
Вкл. Однако на устройствах Android обмен файлами через Telegram без предварительного входа в учетную запись не приводит к каким-либо ошибкам или зависаниям телефона. Операция общего доступа возвращает статус успеха, а необработанный результат возвращается как "com.google.android.gm/com.google.android.gm.ComposeActivityGmailExternal."
Шаги для воспроизведения:
1. Выйдите из любой желаемой социальной сети (например, Instagram, Telegram).
2. Выберите любой файл, которым хотите поделиться, и при необходимости добавьте подпись.
3. Попытайтесь поделиться файлом, используя платформу социальной сети, из которой вы Вы полностью вышли из системы.
Пример кода:

Код: Выделить всё

Future sharePlus(String path) async{
print('LOOK: STARTED');
try{
final result = await Share.shareXFiles(
[XFile(path)],
text: null, //LocaleKeys.receipt.tr(),
);

switch(result.status){

case ShareResultStatus.success:
print('LOOK: SUCCESS: ${result.raw}');
case ShareResultStatus.dismissed:
print('LOOK: DISMISSED: ${result.raw}');
case ShareResultStatus.unavailable:
print('LOOK: UNAVAILABLE: ${result.raw}');
}
} catch(e){
print('LOOK: ERROR = $e');
}
}
Журналы:

Код: Выделить всё

[NSExtension] Extension request contains input items but the extension point does not specify a set of allowed payload classes. The extension point's NSExtensionContext subclass must implement +_allowedItemPayloadClasses. This must return the set of allowed NSExtensionItem payload classes. In future, this request will fail with an error.
Я поискал решение в Google и столкнулся со следующей проблемой: ссылка на проблему. Однако я не смог понять, как это реализовать, поскольку проблема возникает внутри плагина. Можно ли как-то с этим справиться?

Подробнее здесь: https://stackoverflow.com/questions/785 ... ocial-medi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»