Como acessar o catálogo de endereços para ios
O quadro iOS fornece funções que permitem a sua aplicação para trabalhar com os bancos de dados que vêm com dispositivos iOS. Uma tal base de dados é a Livro de endereços,
Conteúdo
Video: Como Importar Contatos Do Chip para o iPhone
As informações em um catálogo de endereços é acessível a outros aplicativos, embora de uma maneira controlada. Por exemplo, seu aplicativo pode apresentar os usuários com os contatos do catálogo de endereços, que lhes permita selecionar um contato, e depois usar as informações do contato selecionado. Às vezes eu usar essa funcionalidade em Tic-Tac-Toe para tripudiar sobre meu glorioso pontuação Tic-Tac-Toe através de um e-mail para alguém na minha lista de contatos.
Para entender melhor, dê uma olhada no controlador de vista Jogo Session (TTTGameSessionViewController.m e .h) e seguir adiante. Primeiro, você usar o controlador de vista a implementar o protocolo ABPeoplePickerNavigationControllerDelegate, como mostrado aqui:
@ interface TTTGameSessionViewController: UIViewController {...}
O método sendScoresByEmailWithContact (reproduzida ao lado) é o método de ação que inicia o processo, apresentando o selecionador Address Book e permitindo que o usuário para selecionar o contato:
Video: Como sincronizar contatos do Gmail no iPhone - Videopeia
- (IBAction) sendScoresByEmailWithContact: (ID) remetente {ABPeoplePickerNavigationController * picker = [[c alloc] Init] -picker.peoplePickerDelegate = auto-[auto presentViewController: picker animado: SIM conclusão: nil] -}
Este método também define seu objeto (o controlador de vista Jogo Session) como o delegado para o selecionador. Quando o seletor de terminar de selecionar uma entrada do catálogo de endereços, o shouldContinueAfterSelectingPerson método delegado é chamado:
- (BOOL) peoplePickerNavigationController: (*) ABPeoplePickerNavigationController peoplePickershouldContinueAfterSelectingPerson: (ABRecordRef) selectedPerson {NSString * oneEmail = nil-mails ABMultiValueRef = ABRecordCopyValue (selectedPerson, kABPersonEmailProperty) -se (ABMultiValueGetCount (e-mails) gt; 0) {oneEmail = (__ bridge_transfer NSString *) ABMultiValueCopyValueAtIndex (e-mails, 0) -} CFRelease (e-mails) - [auto dismissViewControllerAnimated: YEScompletion: ^ {[auto sendScoresByEmailWithAddress: oneEmail] -}] - retornar NO-}
O endereço de correio electrónico de contacto seleccionado usando o seletor é extraído do selectedPerson variável utilizando a propriedade kABPersonEmailProperty. Note-se também que o contacto pode ter vários e-mails, e apenas o primeiro (no índice 0 na lista extraída) é usado.
Em seguida, o controlador de vista Picker é rejeitado usando dismissViewControllerAnimated. Aqui vem a parte legal: Definir o parâmetro de conclusão para o método sendScoresByEmailWithAddress causa esse método a ser chamado logo após o selecionador Address Book é indeferido. Este processo, por sua vez, faz com que o aplicativo Mail para disparar para cima, com o endereço preenchido, tudo pronto para você enviar sua pontuação.
Video: Transferir contatos do icloud para android
Finalmente, olhe para os dois métodos bridge_transfer e CFRelease. Elas são necessárias porque a API Address Book não está integrado com o novo Automated contagem de referência (ARC) mecanismo de gerenciamento de memória.