Я написал приложение, которое создает текстовый файл, который затем используется для заполнения документа. Все это отлично работает на Android и Windows - текстовый файл сохраняется в доступном месте и может быть прикреплен к электронному письму.
На iOS все иначе. Кажется, я могу сохранить (как мне кажется) файл в каталоге хранилища приложения, используя следующий код.
file1 = File.applicationStorageDirectory.resolvePath("data.txt");
var stream1:FileStream = new FileStream();
stream1.open(file1, FileMode.WRITE);
stream1.writeUTFBytes(string1+"\r\n"+string2);
stream1.close();
Я говорю, что я думаю, что это спасает, так как мое всплывающее окно сообщает мне, что файл сохранен, поэтому он, по крайней мере, работает через код. С другими ссылками на каталог кнопка ничего не делает.
Но я не могу найти способ затем перейти к этой папке, чтобы прикрепить ее к электронному письму. Я пробовал разные почтовые клиенты, разные файловые менеджеры, но ничего не работает. Я думал о сохранении в iCloud или Google Drive, но, похоже, в iOS11 нет возможности сделать это.
Я уверен, что не могу быть единственным человеком, пытающимся поделиться файлом текстовых данных, созданным приложением, через iOS, но я не могу найти никаких способов сделать это.
Любая помощь очень ценится.
Спасибо. Я просмотрел разрешения, но, в отличие от Android, нет разрешения на запись в локальное хранилище.
Можете ли вы обновить свой вопрос с помощью кода чтения, так как именно здесь возникает проблема.
Спасибо. Впоследствии я обнаружил, что в iOS обмен файлами между приложениями невозможен. Вроде заблокирована ОС.
Слишком быстро нажата клавиша ввода. Код чтения отсутствует. Идея состоит в том, что файл сохраняется в доступном месте, а затем прикрепляется к электронному письму. Я нашел сообщение ANE от Distriqt, и, похоже, оно сработает.





После долгих поисков я обнаружил Distriqt Message ANE, который делает именно то, что мне нужно.
iOS помещает приложения в песочницу, поэтому вы не можете напрямую получить доступ к файлам другого приложения.
Однако iOS (и Android) предоставляют механизмы для обмена данными. В iOS вы можете использовать контроллеры представлений Mail Composer, Activity и Document Interaction, а на Android - через определенные намерения.
Эти механизмы позволяют вам «отправлять» данные в другие приложения через взаимодействие с пользователем (как правило). Ваша роль будет заключаться в создании данных (изображение / текст / ссылки и т. д.) Для совместного использования и передачи их в ОС, чтобы спросить пользователя, как обрабатывать общий ресурс. С помощью этого механизма ваши данные могут быть доставлены в другое приложение.
Это устраняет необходимость в общедоступном доступе к данным, поскольку разрешение на доступ к данным удаляется, как только механизм завершает работу.
Разработанные нами (дистрибутивом) Сообщение ANE и Поделиться ANE позволяют разработчикам AIR получить доступ к этим механизмам.
У меня нет опыта работы с iOS, но это очень похоже на проблему с правами доступа. Не исключено, что в iOS место хранения приложения защищено и недоступно из других приложений без повышенных прав. Вам, вероятно, следует просканировать дерево папок устройства с помощью вашего приложения и сохранить его в каком-нибудь общем общем месте, таком как «Загрузить» или что-то в этом роде.