CodenameOne - 通过“文档”应用文件夹共享/导入文件

问题描述

我的 Android 应用也在为 iOS 开发。对于

我正在尝试完成一个简单的导入/导出功能。我的应用程序可以共享简单的 json 文件

目前只能与 CN1 中的图像共享。对我来说没什么用,不过我没测试过,一般都是把文件放在应用的收件箱里,需要根据用例来检查。

使用 sendMessage 方法发送电子邮件不起作用(它会阻止应用程序,无论是否有附件/收件人)

此外,我希望用户能够以愉快的方式进行操作。

所以我使用应用程序 Documents 目录作为导入/导出的文件夹。

注册自定义扩展名(不是“.json”)。

这里是在 CN1 构建系统中注入的一些 ios 构建提示

<key>UTExportedTypeDeclarations</key><array> <dict><key>UTTypeDescription</key><string>List of datatype</string><key>UTTypeConformsTo</key><array><string>public.json</string><string>public.database</string><string>public.data</string><string>public.text</string><string>public.content</string></array><key>UTTypeIdentifier</key><string>com.myapp.datatype</string><key>UTTypeTagSpecification</key><dict><key>public.filename-extension</key><array><string>ext</string></array><key>public.mime-type</key><array><string>application/json</string> </array> </dict> </dict> </array>

(上图:“ext”代表我自定义的扩展名,文件为json格式)

ios.UISupportsdocumentbrowser=true

ios.UIFileSharingEnabled=true

(在 iOS 上处理文件和媒体也有其他提示

我在 iOS 模拟器上测试了该应用程序,但在带有特定提示文件应用程序中未按预期看到 Documents 应用程序文件夹,并且带有扩展名的文件没有调用应用程序(在 start 方法中使用 AppArg)打开(AppArg 代码在 CN 模拟器中工作)。

也许最近的 iOS 版本有问题?事实上,我正在 iOS 14 上测试它,因为 Swift 版本还没有准备好,稍后会发布。

如何才能使此功能正常工作?

怎么了?可以做哪些测试/调试?

解决方法

似乎支持 UIFileSharingEnabled:https://developer.apple.com/documentation/bundleresources/information_property_list/uifilesharingenabled

但是大小写错误,应该是ios.fileSharingEnabled=true

据我所知,不支持 ios.UISupportsDocumentBrowser。你从哪里得到构建提示的?

对于不受支持的提示,您应该使用 ios.plistInject。我建议查看生成的 xcode 项目,看看它是否已进入 plist。