CodenameOne - Sharing/importing 文件通过 'Documents' 应用程序文件夹
CodenameOne - Sharing/importing files through the 'Documents' app folder
我的 Android 应用程序也在为 iOS 开发。对于 iOS 版本 <14,我使用的是跨平台工具,称为 CodenameOne。
当然,为了跨平台,它有局限性。
我正在尝试完成一个简单的 import/export 功能。我的应用程序可以共享简单的 json 个文件。
目前只能与 CN1 中的图像共享。对我用处不大,不过我没测试过,一般都是把文件放在app的收件箱里,得根据用例查。
使用 sendMessage 方法发送电子邮件不起作用(它会阻止应用程序,有或没有 attachments/recipients)
此外,我希望用户能够以愉快的方式进行操作。
所以我将应用程序文档目录用作 importing/exporting 的文件夹。
自定义扩展名也已注册(不是“.json”)。
这里有一些 ios 注入到 CN1 构建系统中的构建提示。
<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 模拟器上测试了该应用程序,但在文件应用程序中没有看到文档应用程序文件夹,如预期的那样具有特定提示,并且具有扩展名的文件没有调用该应用程序(使用 AppArg在启动方法中)打开时(AppArg 代码在 CN 模拟器中运行)。
也许 iOS 最近的版本有问题?事实上,我正在 iOS 14 上测试它,因为 Swift 版本尚未准备好,稍后将发布。
如何才能使此功能发挥作用?
怎么了? test/debug 可以做什么?
似乎支持 UIFileSharingEnabled:https://developer.apple.com/documentation/bundleresources/information_property_list/uifilesharingenabled
但是大小写错了,应该是ios.fileSharingEnabled=true
。
据我所知,不支持 ios.UISupportsDocumentBrowser
。您从哪里得到构建提示?
对于不受支持的提示,您应该使用 ios.plistInject
。我建议查看生成的 xcode 项目,看看它是否已进入 plist。
我的 Android 应用程序也在为 iOS 开发。对于 iOS 版本 <14,我使用的是跨平台工具,称为 CodenameOne。 当然,为了跨平台,它有局限性。
我正在尝试完成一个简单的 import/export 功能。我的应用程序可以共享简单的 json 个文件。
目前只能与 CN1 中的图像共享。对我用处不大,不过我没测试过,一般都是把文件放在app的收件箱里,得根据用例查。
使用 sendMessage 方法发送电子邮件不起作用(它会阻止应用程序,有或没有 attachments/recipients)
此外,我希望用户能够以愉快的方式进行操作。
所以我将应用程序文档目录用作 importing/exporting 的文件夹。
自定义扩展名也已注册(不是“.json”)。
这里有一些 ios 注入到 CN1 构建系统中的构建提示。
<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 模拟器上测试了该应用程序,但在文件应用程序中没有看到文档应用程序文件夹,如预期的那样具有特定提示,并且具有扩展名的文件没有调用该应用程序(使用 AppArg在启动方法中)打开时(AppArg 代码在 CN 模拟器中运行)。
也许 iOS 最近的版本有问题?事实上,我正在 iOS 14 上测试它,因为 Swift 版本尚未准备好,稍后将发布。
如何才能使此功能发挥作用?
怎么了? test/debug 可以做什么?
似乎支持 UIFileSharingEnabled:https://developer.apple.com/documentation/bundleresources/information_property_list/uifilesharingenabled
但是大小写错了,应该是ios.fileSharingEnabled=true
。
据我所知,不支持 ios.UISupportsDocumentBrowser
。您从哪里得到构建提示?
对于不受支持的提示,您应该使用 ios.plistInject
。我建议查看生成的 xcode 项目,看看它是否已进入 plist。