Это позволяет передавать iPhone UDID на мой сервер?
Вопрос
Мое приложение имеет функцию, которая требует определения каждого пользователей приложений. Я планирую сделать приложение, отправляет UDID на мой сервер. Сервер хранит его, для последующего использования. Я не думаю, что это личная информация, однако, я хочу знать, это одобряется или нет в Apple AppStore.
И, включая передачу телефонов. В случае WhatsApp он автоматически признает номера моих друзей. Я думаю, что это невозможно без какого-либо передачи данных.
Решение
Вам разрешено передать UDID устройства на свои серверы. Это то, для чего он предназначен.
Другие советы
Доступ к UDID является основанием для отклонения из App Store. Увидеть альтернативу использовать UDID в https://stackoverflow.com/a/10037636/1286639.
Просто убедитесь, что это не секрет, что делает ваше приложение. Если это передает номера телефонов для хранения те, которые на вашем сервере, то, четко упоминайте об этом в описании приложения или даже попросите пользователя разрешить первый раз.
Что на самом деле является причиной, чтобы быть отклонена причинами, которую я думаю: не быть понятным о хранении данных пользователя на вашем собственном сервере / услуге.
Важно отметить разницу между UDID и UUID.
UDID «Уникальный идентификатор устройства» - это специфическое оборудование. Это никогда не меняется для конкретного устройства. По этой причине он стал концерцией конфиденциальности, а Apple блокирует приложения, которые пытаются использовать это. В результате Apple сгенерировала выбранный «идентификатор устройства» HASH, особенно для использования рекламы. Этот новый HASH HASH называется IFA и доступен в iOS 6.0+.
UUID «Универсально уникальный ID» не является аппаратным обеспечением. Это хеш, используемый для идентификации устройства; Но не особо абсолютное значение. Например, PhoneGAP генерирует UUID на основе свойств устройства; Это то, что вы получаете, когда вы делаете Device.uuid. Если вы удалите приложение и переустановите, вы получите новый хэш ID. UUID не блокируется Apple.
Я думаю, что лучшее решение в вашем случае будет использование IFA с OpenuDID в качестве резервной копии для iOS <6.0.
Вот код, который мы используем. Если IFA не доступна, получите openudid. [[Вы должны установить OpenuDid, читайте больше об этом здесь, 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];
}