我在一个离子项目中遇到一个问题,该问题昨天开始发生而没有修改任何依赖项。
运行时ionic cordova run android出现此错误:
The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[16.5.0,16.5.0], [16.4.0,16.4.0]], but resolves to 16.5.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.
Run Code Online (Sandbox Code Playgroud)
但是这些天我没有安装任何依赖项。
这是我的cordova plugins清单:
cordova-fabric-plugin 1.1.14-dev "cordova-fabric-plugin"
cordova-plugin-advanced-http 2.0.9 "Advanced HTTP plugin"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-appminimize 1.0.1 "AppMinimize"
cordova-plugin-apprate 1.4.0 "AppRate"
cordova-plugin-appsee 2.6.0 "Appsee"
cordova-plugin-badge 0.8.8 "Badge"
cordova-plugin-datepicker 0.9.3 "DatePicker"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-dialogs 2.0.1 "Notification"
cordova-plugin-facebook4 3.2.0 "Facebook Connect"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-firebase …Run Code Online (Sandbox Code Playgroud) android android-gradle-plugin ionic-framework ionic-native ionic3
离子5被公布在几个小时前(2020年2月12日),我用角9一起升级了我的小生产应用中的一个离子5:
# To update to Ionic 5
npm install @ionic/angular@latest @ionic/angular-toolkit@latest --save-exact --save
# To update to Angular 9
ng update @angular/core @angular/cli
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时ionic serve,我开始收到以下错误:
Error: Angular JIT compilation failed: '@angular/compiler' not loaded!
- JIT compilation is discouraged for production use-cases! Consider AOT mode instead.
- Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?
- Alternatively provide the compiler with 'import "@angular/compiler";' before bootstrapping.
at getCompilerFacade (core.js:610)
at Function.get (core.js:16065)
at getInjectableDef (core.js:362)
at injectableDefOrInjectorDefFactory (core.js:16816)
Run Code Online (Sandbox Code Playgroud)
我遇到了一些 …
当我使用命令时:ionic cordova build android这是我得到的:
cp:copyFileSync:无法写入dest文件(代码= ENOENT):/ Users/mehdigriche/work/cam1/test/platforms/android/res/xml/config.xml
解析/Users/mehdigriche/work/cam1/test/platforms/android/res/xml/config.xml失败(节点:2306)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):错误:ENOENT:没有这样的文件或目录,打开'/Users/mehdigriche/work/cam1/test/platforms/android/res/xml/config.xml'
[10:50:14]皮特说完了
如果我做 离子生成组件xxx
发生未处理的异常:找不到模块“@schematics/angular/utility/project”需要堆栈:
/Users/user/develop/myapp/node_modules/@ionic/angular-toolkit/schematics/component/index.js
/Users/user/develop/myapp/node_modules/@angular-devkit/schematics/tools/export-ref.js
/Users/user/develop/myapp/node_modules/@angular-devkit/schematics/tools/index.js
/Users/user/develop/myapp/node_modules/@angular/cli/utilities/json-schema.js
/Users/user/develop/myapp/node_modules/@angular/cli/models/command-runner.js
/Users/user/develop/myapp/node_modules/@angular/cli/lib/cli/index.js
/Users/user/develop/myapp/node_modules/@angular/cli/lib/init.js
/Users/user/develop/myapp/node_modules/@angular/cli/bin/ng
离子:
Ionic CLI : 6.10.1 (/usr/local/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/angular 5.2.3
@angular-devkit/build-angular : 0.1000.2
@angular-devkit/schematics : 10.0.2
@angular/cli : 10.0.2
@ionic/angular-toolkit : 2.2.0
Run Code Online (Sandbox Code Playgroud)
电容器:
Capacitor CLI : 2.1.2
@capacitor/core : 2.1.2
Run Code Online (Sandbox Code Playgroud)
科尔多瓦:
Cordova CLI : 9.0.0 (cordova-lib@9.0.1)
Cordova Platforms : android 8.1.0
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.2.1, (and 7 other plugins)
Run Code Online (Sandbox Code Playgroud)
公用事业:
cordova-res : not installed
native-run : not installed
Run Code Online (Sandbox Code Playgroud)
系统:
ios-sim : 8.0.2
NodeJS : v12.18.1 …Run Code Online (Sandbox Code Playgroud)是否有可能在元素内部而不是在整个页面上实现Ionic的拉动(也称为"Refresher")?
在设计页面中具有较小可滚动部分的应用程序时,这将非常有用.使用当前行为,整个页面被拉下而不仅仅是可滚动元素.
大家早上好,我已经几个小时没能找到解决方案了。
我使用“PushNotifications”电容器插件(https://capacitor.ionicframework.com/docs/apis/push-notifications/)来收听来自firebase的推送通知(通知和数据类型),监听通知发生得非常好,即使在应用程序被杀死或在后台的情况下,一切都按预期运行。
问题如下:
我想在收到通知时打开该应用程序,如果它在后台或已被杀死。
在应用程序处于前台时收到通知的情况下,我可以使用自定义代码运行,
addListener(eventName: "pushNotificationReceived", callback)
并且在任何情况下我都没有问题,因为应用程序是打开的。
如果应用程序在后台时收到通知,我可以强制应用程序保持 backgroundMode 处于活动状态(https://ionicframework.com/docs/native/background-mode)并在收到通知后将应用程序带到前台通知。(虽然我不是很喜欢它,因为它很耗电)
在 app被杀的情况下,我还没有找到问题的解决方案。
似乎没有办法挂钩自定义代码,以便在后台收到推送通知或应用程序被杀死时能够在推送通知到达时运行,您是否遇到过这个问题?
谢谢!
我有一个场景,我使用离子将我的本地驱动器(键入jpeg或png)上的图像文件上传到API端点.这是我的代码如下:
fileupload.html - >
//---------------------------------------------------
<ion-item>
<ion-input type="file" accept="image/*" (change)="changeListener($event)"> </ion-input>
</ion-item>
Run Code Online (Sandbox Code Playgroud)
fileupload.ts - >
changeListener($event):void{
this.file=$event.target.files[0];
console.log(this.file);
console.log("upload...");
let regData={"file":this.file};
console.log("REGDATAA"+JSON.stringify(regData));
this.jira.postAttachment("PM-3",regData).subscribe(dataa=>{
console.log(dataa);
});
}
Run Code Online (Sandbox Code Playgroud)
provider.ts - >
public postAttachment(key,data):Observable<any>{
console.log(JSON.stringify(data))
return this.http.post(this.api+'/issue/'+key+'/attachments',JSON.stringify(data),{
headers: new HttpHeaders()
.append('Authorization', `Basic ${this.auth.getAuthString()}`)
.append('Content-Type','multipart/form-data';boundary="-------xe3rtyhrfds")
.append("X-Atlassian-Token", "no-check")
.append("User-Agent", "xx")
});
}
Run Code Online (Sandbox Code Playgroud)
每次我发送文件时它都没有采用路径并发送一个空响应,这是下面的错误.
//----------------------------------------------------
[object File]: {lastModifiedDate: [date] Fri Sep 21 2018 17:42:46 GMT+0530 (India Standard Time), name: "download.jpg", size: 5056, type: "image/jpeg", webkitRelativePath: ""}
upload...
ion-dev.js (157,11)
REGDATAA{"file":{}}
ion-dev.js (157,11)
{"file":{}}
ion-dev.js (157,11)
ERROR …Run Code Online (Sandbox Code Playgroud) jira-rest-api ionic-framework ionic-view ionic-native ionic3
我需要将状态栏文本颜色更改为黑色(或黑色).但是Cordova插件不支持.但我已经看到Android本机设备上有一个方法,如下所示.我们可以在Ionic 3上做同样的事情.应用程序呢?
<style name="statusBarStyle" parent="@android:style/Theme.DeviceDefault.Light">
<item name="android:statusBarColor">@color/status_bar_color</item>
<item name="android:windowLightStatusBar">false</item>
</style>
Run Code Online (Sandbox Code Playgroud) 我在Android上开发了一款Ionic 2应用程序,现在正尝试将其用于iOS.
该应用程序在初始登录时下载了大量文件,我使用Ionic-Native Transfer插件.在Android上一切正常,但在iOS上,应用程序似乎停留在fileTransfer.download()函数的承诺中,它甚至不会抛出错误.
示例代码:
private downloadFile(downloadURL: string, filename: string) {
return new Promise((resolve, reject) => {
this.fileTransfer.download(downloadURL, this.file.dataDirectory + filename, true).then(_ => {
console.log("download of " + filename + " complete");
resolve("download finished");
}).catch(err => {
console.log(err);
reject("download error");
});
});
}
Run Code Online (Sandbox Code Playgroud)
我也尝试使用this.file.documentsDirectory代替iOS,但我仍然没有得到任何错误或成功输出.
downloadURL来自firebaseStorage链接,但我也使用通常的下载URL进行了测试.
我认为它确实与权限有关,但还没有找到解决方案.另一个假设是,iOS上的多个线程存在限制,大约有30-100个承诺存在.
但奇怪的是缺少错误消息,它只是卡住而不是单个下载完成.
任何帮助表示赞赏!
编辑:
我还没有弄清楚问题的原因,但与此同时,Ionic发布了一个新版本的Transfer Plugin,现在在官方文档中称为FileTransfer.一旦我更改了我的代码以使用新的FileTransfer插件,问题就消失了.
我希望这有助于其他遇到同样问题的人.
我在Angular 5.2上有一个Ionic 3应用程序.我正在尝试更新到角度6.我按照升级指南已经为HttpClient和NgModule.我现在遇到的问题是ionic-native.
我安装了ionic-native使用rxjsv6的V5 (angular6要求并且与以前的版本不兼容).
这是我的app.module.ts档案
import { Device } from '@ionic-native/device/ngx';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular'
import { BrowserModule } from '@angular/platform-browser'
import { HttpClientModule } from '@angular/common/http'
@NgModule({
declarations: [
MyApp,
],
imports: [
BrowserModule,
HttpClientModule,
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot(),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp
],
providers: [
Device
]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
我收到了多个错误
找不到名字'设备'
'{declarations:(typeof MyApp)[];类型的参数; import :( ModuleWithProviders | …
ionic-native ×10
ionic3 ×6
angular ×5
android ×3
ionic2 ×3
cordova ×2
capacitor ×1
ionic-view ×1
ionic4 ×1
ios ×1
javascript ×1
typescript ×1