[ 
https://issues.apache.org/jira/browse/CB-961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13403157#comment-13403157
 ] 

Becky Gibson commented on CB-961:
---------------------------------

For most of the array values, IM, PhoneNumber, Addresses, URLs, emails, photos 
- set to empty array to remove entire property.  Set individual values to empty 
string to remove,  set to NULL to NOT modify.  These "rules" are per the W3C 
Contact spec that we implemented.  Spec has been updated so may change in 
future.

 
                
> Can not remove contact property values anymore
> ----------------------------------------------
>
>                 Key: CB-961
>                 URL: https://issues.apache.org/jira/browse/CB-961
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 1.6.0, 1.6.1, 1.7.0, 1.8.0, 1.8.1, 1.9.0
>         Environment: XCode 4, Iphone simulator
>            Reporter: Cyril Joui
>            Assignee: Becky Gibson
>              Labels: patch
>         Attachments: CDVContact.m
>
>
> We can not remove property values of a contact anymore (since cordova > 
> 1.5.0).
> Comment in CDVContact.m (source from 1.7.0 tag):
> >
> /* Set MultiValue string properties into Address Book Record.  
>  * NSArray* fieldArray - array of dictionaries containing W3C properties to 
> be set into record
>  * ABPropertyID prop - the property to be set (generally used for phones and 
> emails)
>  * ABRecordRef  person - the record to set values into
>  * BOOL bUpdate - whether or not to update date or set as new.  
>  *    When updating:
>  *      emtpy array indicates to remove entire property
>  *      empty string indicates to remove
>  *    [NSNull null] do not modify (keep existing record value)
>  * RETURNS
>  * bool false indicates error
>  *
>  * used for phones and emails
>  */
> -(bool) setMultiValueStrings: (NSArray*)fieldArray forProperty: 
> (ABPropertyID) prop inRecord: (ABRecordRef)person asUpdate: (BOOL)bUpdate
> {
> <
> ===
>  *    When updating:
>  *      emtpy array indicates to remove entire property
>  *      empty string indicates to remove
> ===
> fieldArray is never empty because of checking is count in method:
> >
> -(bool) setFromContactDict:(NSMutableDictionary*) aContact asUpdate: (BOOL) 
> bUpdate
> <
> >
> if ([array isKindOfClass:[NSArray class]] && [array count] > 0){
> <
> I propose to remove the && [array count] for:
>  - phoneNumbers
>  - emails
>  - ims
>  - addresses

--
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

        

Reply via email to