找不到变量:IOS 上的 FileTransfer
Can't find variable: FileTransfer on IOS
我将 cordova 的 FileTransfer
插件与 ionic-native
包装器一起使用。该应用程序 运行 在 iPhone 模拟器中成功运行,但是当我 运行 我的移动设备中的应用程序时,我在控制台中收到错误消息:
ORIGINAL EXCEPTION: ReferenceError: Can't find variable: FileTransfer
有一些堆栈跟踪。
调查结果:
- 应用 运行 在 Android 台设备上没有任何问题
- 重置离子状态无效
- 在控制台 returns 中输入
FileTransfer
它的对象。所以,很明显已经初始化了
- 当从应用程序中删除对该插件的所有引用时,应用程序 运行 很好,即使还有其他插件(相机和日期选择器)。所以,只有
file-transfer
插件会产生问题。
- 大约十分之一的应用程序 运行 在设备中没有任何错误,但在重新启动应用程序后崩溃。
使用的插件
cordova-plugin-camera
cordova-plugin-datepicker
cordova-plugin-file-transfer
cordova-plugin-whitelist
规格:
- 模拟器iPhone6/iOS9.3
- 设备 iPhone6/iOS 9.3.1 & iPhone4S/iOS 9.3.5
- Cordova CLI:6.2.0
- Gulp 版本:CLI 版本 3.9.1
- Gulp本地:本地版本3.9.1
- 离子框架版本:2.0.0-beta.10
- Ionic CLI 版本:2.0.0
- Ionic 应用程序库版本:2.0.0-beta.20
- ios-部署版本:1.8.6
- ios-sim 版本:5.0.8
- OS: Mac OS X 埃尔卡皮坦
- 节点版本:v4.4.5
- Xcode 版本:Xcode 7.3.1 构建版本 7D1014
代码:
import {Injectable} from '@angular/core';
import {Transfer} from 'ionic-native';
@Injectable()
export class MyClass {
fileTransfer = new Transfer();
constructor(){
}
public upload (url: string, image: string, onProgress: any, opt?: any){
let options = {
fileKey: "file",
mimeType: "image/png",
chunkedMode: false
}
this.fileTransfer.onProgress(onProgress);
return this.fileTransfer.upload(image, this.baseUrl + url, options);
}
}
卸载所有插件和 运行 ionic run ios
命令修复了这个问题。由于 ionic state reset
也做同样的事情,这可能是 CLI 的问题。
我将 cordova 的 FileTransfer
插件与 ionic-native
包装器一起使用。该应用程序 运行 在 iPhone 模拟器中成功运行,但是当我 运行 我的移动设备中的应用程序时,我在控制台中收到错误消息:
ORIGINAL EXCEPTION: ReferenceError: Can't find variable: FileTransfer
有一些堆栈跟踪。
调查结果:
- 应用 运行 在 Android 台设备上没有任何问题
- 重置离子状态无效
- 在控制台 returns 中输入
FileTransfer
它的对象。所以,很明显已经初始化了 - 当从应用程序中删除对该插件的所有引用时,应用程序 运行 很好,即使还有其他插件(相机和日期选择器)。所以,只有
file-transfer
插件会产生问题。 - 大约十分之一的应用程序 运行 在设备中没有任何错误,但在重新启动应用程序后崩溃。
使用的插件
cordova-plugin-camera
cordova-plugin-datepicker
cordova-plugin-file-transfer
cordova-plugin-whitelist
规格:
- 模拟器iPhone6/iOS9.3
- 设备 iPhone6/iOS 9.3.1 & iPhone4S/iOS 9.3.5
- Cordova CLI:6.2.0
- Gulp 版本:CLI 版本 3.9.1
- Gulp本地:本地版本3.9.1
- 离子框架版本:2.0.0-beta.10
- Ionic CLI 版本:2.0.0
- Ionic 应用程序库版本:2.0.0-beta.20
- ios-部署版本:1.8.6
- ios-sim 版本:5.0.8
- OS: Mac OS X 埃尔卡皮坦
- 节点版本:v4.4.5
- Xcode 版本:Xcode 7.3.1 构建版本 7D1014
代码:
import {Injectable} from '@angular/core';
import {Transfer} from 'ionic-native';
@Injectable()
export class MyClass {
fileTransfer = new Transfer();
constructor(){
}
public upload (url: string, image: string, onProgress: any, opt?: any){
let options = {
fileKey: "file",
mimeType: "image/png",
chunkedMode: false
}
this.fileTransfer.onProgress(onProgress);
return this.fileTransfer.upload(image, this.baseUrl + url, options);
}
}
卸载所有插件和 运行 ionic run ios
命令修复了这个问题。由于 ionic state reset
也做同样的事情,这可能是 CLI 的问题。