Updating plugins to newer versions solved this to me. You will need to actually remove existing ones and re-add them.
Here’s what I did:
Removed the plugins from the plugins folder.
I examined package.json and researched for latest and modified versions.
I also had to ensure that the were listed in the config.xml (latest version)
(Build it with) ionic cordova prepare ios.
Specifically for me I was using the xcode ios simulator and as I understand this may have to do with removing UIWebView calls and replacing them with WKWebView. UIWebView is now deprecated.
The question arise because currently I am trying to implement it on my Ionic App but somewhow the interface is broken. So I am wondering if it is because does not support Ionic or something else.
after downloaded android platform go to: Platforms --> android --> build.gradle then go to the bottom of the build.gradle page, and you will find something like this:
project.ext {
defaultBuildToolsVersion="28.0.3" //String
defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4
defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default
defaultCompileSdkVersion=28 //Integer - We ALWAYS compile with the latest by default
}
change the code:
project.ext {
defaultBuildToolsVersion="29" //String
defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4
defaultTargetSdkVersion=29 //Integer - We ALWAYS target the latest by default
defaultCompileSdkVersion=29 //Integer - We ALWAYS compile with the latest by default
}
Dear @vaa There is a way to get the ID since you get the instance of the first Menu.
With the Menu, when you go to execute any function (e.g. close()); you pass that specific id.
I wish I knew more about what “does some UI stuff” means, but here’s the fundamental design problem I see here:
I spoke earlier about bugs living in crevices. If responsibility is clearly isolated, then a) we know what has to be tested, b) if something goes wrong, we know where to look, and c) it’s harder to break existing functionality by extension.
Your situation is not too dissimilar to the one that soured me completely on Ionic Events, and, frankly, hardened my resolve about getting rid of imperative thinking in web apps.
I had a toolbar, like the kind you see in modern office suite software. It contained a refresh button. When you clicked on the refresh button, whatever the main content pane was was supposed to go get the most up-to-date version of whatever data it was displaying.
This eventually became completely unwieldy. Some pages didn’t really have anything to refresh, which meant we had this button that didn’t always work. There isn’t any way to test whether an unrelated page is responding to such calls for action at a distance, so new pages would get added and there would be an omission or mistake in wiring up the refresh functionality. Some pages were specifically designed to look at a logically-consistent snapshot of information coming from many different sources, that the page itself wasn’t even always aware of. There isn’t any possible way for the page to even know what’s refreshable, let alone try to refresh it.
Furthermore, one thing that both Apple and Google agree on when it comes to UI design is that sidebars are for navigation - users expect them to provide ways of changing what the main pane is, not drilling down into making the main pane do X or Y.
Ionic app was working perfectly well locally, when I deployed to firebase it keeps showing a white screen. I inspect the page and I found Uncaught NullInjectorError: StaticInjectorError(s)[s -> e]:
StaticInjectorError(Platform: core)[s -> e]:
NullInjectorError: No provider for e! on the console.
I agree on the Apple and Google standpoint. But, in my case I want to really need to modify the state of main view to make an important user action in the app readily accessible. The menu shows only for this view so your one panel, multiple view situation is not happening. However, maybe the menu should be moved into the MainView.html instead of being in app.components.html ?
I meanwhile reimplemented my own event handler for this last night
import { Injectable } from '@angular/core';
import { Subject, Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class EventsService {
static subject = new Subject<any>();
static sendMessage(text){
EventsService.subject.next(text);
}
static getMessage(): Observable<any>{
return EventsService.subject.asObservable();
}
}
I see a page with a plus sign FAB and one of several dots near the bottom. I have to scroll down to see a “NEXT” button that is partially obscured by the border of what appears to be a card.
I click the “NEXT” button. Nothing happens. I see an exception in the JavaScript console telling me that the swipeNext function that is attempting to be called by the click handler on the button refers to a method that does not exist.
If we agree that sidebar menus should be used for navigation, to determine which page is current, then I would look for someplace other than a sidebar menu to put this feature.
I don’t get the sense I’m going to convince you, here, though, and that’s OK.