ABPeoplePickerNavigationController pnetworkingicateForEnablingPerson – ¿Cuál es el formatting de pnetworkingicado para Street Address?

Con iOS 8 ABPeoplePickerNavigationController tiene:

 // Optionally determines if a person can be selected or not. // If not set, all persons will be selectable. // @property(nonatomic,copy) NSPnetworkingicate *pnetworkingicateForEnablingPerson NS_AVAILABLE_IOS(8_0); 

Me gustaría deshabilitar los contactos de la libreta de direcciones que no tienen una dirección de calle.

He visto (y probado) lo siguiente, que solo permite contactos con al less una dirección de correo electrónico:

 if ([peoplePickerNavigationController respondsToSelector:@selector(pnetworkingicateForEnablingPerson)]) { peoplePickerNavigationController.pnetworkingicateForEnablingPerson = [NSPnetworkingicate pnetworkingicateWithFormat:@"emailAddresses.@count > 0"]; } 

¿Qué debo replace la cadena "emailAddresses.@count > 0" para habilitar solo contactos con al less una dirección?

Puedes usar:

 controller.pnetworkingicateForEnablingPerson = [NSPnetworkingicate pnetworkingicateWithFormat:@"%K.@count > 0", ABPersonPostalAddressesProperty]; 

El encabezado proporciona una list de las constantes aceptables que se usarán en los pnetworkingicados:

 // Constants to use in pnetworkingicates: // A LabeledValue has a 'label' property and a 'value' property. // A PhoneNumber has a 'stringValue' property, a 'countryCode' property, a 'formattedStringValue' property and a 'normalizedStringValue' property // A InstantMessageAddress has a 'username' property and a 'service' property // A SocialProfile has a 'username' property and a 'service' property // A PostalAddress has a 'street' property, a 'subLocality' property, a 'city' property, a 'subAdministrativeArea' property, a 'state' property, a 'postalCode' property, a 'country' property and a 'ISOCountryCode' property // extern NSString * const ABPersonNamePrefixProperty NS_AVAILABLE_IOS(8_0); // "namePrefix" NSString extern NSString * const ABPersonGivenNameProperty NS_AVAILABLE_IOS(8_0); // "givenName" NSString extern NSString * const ABPersonMiddleNameProperty NS_AVAILABLE_IOS(8_0); // "middleName" NSString extern NSString * const ABPersonFamilyNameProperty NS_AVAILABLE_IOS(8_0); // "familyName" NSString extern NSString * const ABPersonNameSuffixProperty NS_AVAILABLE_IOS(8_0); // "nameSuffix" NSString extern NSString * const ABPersonPreviousFamilyNameProperty NS_AVAILABLE_IOS(8_0); // "previousFamilyName" NSString extern NSString * const ABPersonNicknameProperty NS_AVAILABLE_IOS(8_0); // "nickname" NSString extern NSString * const ABPersonPhoneticGivenNameProperty NS_AVAILABLE_IOS(8_0); // "phoneticGivenName" NSString extern NSString * const ABPersonPhoneticMiddleNameProperty NS_AVAILABLE_IOS(8_0); // "phoneticMiddleName" NSString extern NSString * const ABPersonPhoneticFamilyNameProperty NS_AVAILABLE_IOS(8_0); // "phoneticFamilyName" NSString extern NSString * const ABPersonOrganizationNameProperty NS_AVAILABLE_IOS(8_0); // "organizationName" NSString extern NSString * const ABPersonDepartmentNameProperty NS_AVAILABLE_IOS(8_0); // "departmentName" NSString extern NSString * const ABPersonJobTitleProperty NS_AVAILABLE_IOS(8_0); // "jobTitle" NSString extern NSString * const ABPersonBirthdayProperty NS_AVAILABLE_IOS(8_0); // "birthday" NSDateComponents extern NSString * const ABPersonNoteProperty NS_AVAILABLE_IOS(8_0); // "note" NSString extern NSString * const ABPersonPhoneNumbersProperty NS_AVAILABLE_IOS(8_0); // "phoneNumbers" array of LabeledValue with PhoneNumber values extern NSString * const ABPersonEmailAddressesProperty NS_AVAILABLE_IOS(8_0); // "emailAddresses" array of LabeledValue with NSString values extern NSString * const ABPersonUrlAddressesProperty NS_AVAILABLE_IOS(8_0); // "urlAddresses" array of LabeledValue with NSString values extern NSString * const ABPersonDatesProperty NS_AVAILABLE_IOS(8_0); // "dates" array of LabeledValue with NSDateComponents values extern NSString * const ABPersonInstantMessageAddressesProperty NS_AVAILABLE_IOS(8_0); // "instantMessageAddresses" array of LabeledValue with InstantMessageAddress values extern NSString * const ABPersonRelatedNamesProperty NS_AVAILABLE_IOS(8_0); // "relatedNames" array of LabeledValue with NSString values extern NSString * const ABPersonSocialProfilesProperty NS_AVAILABLE_IOS(8_0); // "socialProfiles" array of LabeledValue with SocialProfile values extern NSString * const ABPersonPostalAddressesProperty NS_AVAILABLE_IOS(8_0); // "postalAddresses" array of LabeledValue with PostalAddress values 

Si miras el encabezado, eso es postalAddresses