You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Cory Thompson (JIRA)" <ji...@apache.org> on 2016/03/04 01:16:46 UTC

[jira] [Created] (CB-10784) Unable to use Cordova Plugins that use a native view directly on pickContacts callback.

Cory Thompson created CB-10784:
----------------------------------

             Summary: Unable to use Cordova Plugins that use a native view directly on pickContacts callback.
                 Key: CB-10784
                 URL: https://issues.apache.org/jira/browse/CB-10784
             Project: Apache Cordova
          Issue Type: Bug
          Components: Plugin Contacts
    Affects Versions: Master
         Environment: iOS
            Reporter: Cory Thompson
            Priority: Minor


I attempted to open a native dialog directly after a using pickContacts and receive the following error on iOS.

navigator.contacts.pickContact(onContactItemPickedSuccess, onContactItemPickedError);
function onContactItemPickedSuccess(contact) {
     navigator.notification.confirm(…);
}

Warning: Attempt to present <UIAlertController: 0x14a83600> on <CDVContactsPicker: 0x151e7400> whose view is not in the window hierarchy!

A workaround is wrap the confirmation code using a JavaScript setTimeout for 1000ms.

I’ve dug into the Objective C code and what I suspect is happening is that the successCallback is called before the animation for closing the CDVContactsPicker has finished.

I’ve tested moving the callback after the close animation and my issue is resolved. I will include a pull request in the comments.

The only potential problem I see with this is the original author may have decided to return before animation close so that a user could update the HTML behind the contactPicker therefore appearing to load much faster.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org