Xamarin IOS filepicker застрял - PullRequest
       25

Xamarin IOS filepicker застрял

0 голосов
/ 10 апреля 2019

Я использую xamarin.plugin.filepicker

отлично работает с андроидом. но с IOS (iPhone 6+) это не сработало.

как только он придет к этому коду:

var file = await CrossFilePicker.Current.PickFile();

зависло и не продолжается, приложение не зависает, работает нормально, но не получает никакого результата от "await CrossFilePicker.Current.PickFile ();".

Даже если я нажму «отменить» или выберу файл, ничто не отпустит код после этой строки:

var file = await CrossFilePicker.Current.PickFile();

Нет ошибок, вообще ничего.

Я использую последнюю стабильную версию плагина, затем я также попробовал "2.1.14-бета".

вопрос в том, почему код никогда не идет к оператору if (file! = Null)?

var file = await CrossFilePicker.Current.PickFile(); << Stop here

if (file != null) << Not come here ever

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Наконец, я исправляю проблему

Я использовал обратный вызов javascript для запуска события выбора файлов. Проблема была в HTML-коде, я использовал объект «a», как вы можете видеть:

<a href="#" 
        onclick="UploadImage();" 
        style="text-decoration:none;" data-ajax="false" data-role="none">
</a>

работает найти на андроиде, но застрял на IOS. Я заметил, что (href = "#") запускает событие "FormswebView_OnNavigationStarted", используя IOS. это вызывает два события одновременно, FormswebView_OnNavigationStarted + мой javascriptcallback (ShowUploadAppImagesAsync). вот почему он застрял там и не попал в следующую строку.

Как только я изменил объект "a" на объект "div", он работает нормально.

<div 
        onclick="UploadImage();" 
        style="text-decoration:none;" data-ajax="false" data-role="none">
</div>

надеюсь, это может кому-нибудь помочь

Благодаря «ТосТ» и «Джек Хуа - MSFT»

Привет

0 голосов
/ 10 апреля 2019

Я не могу написать комментарий ... Вы установили разрешения для IOS в Info.plist, чтобы получить доступ к Libary?

<key>NSCameraUsageDescription</key>
<string>This app needs access to the camera to take photos.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app needs access to photos.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app needs access to microphone.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app needs access to the photo gallery.</string>

Сообщение в блоге о правах доступа IOS

...