Open fpaaske opened 4 years ago
This may be related to #77
I'm hitting the same thing in a JavaScript project
tns info ✔ Getting NativeScript components versions information... ⚠ Update available for component nativescript. Your current version is 6.8.0 and the latest available version is 7.2.0. ⚠ Update available for component tns-core-modules. Your current version is 6.5.24 and the latest available version is 6.5.25. ✔ Component tns-android has 6.5.3 version and is up to date. ✔ Component tns-ios has 6.5.4 version and is up to date.
I did some debugging, and the code at issue is contact-model.ios.js line 251:
var foundContacts = store.unifiedContactsMatchingPredicateKeysToFetchError(searchPredicate, keysToFetch, null);
if (foundContacts.count > 0) {
contactRecord = foundContacts[0].mutableCopy();
}
foundContacts is null, and so foundContacts.count
raises an exception.
if (foundContacts && foundContacts.count > 0) {
It's not clear yet why store.unifiedContactsMatchingPredicateKeysToFetchError
is returning null.
[edit]
I've been investigating further, as I really need this to work. I tried replacing unifiedContactsMatchingPredicateKeysToFetchError
with unifiedContactWithIdentifierKeysToFetchError
but with no luck. Both functions take a third parameter which the doc simply describes as, "Error information, if an error occurred." but I haven't found anyway to catch the error data, even within a try/catch block.
If anyone knows how to catch the error data that would certainly help.
[edit 2]
This post looks pertinent. I'll investigate later today.
[edit 3]
Here's what's changed: com.apple.developer.contacts.notes
Apple has made access to the notes field more restricted. If I comment-out "note" from keysToFetch, the contact.delete() works as expected. Next I'll figure out how I want to proceed with this. I don't really need the notes field, and that may mean I'll locally modify my own copy of the plugin to remove it from keysToFetch.
[edit 4]
This issue is a dupe of #89, and fixed with pull request #90.
[edit 5]
Correction: while issue #89 does address a similar issue, pr #90 does not include changes to contact-model.ios.js, and thus does not fix this particular issue. To bypass the issue it is sufficient to comment out line 244 ("note",
) in keysToFetch.
I do this:
And I get this error:
ERROR Error: Uncaught (in promise): TypeError: null is not an object (evaluating 'foundContacts.count')
Full output: