Pergunta

Meu aplicativo possui um recurso que requer identificar cada usuários do aplicativo. Estou planejando fazer o aplicativo envia UDID para o meu servidor. O servidor o armazena, para uso posterior. Eu não acho que seja uma informação pessoal, no entanto, quero saber que é aprovável ou não na AppStore da Apple.

E, incluindo a transferência de números de telefone. No caso do WhatsApp, ele reconhece automaticamente os números dos meus amigos. Eu acho que isso é impossível sem algum tipo de transferência de dados.

Foi útil?

Solução

Você pode transferir o UDID de um dispositivo para seus servidores. É para isso que se destina.

Outras dicas

O acesso à UDID é motivos para rejeição da App Store. Veja uma alternativa para usar o UDID em https://stackoverflow.com/a/10037636/1286639

Apenas certifique -se de que não seja segredo o que seu aplicativo faz. Se ele transfere números de telefone para armazená -los no seu servidor, mencione isso claramente na descrição do aplicativo ou até mesmo peça permissão ao usuário pela primeira vez.

Na verdade, esse é um motivo para ser rejeitado, acho: não estar claro sobre o armazenamento de dados do usuário em seu próprio servidor/serviço.

É importante observar a diferença entre um UDID e um UUID.

UDID "ID do dispositivo exclusivo" é específico do hardware. Nunca muda para um determinado dispositivo. Por esse motivo, tornou -se uma preocupação de privacidade e a Apple está bloqueando aplicativos que tentam usar isso. Como resultado, a Apple gerou um hash "ID do dispositivo" optado, principalmente para uso de anúncios. Este novo ID Hash é chamado IFA e está disponível no iOS 6.0+.

UUID "ID universalmente exclusivo" não é específico do hardware. É um hash usado para identificar um dispositivo; mas não particularmente um valor absoluto. Por exemplo, o PhoneGap gera um UUID com base nas propriedades do dispositivo; Isso é o que você recebe quando você faz dispositivo.uuid. Se você excluir o aplicativo e reinstalar, receberá um novo ID Hash. O UUID não está sendo bloqueado pela Apple.

Eu acho que a melhor solução no seu caso seria usar o IFA, com o Openudid como um backup para iOS <6,0.

Aqui está o código que usamos. Se a IFA não estiver disponível, obtenha o OpenUDID. [[Você deve instalar o OpenUDID, leia mais sobre isso aqui, https://github.com/ylechelle/openudid.]

NSString* uuid = nil;
if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
    // IOS 6 new Unique Identifier implementation, IFA
    uuid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
    // Before iOS6 (or if IFA disabled) you shoud use a custom implementation for uuid
    // Here I use OpenUDID (you have to import it into your project)
    // https://github.com/ylechelle/OpenUDID
    NSString* openUDID = [OpenUDID value];
    uuid = [OpenUDID value];
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top