Shalva Usubov created CB-13218:
----------------------------------
Summary: ionic on iOS 11 freeze UI while fetching contacts.
Key: CB-13218
URL: https://issues.apache.org/jira/browse/CB-13218
Project: Apache Cordova
Issue Type: Bug
Components: cordova-ios, cordova-plugin-contacts
Affects Versions: [email protected]
Environment: Cordova version: 7.0.1, cordova-plugin-contacts 2.3.1,
ionic 3.9.2, "cordova-ios": "^4.4.0"
Reporter: Shalva Usubov
Assignee: Shazron Abdullah
Ionic on iOS 11 freeze UI while fetching contacts.
The method "navigator.contacts.find" should be asynchronously, but on iOS 11 it
blocks UI until all contacts will be fetched.
Additionally, in XCode 9 console, I can see the new output about "Increasing
interest" and "Fetching in bulk 250 contacts":
{code:java}
2017-08-16 12:54:12.784355+0300 Myapp[502:71606] Ionic Native: deviceready
event fired after 2281 ms
2017-08-16 12:54:15.578481+0300 Myapp[502:71683] Resetting interest
2017-08-16 12:54:15.578545+0300 Myapp[502:71683] Increasing interest: 1
2017-08-16 12:54:15.581007+0300 Myapp[502:71683] Increasing interest: 2
2017-08-16 12:54:15.582130+0300 Myapp[502:71683] Increasing interest: 3
2017-08-16 12:54:15.583154+0300 Myapp[502:71683] Increasing interest: 4
2017-08-16 12:54:15.584084+0300 Myapp[502:71683] Increasing interest: 5
2017-08-16 12:54:15.585352+0300 Myapp[502:71683] Fetching in bulk 250 contacts!
2017-08-16 12:54:15.919986+0300 Myapp[502:71683] Fetching in bulk 250 contacts!
2017-08-16 12:54:16.226411+0300 Myapp[502:71657] Fetching in bulk 250 contacts!
2017-08-16 12:54:16.559840+0300 Myapp[502:71657] Fetching in bulk 250 contacts!
2017-08-16 12:54:16.867234+0300 Myapp[502:71657] Fetching in bulk 250 contacts!
2017-08-16 12:54:17.215888+0300 Myapp[502:71658] Fetching in bulk 250 contacts!
2017-08-16 12:54:17.548900+0300 Myapp[502:71658] Fetching in bulk 250 contacts!
2017-08-16 12:54:17.883738+0300 Myapp[502:71658] Fetching in bulk 250 contacts!
2017-08-16 12:54:18.209814+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:18.588213+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:18.942062+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:19.295545+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:19.702245+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:20.092949+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:20.449420+0300 Myapp[502:71657] Fetching in bulk 250 contacts!
2017-08-16 12:54:20.837158+0300 Myapp[502:71657] Fetching in bulk 250 contacts!
2017-08-16 12:54:21.220039+0300 Myapp[502:71657] Fetching in bulk 250 contacts!
2017-08-16 12:54:21.593841+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:21.932923+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:22.327521+0300 Myapp[502:71738] Fetching in bulk 250 contacts!
2017-08-16 12:54:22.869730+0300 Myapp[502:71738] Resetting interest
2017-08-16 12:54:22.869790+0300 Myapp[502:71738] Increasing interest: 1
2017-08-16 12:54:22.871022+0300 Myapp[502:71738] Increasing interest: 2
2017-08-16 12:54:22.872016+0300 Myapp[502:71738] Increasing interest: 3
2017-08-16 12:54:22.873033+0300 Myapp[502:71738] Increasing interest: 4
2017-08-16 12:54:22.873850+0300 Myapp[502:71738] Increasing interest: 5
2017-08-16 12:54:22.878584+0300 Myapp[502:71738] Fetching in bulk 250 contacts!
2017-08-16 12:54:23.222158+0300 Myapp[502:71738] Fetching in bulk 250 contacts!
2017-08-16 12:54:23.557272+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:23.872468+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:24.178993+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:24.503080+0300 Myapp[502:71738] Fetching in bulk 250 contacts!
2017-08-16 12:54:24.902068+0300 Myapp[502:71738] Fetching in bulk 250 contacts!
2017-08-16 12:54:25.263960+0300 Myapp[502:71738] Fetching in bulk 250 contacts!
2017-08-16 12:54:25.410705+0300 Myapp[502:71679] void
SendDelegateMessage(NSInvocation *): delegate
(webView:identifierForInitialRequest:fromDataSource:) failed to return after
waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode
2017-08-16 12:54:25.644994+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:26.047446+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:26.418006+0300 Myapp[502:71670] Fetching in bulk 250 contacts!
2017-08-16 12:54:26.773450+0300 Myapp[502:71738] Fetching in bulk 250 contacts!
2017-08-16 12:54:27.204144+0300 Myapp[502:71738] Fetching in bulk 164 contacts!
2017-08-16 12:54:27.979844+0300 Myapp[502:71606] Fetch contacts: 12627ms
{code}
During 12627ms UI if freezed.
I found that root case of "Fetching in bulk" this line
https://github.com/apache/cordova-plugin-contacts/blob/master/src/ios/CDVContact.m#L1081
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]