在 cordova 和 Ionic 中处理文件 - 兼容性 iOS、Android
Work with files in cordova and Ionic - compatibility iOS, Android
对于这个问题,我创建了 compatibility test project on GitHub。
初始状态仅设置为 Ionic View 应用程序。
Ionic 浏览器
ionic serve
如图所示显示输出 ionicBrowser.png.
但是如果我取消注释 www\js\index.js
第 32 和 33 行,那么
- fileSystemRequest (webkitRequestFileSystem) 没问题,
- fileEntry 没问题,
- 写入和读取文件同样有效。
离子应用程序
对于命令 ionic upload
,Android 设备上的输出如图 ionicView-android.png.
iOS 显示如图所示的视图输出 ionicView-ios.png.
由 Ionic 构建的本机应用程序
命令 ionic package build android
仅在 设备就绪 事件时让我在 Android 上输出。原因是我没有将 cordova-plugin-file 添加到 package.json
...,
"ionic-plugin-keyboard",
"cordova-plugin-file"],
"cordovaPlatforms": []
}
修正后得到输出nativeAndroid.png
一般来说,我只能在 Android 设备(离子视图或本机应用程序)上处理文件。
我无法以任何可能的方式处理 iOS 上的文件,这是我的问题。我需要处理 iOS 设备上的文件。我曾以为 Cordova 和 Ionic 会创建共同的环境,但这并没有发生。
我是不是有什么问题?
更新 1
我已尝试通过命令 ionic run android
.
在 Windows 下将应用程序构建为 Android 的本机包
对于此测试,我使用了 Android 设备以及 Android 4.2.9 和 Android 模拟器。
别忘了 ionic plugin add cordova-plugin-file
。
别忘了 ionic platform add android
。
我的观点与 nativeAndroid.png.
相同
更新 2
这个任务我用过 Mac mini OS X El Capitan (10.11.5).
我在编辑文本文件时遇到问题,所以我已经在 Windows 上准备好所有内容并将项目移至 Mac。
我曾使用离子视图 (ionic upload
) 和 ionic package build android
以及
我有相同的观点 (nativeAndroid.png, ionicView-android.png).
我已经尝试在 OS X 中构建 iOS 的原生应用程序 ... 通过命令 ionic run ios
.
对于此测试,我使用了 iOS 模拟器。
别忘了 ionic plugin add cordova-plugin-file
。
别忘了 ionic platform add ios
。
我的观点与 nativeAndroid.png.
相同
一切正常,宇宙得救。
结果
我还需要在 iOS 设备上测试离子视图(运行 离子上传到 OS X ...)。
可能使用 ionic 和 cordova 的开发是面向平台的。如果我想部署 iOS 应用程序,需要 Apple 机器(OS X 上的 Android 没问题 - 见上文 - 我的意思是 ionic package build android
)。
对于这个问题,我创建了 compatibility test project on GitHub。
初始状态仅设置为 Ionic View 应用程序。
Ionic 浏览器
ionic serve
如图所示显示输出 ionicBrowser.png.
但是如果我取消注释 www\js\index.js
第 32 和 33 行,那么
- fileSystemRequest (webkitRequestFileSystem) 没问题,
- fileEntry 没问题,
- 写入和读取文件同样有效。
离子应用程序
对于命令 ionic upload
,Android 设备上的输出如图 ionicView-android.png.
iOS 显示如图所示的视图输出 ionicView-ios.png.
由 Ionic 构建的本机应用程序
命令 ionic package build android
仅在 设备就绪 事件时让我在 Android 上输出。原因是我没有将 cordova-plugin-file 添加到 package.json
...,
"ionic-plugin-keyboard",
"cordova-plugin-file"],
"cordovaPlatforms": []
}
修正后得到输出nativeAndroid.png
一般来说,我只能在 Android 设备(离子视图或本机应用程序)上处理文件。
我无法以任何可能的方式处理 iOS 上的文件,这是我的问题。我需要处理 iOS 设备上的文件。我曾以为 Cordova 和 Ionic 会创建共同的环境,但这并没有发生。
我是不是有什么问题?
更新 1
我已尝试通过命令 ionic run android
.
对于此测试,我使用了 Android 设备以及 Android 4.2.9 和 Android 模拟器。
别忘了 ionic plugin add cordova-plugin-file
。
别忘了 ionic platform add android
。
我的观点与 nativeAndroid.png.
相同更新 2
这个任务我用过 Mac mini OS X El Capitan (10.11.5).
我在编辑文本文件时遇到问题,所以我已经在 Windows 上准备好所有内容并将项目移至 Mac。
我曾使用离子视图 (ionic upload
) 和 ionic package build android
以及
我有相同的观点 (nativeAndroid.png, ionicView-android.png).
我已经尝试在 OS X 中构建 iOS 的原生应用程序 ... 通过命令 ionic run ios
.
对于此测试,我使用了 iOS 模拟器。
别忘了 ionic plugin add cordova-plugin-file
。
别忘了 ionic platform add ios
。
我的观点与 nativeAndroid.png.
相同一切正常,宇宙得救。
结果
我还需要在 iOS 设备上测试离子视图(运行 离子上传到 OS X ...)。
可能使用 ionic 和 cordova 的开发是面向平台的。如果我想部署 iOS 应用程序,需要 Apple 机器(OS X 上的 Android 没问题 - 见上文 - 我的意思是 ionic package build android
)。