Использование UDID для создания уникального идентификатора пользователя
Я работаю над iPhone App, которое связывается с сервером для хранения и обмена данными. Поскольку я хотел бы сделать это как можно проще, я хочу избежать регистрации (или mybe также использования пароля) для учетной записи пользователя. Возможно ли (и разрешено?) Получить UDID устройства iPhone и сделать, например. MD5-хэш, который я передаю на сервер и использую для аутентификации? Поскольку этот идентификатор уникален, я мог бы просто использовать его для входа в систему и получения заданных пользователем данных с сервера, без необходимости создавать данные для входа.
Разрешено ли доступ к UDID, сделать MD5-хэш и сохранить его в базе данных?
Второй вопрос: как получить UDID?; -)
Ответы
Ответ 1
Да, это разрешено, но учтите, что я сообщил ниже, из документации.
Вы можете получить UDID следующим образом:
NSString *udid = [[UIDevice currentDevice] uniqueIdentifier];
Обратите внимание на следующее из официальной документации Apple:
Уникальный идентификатор устройств (иногда сокращенный как UDID для уникального идентификатора устройства) является хеш-значением, состоящим из различных идентификаторов оборудования, таких как серийный номер устройства. Он гарантированно будет уникальным для каждого устройства. UDID не зависит от имени устройства. Для устройств, использующих SIM-карту (модуль идентификации абонента), UDID не зависит от SIM-карты.
Для обеспечения безопасности и конфиденциальности пользователей вы не должны публично связывать уникальный идентификатор устройств с учетной записью пользователя.
Вы можете использовать UDID в сочетании с идентификатором пользователя для конкретного приложения для идентификации данных на вашем сервере. Например, вы можете использовать идентификатор комбинации устройств и пользователей для управления доступом к зарегистрированным продуктам или при хранении высоких баллов для игры на центральном сервере. Однако, если вы разрабатываете игру, вы можете вместо этого использовать ключ идентификатора игрока Game Center, как описано в Руководстве по программированию Game Kit.
Важно: никогда не храните информацию о пользователе, основанную исключительно на UDID. Всегда используйте комбинацию UDID и идентификатор пользователя для конкретного приложения. Комбинированный идентификатор гарантирует, что если пользователь передает устройство другому пользователю, новый пользователь не будет иметь доступа к исходным данным пользователя.
Ответ 2
Я использовал UDID для проверки того, имеет ли устройство уже подписанную подписку.
Получение UDID очень просто:
NSString *udid = [[UIDevice currentDevice] uniqueIdentifier];
Если вы прочитали правила магазина App Store, есть раздел, позволяющий пользователю создать учетную запись для перемещения подписки на другое устройство.
В этом разделе Apple разъясняет, что создание учетной записи должно быть именем пользователя и паролем, который должен ввести пользователь. Имя пользователя не может быть адресом электронной почты, так как это личная информация.
Если приложение сильно зависит от данных, было бы желательно создать дополнительную учетную запись пользователя.
Рекомендации по проверке AppStore можно найти: http://developer.apple.com/appstore/resources/approval/guidelines.html
Ответ 3
Я думаю, вы имеете в виду UDID, да? Возможно, именно по этой причине вы не можете найти похожие вопросы и ответы, например этот:)
Ответ 4
UDID
скрыт с iOS-6 и позже, поэтому вы можете однозначно идентифицировать устройство по:
NSString *UDID = [[UIDevice currentDevice] identifierForVendor];