Long delay accessing iOS contacts with ionic 4

Hello everybody!

I have an app which allows the user to send an e-mail to one or more of his contacts. It was first distributed with ionic 3 and this functionality used to work without issues. Then I released the ionic 4-based version for android, and again everything was well. However, when I released the ionic 4 based version for iOS, users complained that it takes forever to load their contacts. I tested this with a colleague’s iPhone (iOS 13.3) and indeed, it takes around 40 seconds to load the contacts (around 900 contacts). I have inserted debugging code and saw that the delay is in the call to Contacts.find() and the call to the .then() clause. During this time, the app seems to be frozen.

Has anyone else encountered this? Is there a solution/workaround available?

Thanks in advance,

ionic info


ionic (Ionic CLI) : 5.4.15
Ionic Framework : @ionic/angular 4.11.7
@angular-devkit/build-angular : 0.803.21
@angular-devkit/schematics : 8.1.3
@angular/cli : 8.1.3
@ionic/angular-toolkit : 2.0.0


cordova (Cordova CLI) : 9.0.0 (cordova-lib@9.0.1)
Cordova Platforms : ios 5.0.1
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.2, (and 9 other plugins)


ios-sim : 8.0.2
NodeJS : v13.1.0
npm : 6.12.1
OS : macOS Catalina
Xcode : Xcode 11.2.1 build version 118500

$ ionic cordova plugin ls

cordova plugin ls

cordova-plugin-app-version 0.1.9 “AppVersion”

cordova-plugin-contacts 3.0.1 “Contacts”

cordova-plugin-device 2.0.2 “Device”

cordova-plugin-inappbrowser 3.1.0 “InAppBrowser”

cordova-plugin-ionic-keyboard 2.2.0 “cordova-plugin-ionic-keyboard”

cordova-plugin-ionic-webview 4.1.2 “cordova-plugin-ionic-webview”

cordova-plugin-network-information 2.0.2 “Network Information”

cordova-plugin-splashscreen 5.0.2 “Splashscreen”

cordova-plugin-statusbar 2.4.2 “StatusBar”

cordova-plugin-whitelist 1.3.3 “Whitelist”

cordova-sqlite-storage 3.4.0 “Cordova sqlite storage plugin - cordova-sqlite-storage plugin version”

Same Issue here. Did you find a solution?

Unfortunately not. The behaviour is different on different iphones, but I do not have access to enough of them to see which factor it is that makes the difference.