[
https://issues.apache.org/jira/browse/CB-828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Olivier Louvignes updated CB-828:
---------------------------------
Description:
I'm trying to restore 3000 contacts on a device, since i need to display a
progress UI, I had to use something like this (SenchaTouch 2 code but you get
the point).
[CODE]
//forEach contacts as contact...
_.delay(function() {
contact.save({callback : function(contact,
operation) {
d&&console.log(displayName + ' ~ saved
('+ action +') contact', arguments);
j++;
App.getViewport().mask({message:
__('restore...'), details: j + '/' + count, progress: j/count, mode:
'determinate'});
// Last item ?
if(j == count) {
contactStore.clearFilter();
return
self.afterRestore(callback);
}
}});
}, 25*i);
[/CODE]
Works quite well in the simulator but i'm getting regular "failed to return
after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode" on a
device.
Major issue is that UI gets stuck for minutes, ends up crashing.
Would there be a way to somehow use another thread for theses AddressBook
operations?
was:
I'm trying to restore 3000 contacts on a device, since i need to display a
progress UI, I had to use something like this :
[CODE]
//forEach contacts as contact...
_.delay(function() {
contact.save({callback : function(contact,
operation) {
d&&console.log(displayName + ' ~ saved
('+ action +') contact', arguments);
j++;
App.getViewport().mask({message:
__('restore...'), details: j + '/' + count, progress: j/count, mode:
'determinate'});
// Last item ?
if(j == count) {
contactStore.clearFilter();
return
self.afterRestore(callback);
}
}});
}, 25*i);
[/CODE]
Works quite well in the simulator but i'm getting regular "failed to return
after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode" on a
device.
Major issue is that UI gets stuck for minutes, ends up crashing.
Would there be a way to somehow use another thread for theses AddressBook
operations?
> iOS contact.save() stucks the UI from updating on heavy load
> ------------------------------------------------------------
>
> Key: CB-828
> URL: https://issues.apache.org/jira/browse/CB-828
> Project: Apache Cordova
> Issue Type: Bug
> Components: iOS
> Reporter: Olivier Louvignes
> Assignee: Shazron Abdullah
> Labels: contacts
>
> I'm trying to restore 3000 contacts on a device, since i need to display a
> progress UI, I had to use something like this (SenchaTouch 2 code but you get
> the point).
> [CODE]
> //forEach contacts as contact...
> _.delay(function() {
> contact.save({callback : function(contact,
> operation) {
> d&&console.log(displayName + ' ~ saved
> ('+ action +') contact', arguments);
> j++;
> App.getViewport().mask({message:
> __('restore...'), details: j + '/' + count, progress: j/count, mode:
> 'determinate'});
> // Last item ?
> if(j == count) {
> contactStore.clearFilter();
> return
> self.afterRestore(callback);
> }
> }});
> }, 25*i);
> [/CODE]
> Works quite well in the simulator but i'm getting regular "failed to return
> after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode" on a
> device.
> Major issue is that UI gets stuck for minutes, ends up crashing.
> Would there be a way to somehow use another thread for theses AddressBook
> operations?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira