Quantcast
Channel: Ionic Forum - Latest topics
Viewing all 71000 articles
Browse latest View live

Capacitor 6 Issues with capacitor-firebase/authentication on IOS

$
0
0

Hi everyone,

I’m developing an Ionic app with the following versions:

  • Ionic: 8.x
  • Angular: ^18.x
  • @capacitor-firebase/authentication: ^6.3.1
  • Capacitor: 6.x

I’m trying to implement Firebase Authentication (phone method) on iOS. I’ve followed the setup suggested in the official @capacitor-firebase/authentication documentation, including:

  1. Adding the GoogleService-Info.plist file to the Xcode project.
  2. Configuring the plugin in capacitor.config.ts:
{
  "plugins": {
    "CapacitorFirebaseAuthentication": {
      "skipNativeAuth": false
    }
  }
}
  1. Synchronizing the project with:
npx cap sync

However, when I try to perform an authentication operation (e.g., sign in with the phone method), I encounter the following error in the console when running the app on iOS:

CapacitorFirebaseAuthentication.RuntimeError: 0x301552840

I have checked the following:

  • The reCAPTCHA configuration in the Firebase console.
  • That the GoogleService-Info.plist file is in the correct location and added to the Xcode project.
  • The APNs Key setup in Firebase for notifications.

Questions:

  1. What does the error code 0x301552840 mean in the context of iOS?
  2. Are there any additional steps for configuring Firebase or Xcode that I might be missing?
  3. Could this error be related to the reCAPTCHA setup or to the versions of the libraries I’m using?

Any guidance or suggestions would be greatly appreciated. If you need more details, such as additional configurations or Xcode logs, I can provide them.

Some guidance on the subject would be very helpful because I have little experience and I’ve been dealing with this problem for almost a month and I can’t find how to solve it.

Many Thanks!

1 post - 1 participant

Read full topic


Darshan Hiranandani : Can I Use Ionic Without Its UI Components?

$
0
0

Hi everyone,

I’m Darshan Hiranandani, working on a project with Ionic, but I’m not using any of its UI components. I know it might sound like an odd question, but will Ionic still work properly for building mobile apps (and web apps) if I don’t use the provided UI components?

I want to stick with Ionic, but I’m considering switching my UI components if needed. I’d love to hear your thoughts on whether this approach will work or if there are any potential issues to be aware of.

Thanks in advance for your insights!
Regards
Darshan Hiranandani

2 posts - 2 participants

Read full topic

Ionic refresher does not get disabled

$
0
0

i’m using ion-refresher, to refresh the data which works completely fine, now what i want to do is to disable the refresher for some time to cool it down after refresh but it does not get disabled and i’m still able to pull refresh ,although i can see the updated value of disabled in DOM.

ionic version : 7
angular version: 17
below is my code

 <ion-refresher
      slot="fixed"
      (ionRefresh)="doRefresh($event)"
      [disbaled]="isRefresherDisabled"
    >
      <ion-refresher-content
        pullingIcon="refresh-outline"
        pullingText="Pull to refresh"
        refreshingSpinner="bubbles"
      >
      </ion-refresher-content>
    </ion-refresher>

  async doRefresh(event: any) {
    await this.setEnableDates(true);
    await this.scheduleCache.initDatasource();
    if (event) await event.target.complete();
    this.disableRefresherForCooldown();
  }

  disableRefresherForCooldown() {
    this.isRefresherDisabled = true; // Disable the refresher
    // Re-enable the refresher after 20 seconds
    setTimeout(() => {
      this.isRefresherDisabled = false;
    }, 20000); // Cooldown duration: 20 seconds
  }

2 posts - 2 participants

Read full topic

How to implement `getProgress` method in `IonicRefresher` component

$
0
0

Hey guys! I’m trying to implement custom refresher content and I need to get the pull progress when user pulling down the page. I saw this method from the docs: ion-refresher: Pull-to-Refresh Page Content on Ionic Apps but I don’t know where I can access the method and implement it.

Is anyone here can help or give me an example for ionic react 8.4.* please? :pray:

2 posts - 2 participants

Read full topic

removeDeliveredNotifications crashes app on Android

$
0
0

Hello,

When I immediately remove a received push notification on Android (not on iOS), it crashes the app. If I first retrieve all of them with getDeliveredNotifications, it doesn’t crash. It also seems like they both give a different PushNotificationSchema.

static async _on_received(schema: PushNotificationSchema)
{
        PushNotifications.removeDeliveredNotifications({notifications: [schema]}); // Crash.
}

Is there a reason for this behavior?

1 post - 1 participant

Read full topic

Prevent iOS push notification from showing up

$
0
0

Hello,

I’m building a chat. When a user receives a message, they’re supposed to get a push notification unless they’re in the chat already. With Android I can block the message by removing it with removeDeliveredNotifications as soon as I receive it from pushNotificationReceived, but with iOS this doesn’t work.

Is there a way to block the push notification on iOS?

Thanks!

1 post - 1 participant

Read full topic

Sticky Date Headers with Virtual Scroll in Ionic + Angular

Handling Virtual Scroll with Nested Data in Ionic/Angular

$
0
0

Hello everyone,

I’m developing an application using Ionic/Angular, and I need to create an agenda-like view to display information about a work team. The idea is to group and display a large number of events organized by date.

Initially, I was using virtual scroll with a flat array of events, and it worked fine. However, due to new requirements, I now need to group the events by date, which has changed the structure to a nested array (an array of dates containing events).

The main challenge is that I need to maintain virtual scroll while also adding a fixed top toolbar that dynamically displays the date of the currently visible section as the user scrolls.

My questions are:

  1. How can I implement virtual scroll with a nested array in this scenario?
  2. What would be the best approach to ensure good performance with a large number of events while also handling the fixed toolbar with the visible date?

I apologize if there are any mistakes in my message, as English is not my first language. Thank you in advance for any advice, examples, or resources you can share!

1 post - 1 participant

Read full topic


Emmanuel Katto : Issue with Back Button Missing in About Page Using Vue Router: Need Help

$
0
0

Hello Everyone,

I’m Emmanuel Katto, currently working on a Vue project with Vue Router and I’ve encountered an issue. I have a button in the menu and another button in the main page content, both of which navigate to the About page. However, the back button is missing on the About page when I navigate using the menu button.

Interestingly, if I comment out the menu button and use the main page button to navigate, the back button appears on the About page as expected.

Has anyone faced a similar issue, or can anyone suggest how to fix this? What could be causing the back button to disappear when navigating through the menu button?

Any insights or suggestions would be greatly appreciated!

Thanks in advance!
Regards
Emmanuel Katto

2 posts - 2 participants

Read full topic

Ng serve not recompiling on browser

$
0
0

I am facing an issue. I just upgraded my ionic angular to 7.2 and I created a project with standalone components and I ran ionic serve. Then I tried to change something within a template and the change is just not appearing in the browser. I have to run ionic serve again for the browser to react. It’s a just created project, I haven’t change nothing.

There was a while since I made a Ionic project, so maybe I missed something like a --watch option or something like that (I have tried that one), but nothing happens.

Here is my ionic info

Ionic:

 Ionic CLI                     : 7.2.0 (/Users/raulgarafulic/.npm-global/lib/node_modules/@ionic/cli)
 Ionic Framework               : @ionic/angular 8.4.1
 @angular-devkit/build-angular : 19.1.1
 @angular-devkit/schematics    : 19.1.1
 @angular/cli                  : 19.1.1
 @ionic/angular-toolkit        : 12.1.1

Capacitor:

 Capacitor CLI      : 6.2.0
 @capacitor/android : not installed
 @capacitor/core    : 6.2.0
 @capacitor/ios     : not installed

Utility:

 cordova-res : not installed globally
 native-run  : 2.0.1

System:

 NodeJS : v20.12.2 (/usr/local/bin/node)
 npm    : 10.9.1
 OS     : macOS Unknown

2 posts - 1 participant

Read full topic

Ionic visual editor

$
0
0

We are developing applications using the Ionic framework and leveraging Appery for this purpose. We discovered that there was previously a platform called Ionic X Studio. Could you explain why this project was discontinued? Additionally, are there any plans to create something similar to Appery?

5 posts - 2 participants

Read full topic

Button labels disappearing on iOS device

$
0
0

I have a weird issue which would appear to be a bug to me - anyone got any idea what might be happening? This is an Ionic 8.4.1 / Capacitor 6.0.0 / Angular 18.2 app. The issue only occurs on the device - it works fine in a web browser. I have a page with three toolbars at the top. The first two are always displayed. The third is only displayed when the user clicks the Edit button in my second toolbar. When this click occurs the third toolbar appears BUT (bizarrely) when this happens the two button labels on toolbar two disappear leaving just the button icons.

<ion-toolbar>
   Top Toolbar
</ion-toolbar>


<ion-toolbar color="light">
    <ion-buttons slot="start">
        <ion-button size = "small" (click)="filterButtonClicked($event)"><ion-icon slot="start" name="filter-outline"></ion-icon>Options</ion-button>
    </ion-buttons>
    <ion-buttons slot="end">
        <ion-button size = "small"  (click)="editButtonClicked()">
            <ion-icon slot="start" [name]="editMode === true ? 'checkmark-done-outline' : 'create-outline'"></ion-icon>
            {{ editMode === true ? 'Done' : 'Edit' }} </ion-button>
    </ion-buttons>
</ion-toolbar>


<ion-toolbar *ngIf="editMode === true" color="light">
   Bottom Toolbar
</ion-toolbar>

1 post - 1 participant

Read full topic

Capacitor Camera : No Camera Found

$
0
0

My app should allow users to upload pictures from gallery. However, if I try to take a picture while another app is using the camera (like MS Teams), the app throws a No Camera Found message and .

so, is there a way to detect if another app is using the camera for an ionic app?

1 post - 1 participant

Read full topic

Index page shows properly at chrome browser from “ionic serve” but show “webpage not found” from "ionic cordova run android --device"

$
0
0

While I try to run the app into emulator. net::ERR_HTTP_RESPONSE_CODE_FAILURE exist.

ionic cordova run android --emulator --target=Pixel_2_API_34

ionic info:

Ionic:

   Ionic CLI                     : 7.2.0 (/home/user/npm-global/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 8.4.1
   @angular-devkit/build-angular : 18.2.12
   @angular-devkit/schematics    : 18.2.12
   @angular/cli                  : 18.2.12
   @ionic/angular-toolkit        : 12.1.1

Cordova:

   Cordova CLI       : 12.0.0 (cordova-lib@12.0.2)
   Cordova Platforms : android 13.0.0
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, (and 15 other plugins)

Utility:

   cordova-res : 0.15.4
   native-run  : 2.0.1

System:

   Android SDK Tools : 26.1.1 (/home/user/Android/Sdk)
   NodeJS            : v22.12.0 (/usr/local/bin/node)
   npm               : 10.9.0
   OS                : Linux 5.15

ionic cordova requirements android:

Requirements check results for android:
Java JDK: installed 21.0.5
Android SDK: installed true
Android target: not installed 
Command failed with exit code 1: avdmanager list target
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
        at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
        at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
        at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
        at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:213)
        at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
        ... 5 more
Gradle: installed /opt/gradle/gradle-8.7/bin/gradle
Some of requirements check failed

gradle -v:

------------------------------------------------------------
Gradle 8.7
------------------------------------------------------------

Build time:   2024-03-22 15:52:46 UTC
Revision:     650af14d7653aa949fce5e886e685efc9cf97c10

Kotlin:       1.9.22
Groovy:       3.0.17
Ant:          Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM:          21.0.5 (Ubuntu 21.0.5+11-Ubuntu-1ubuntu120.04)
OS:           Linux 5.15.0-127-generic amd64

package.json

{
  "name": "beauty_bell",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "^18.2.13",
    "@angular/core": "^18.2.13",
    "@angular/forms": "~18",
    "@angular/platform-browser": "~18",
    "@angular/platform-browser-dynamic": "~18",
    "@angular/router": "^18.2.13",
    "@awesome-cordova-plugins/android-permissions": "^6.13.0",
    "@awesome-cordova-plugins/camera": "^6.13.0",
    "@awesome-cordova-plugins/core": "^6.13.0",
    "@awesome-cordova-plugins/file": "^6.13.0",
    "@awesome-cordova-plugins/geolocation": "^6.13.0",
    "@awesome-cordova-plugins/http": "^6.13.0",
    "@awesome-cordova-plugins/in-app-browser": "^6.13.0",
    "@awesome-cordova-plugins/native-geocoder": "^6.13.0",
    "@awesome-cordova-plugins/network": "^6.13.0",
    "@awesome-cordova-plugins/onesignal": "^6.13.0",
    "@awesome-cordova-plugins/photo-library": "^6.14.0",
    "@awesome-cordova-plugins/splash-screen": "^6.13.0",
    "@awesome-cordova-plugins/status-bar": "^6.13.0",
    "@awesome-cordova-plugins/stripe": "^6.13.0",
    "@ionic/angular": "^8.4.1",
    "@ionic/cordova-builders": "^12.1.2",
    "@ngx-translate/core": "^16.0.4",
    "@ngx-translate/http-loader": "^16.0.1",
    "card.io.cordova.mobilesdk": "^2.1.0",
    "cordova-android": "13.0.0",
    "cordova-plugin-add-swift-support": "^2.0.2",
    "cordova-plugin-advanced-http": "^3.2.0",
    "cordova-plugin-android-permissions": "^1.1.2",
    "cordova-plugin-file": "^6.0.1",
    "cordova-plugin-geolocation": "^4.0.2",
    "cordova-plugin-nativegeocoder": "^3.4.1",
    "cordova-plugin-photo-library": "^2.3.1",
    "cordova-plugin-splashscreen": "6.0.0",
    "cordova-plugin-statusbar": "2.4.3",
    "cordova-plugin-stripe": "^1.5.3",
    "core-js": "^2.5.4",
    "moment": "^2.29.1",
    "ngx-filter-pipe": "^3.0.1",
    "ngx-search-filter": "^18.0.0",
    "rxjs": "^7.8.1",
    "time-ago-pipe": "^1.3.2",
    "tslib": "^2.0.0",
    "zone.js": "~0.14.10"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~18",
    "@angular/cli": "~18",
    "@angular/compiler": "~18",
    "@angular/compiler-cli": "~18",
    "@angular/language-service": "~18",
    "@ionic/angular-toolkit": "~12",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^22.10.2",
    "codelyzer": "^6.0.2",
    "com-badrit-base64": "^0.2.0",
    "com.razorpay.cordova": "^1.4.15",
    "cordova-ios": "^6.2.0",
    "cordova-plugin-camera": "^8.0.0",
    "cordova-plugin-device": "^3.0.0",
    "cordova-plugin-dialogs": "github:apache/cordova-plugin-dialogs",
    "cordova-plugin-inappbrowser": "github:apache/cordova-plugin-inappbrowser",
    "cordova-plugin-ionic-keyboard": "^2.2.0",
    "cordova-plugin-ionic-webview": "^5.0.1",
    "cordova-plugin-network-information": "^3.0.0",
    "cordova-plugin-splashscreen": "^6.0.2",
    "cordova-plugin-statusbar": "^4.0.0",
    "jasmine-core": "~5.5.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~6.4.4",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "^5.1.0",
    "karma-jasmine-html-reporter": "^2.1.0",
    "onesignal-cordova-plugin": "^5.2.9",
    "protractor": "~7.0.0",
    "ts-node": "~7.0.0",
    "tslint": "~6.1.0",
    "typescript": "~5.5"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-plugin-stripe": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-dialogs": {},
      "cordova-plugin-inappbrowser": {},
      "cordova-plugin-ionic-keyboard": {},
      "cordova-plugin-nativegeocoder": {},
      "cordova-plugin-geolocation": {
        "GEOLOCATION_USAGE_DESCRIPTION": "To locate you",
        "GPS_REQUIRED": "true"
      },
      "cordova-plugin-network-information": {},
      "com-badrit-base64": {},
      "cordova-plugin-advanced-http": {
        "ANDROIDBLACKLISTSECURESOCKETPROTOCOLS": "SSLv3,TLSv1"
      },
      "cordova-plugin-android-permissions": {},
      "cordova-plugin-photo-library": {
        "PHOTO_LIBRARY_USAGE_DESCRIPTION": "To choose photos"
      },
      "onesignal-cordova-plugin": {},
      "com.razorpay.cordova": {},
      "cordova-plugin-camera": {
        "ANDROIDX_CORE_VERSION": "1.6.+"
      },
      "cordova-plugin-file": {
        "ANDROIDX_WEBKIT_VERSION": "1.4.0"
      },
      "cordova-plugin-ionic-webview": {}
    },
    "platforms": [
      "ios",
      "android"
    ]
  }
}

2 posts - 1 participant

Read full topic

Swiper JS issue with Ionic

$
0
0

Hello devs, so i have been having this issue recently with swiper js in ionic 7.2 with angular, i follow the most basic steps with proper imports of whatever it takes to use swiper js, yet when i run my app in the browser i see the first slide and when i want to swipe to the other slides i don’t see the content of the slide. I inspected the page with the browser and saw that each of the slide elements i have have got a class indicating its state, for example when the first slide is shown, it has an “active” class and the second slide (even though its content isn’t visible) has a “next” class, and when i swipe to the second slide it gets the “active” class and the previous one gets the “active” class. So everything seems to work correctly except for the most important part which is the visibility of the slides content.

i don’t think the issue is related to the importing part, as i don’t get any errors that indicate that. Note that the project i am working with is completely new and fresh, so there isn’t any code that affects the way swiper js works. Also i have used the same code with the same imports with angular only without ionic and it worked without any issues.

1 post - 1 participant

Read full topic


How to change the expanded toggle icon in Ionic React for Accordion?

$
0
0

I am using Ionic React which has multiple accordions

  <IonAccordion value="sortBy" toggleIcon={addOutline} toggleIconSlot="end">
                                <IonItem slot="header">
                                    <IonLabel>Sort By</IonLabel>
                                </IonItem>
</IonAccordion>

 <IonAccordion value="offerType" toggleIcon={addOutline} toggleIconSlot="end">
                                <IonItem slot="header">
                                    <IonLabel>Offer Type</IonLabel>
                                </IonItem>
</IonAccordion>

I want to give the effect of ‘+’ and ‘-’ when expanded.

Right now the toggleIcon is addOutline but once its expanded it must become minusOutline

1 post - 1 participant

Read full topic

Routing in Ionic React: Transition animation not working under specific conditions

$
0
0

When using routing in Ionic React, specifying the following executes a transition animation:


router.push("/page1", "forward", "push")

However, specifying the following does not execute a transition animation:


router.push("/page1", "none", "pop")

Furthermore, even when explicitly setting the animationBuilder parameter as follows, the transition animation does not execute:


router.push("/settings", "none", "pop", undefined, customTransitionAnimation)

I want to achieve a transition animation with the routerDirection parameter set to "none" and the routeAction parameter set to "pop".

Could you please provide the solution?

The package versions are as follows:


"@ionic/core": "8.4.1",

"@ionic/react": "8.4.1",

"@ionic/react-router": "8.4.1",

1 post - 1 participant

Read full topic

BaseComponents in Angular standalone

$
0
0

Hey, anyone knows how can I set the basecomponents in standalone components as there is no ngmodule?

1 post - 1 participant

Read full topic

Capacitor 7 build error

$
0
0

Hello, I have problems with new projects. When I put ionic start, it is automatically created in angular 19, capacitor 7 and generates an error when doing a build. Also, when I put the command npx cap sync for android, I have problems compiling. I noticed that the folder structure changed in www to the previous version. Before I used angular 18, capacitor 6 and I didn’t have these problems. :sweat:

www/
├── browser/
├── 3rdpartylicenses.txt
└── prerendered-routes.json



1 post - 1 participant

Read full topic

What are the tax benefits of term insurance, and how can it help reduce my taxable income?

$
0
0

Term insurance tax benefits are an excellent way to reduce your taxable income while ensuring financial security for your family. Under Section 80C of the Income Tax Act, premiums paid for term insurance policies are eligible for deductions up to ₹1.5 lakh annually. Additionally, the death benefit received by the nominee is tax-free under Section 10(10D). Term insurance not only provides life coverage but also serves as a tax-efficient financial tool. For a detailed guide on term insurance benefits for self-employed individuals, refer to expert resources online.

https://www.streetinsider.com/Globe+PR+Wire/Term+Insurance+for+the+Self-Employed%3A+A+Comprehensive+Guide/24039063.html

1 post - 1 participant

Read full topic

Viewing all 71000 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>