Anyone have problems with notch on ios 13.4.1 ( newest version ) . using Ionic webview or Wkwebview ???
My toolbar ends op in the ios statusbar - even on an new quasar app install.
Any solution?
This is fixed in in Quasar 10.1:
https://github.com/quasarframework/quasar/releases/tag/quasar-v1.10.0
You can quickly upgrade Quasar
https://quasar.dev/start/upgrade-guide
# run these commands inside
# of a Quasar v1 project
# check for upgradable packages
$ quasar upgrade
# do the actual upgrade
$ quasar upgrade --install
Related
I have an IONIC 5 / cordova project and I use InAppBrowser to open a link.
In the next code:
const browser = this.iab.create(url);
I get error "WARN: InAppBrowser is not installed or you are running on a browser. Falling back to window.open" on execution time in IOS device and IOS emulator.
I have tried all kinds of things that I have found on the internet:
First, I have done many test with #ionic-native/in-app-browser plugin, but I always get the same result:
Remove node_modules, www, platform/ios
Re-install(remove and install) in-app-browser libraries
Recompile in dev and prod mode.
Same error..
I have tried it again with the new plugin:
$ ionic cordova plugin add cordova-plugin-inappbrowser
$ npm install #awesome-cordova-plugins/in-app-browser
I change the code to get the new native plugin
$ ionic cordova platform add ios
BUILD DEVEL and PROD
$ ionic cordova build ios
$ ionic cordova build ios --prod
Same result.
I have verified that the cordova plugins are installed in the /Plugins folder of the XCode project.
I have a couple of things to comment on:
Now I use XCode 13, but In XCode 12 works fine. To upgrade the XCode I have upgrade MacOS from Catalina To Monterey.
The only difference between the two projects is that in XCode 13 "Legacy build system" is disabled since it's "deprecated".
I don't know if XCode doesn't import the libraries, I don't know if "Legacy Build System" is necessary. I know nothing... :-(
Can anybody help me?
Thanks.
I found the problem.
In my project I have an "Object.prototype" function that it produce a big problem to loop objects.
Referring InAppBrowser pluguin, in file inappbrowser.js:
callbacks = callbacks || {};
for (var callbackName in callbacks) {
iab.addEventListener(callbackName, callbacks[callbackName]);
}
Perhaps it could be improved with an Object.keys(callbacks), but I think that It was my problem.
Thanks.
I am using ionic 5 capacitor and i am trying to get phonegap-nfc plugin to work. It works fine on android but while building with xcode building fails.
Steps to reproduce with fresh project (selected Angular framework when it was asked):
ionic start myApp blank --capacitor
cd myApp
ionic build
ionic capacitor add ios
npx cap open ios
It opens in xcode and i can build and run project on simulator just fine. Then i install phonegap-nfc plugin:
npm install phonegap-nfc
npm install #ionic-native/nfc
ionic cap sync
When i try to build again i receive semantic issue with cordovaplugins. There are 5 errors in NfcPlugin.m file saying 'new' is unavailable with note saying 'init has been explicitly marked unavailable here. How to fix this issue?
Some version info of my system:
Xcode version: 12.5 (12E262)
macOS version: Big Sur 11.3
node version: 16.0.0 (also tried with 10.16.0)
npm version: 7.10.0
Screenshot of xcode errors
I will answer my own question as i happened to find solution. I dont what is broken in xcode 12.5, but uninstalling xcode 12.5 and installing xcode 11.7 i was able to build succesfully and scan NFC tags.
It has been a year since I first build the app, and of course my iPhone software has updated since then. With that I was informed that I needed to update Xcode in order to get the right platform to get a release version for my cordova app updates. Updating xcode required me to update the OS to Sierra on the mac. After that, I have been unable to remotebuild even my debug version, which I had been able to do before.
My constant issue right now is that when I build the app in remote build it keeps adding "ios": "4.0.1" to the platforms.json file, but the error I receive is that with xcode 8.3 I need 4.3.0 or greater.
I cannot figure out how to update this value. I have upgraded npm, node, everything that I can think of. Nothing changes the value, and I can't seem to find anyone else with my problem.
Any help or suggestions would be welcome.
First, open up project platforms folder and delete ios folder. Then update cordova on your development machine and Mac.
For Mac : $ sudo npm install -g cordova
For Windows: npm install -g cordova
Just check whether your files getting deployed to the Mac build folder path. If so, open up the project using XCode.
Then build your project using XCODE. Most probably there will be an error to choose the development team. Once you select the account or the team fom dropdown list you can deploy the app without any issues.
That worked for me. Hope this will help you too.
Another way: Navigate to platforms folder -> platforms.json. Check the IOS version. Change it to 4.3.0 and delete the ios folder and add IOS 4.3.0 via command prompt.
packages.json
{
"android": "5.1.1",
"ios": "4.3.0"
}
in cmd Run
cordova platform add ios#4.3.0
Well, be ready for many actions to be done but in the end it works. )
Update your XCode to 8.3.3 without worry.
Then be sure to update your remotebuild to the latest version that is currently 2.1.3 by running sudo npm i remotebuild -g on your Mac.
Get back to your development machine with Visual Studio and run some command line utility in administrator mode. Open you cordova folder from there.
Execute cordova platform rm ios to remove the current ios version under cordova. It's also advised to remove the android one by cordova platform rm android.
Update the version of CLI you use for builidng on Visual Studio. Currently it's 7.0.1. There were people that claimed that 6.5.0 also works but in my setup 7.0.1 works as well.
Get back to your command line and run cordova platform add ios#4.4.0, This is the minimal cordova ios that supports the cordova 7.0.1.
In case you removed android as well then run cordova platform add android#6.0.0. There are more progressive versions of cordova android but I found them not working.
Now get back to your Mac and remove the following folder ~/.taco-remote/node_modules.
In case you don't see this .taco-remote folder it's the hidden one so run in command line of your Mac com.apple.Finder AppleShowAllFiles true and then killall Finder to close all instances of Finder. Afterwards .taco-remote folder should be visible under your user folder ~/.
Now go back to Visual Studio and open Tools > Options > Tools for Apache Cordova and run Clear Cordova cache.
Now run your ios and it should succeed.
In case you run afterwards your android build and it fails on something like Android platform already added run the Clear cordova cache again and then your android build also should succeed.
From this point both ios and android builds should work.
Whooof. )
Good luck!
BTW, most of this solution came from this thread.
When I try to run
ionic platform add ios
it fails with following error:
Couldn't find ionic.config.json file. Are you in an Ionic project?
Yes, I'm in an ionic project, called todo.
What do I do to fix this?
FYI, here is ionic info output:
Cordova CLI: 6.3.1
Ionic Framework Version: 1.3.1
Ionic CLI Version: 2.0.0
Ionic App Lib Version: 2.0.0
ios-deploy version: 1.9.0
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v6.3.1
Xcode version: Xcode 7.3 Build version 7D175
Found a solution from this post in ionic forum.I'm just leaving the summary of the solutions if anyone needs it:
Solution 1:
Open a text editor.
Write following lines:
{
"name": "todo",
"app_id": ""
}
Note: app_idyour ionic cloud id. If you don't have one, leave it as is.
Save it as ionic.config.json in todo project directory.
Solution 2:
move to parent directory using cd ..
remove project directory using rm -r todo/. (caution: save your changes before removing).
create new project using ionic start todo blank command.
Restore your changes.
If the stated solutions don't work for you, uninstall and re-install ionic and Cordova/PhoneGap and try again.
I need to update my iOS app created with Cordova to last version but something is not clear:
cordova -v
returns: "4.2.0"
cordova platform list
returns: "Installed platforms: ios 3.7.0"
If i try to run:
cordova platform update ios
I get: "iOS project is now at version 3.7.0"
If i try to run:
cordova platform add ios#4.0
I get:
Error: No compatible version found: cordova-ios#'>=4.0.0-0 <4.1.0-0'
Valid install targets:
["3.5.0","3.6.0","3.6.1","3.6.3","3.7.0"]
so, what is the last platform available for iOS? 3.7.0?
Why Cordova gives instructions on how to update to 4.0.0 then? (Upgrading iOS)
Thank you!
Well, It looks a bit confusing but the version of the Cordova CLI does not necessarily follows the versions of the platforms.
As you can see here:
Cordova CLI last version is 4.3.0 => Cordova CLI
iOS Platform last version is 3.8.0 => Cordova iOS Platform
Android Platform last version is 3.7.1 => Cordova Android Platform
The issue is that there is now fragmentation in Cordova versions. 4.2.0 is the Cordova CLI version.
As the Valid Install Targets suggests, 3.7.0 is the latest iOS version of Cordova.