2017-02-15 19 views
-5

Я собираюсь обратиться к тому, кто зашел в мое приложение. И я дам ему специальный код для обеспечения безопасности. Это должен быть только код и IMEI, которые не могут войти с другого телефона. Что я буду делать с iOS. Они будут иметь дело с этим кодом. Но уже невозможно получить IMEI в iOS. Что я буду делать с iOS. Кроме того, больше нет адреса mac в İOS, верно?Альтернатива IMEI

+0

Да iOS не позволяет вам захватывать IMEI или MAC-адрес. Зачем это нужно. –

+0

@SachinVas for security –

+0

Создайте случайную строку с использованием UUID и сохраните ее в цепочке ключей. Кроме того, поддерживайте список пользователей на сервере, которые уже использовали свой код. Таким образом, вы будете уверены, что его только один раз. –

ответ

0

Существует несколько альтернатив IMEI или MAC-адресу, которые Apple теперь предоставляет.

Один такой [[UIDevice currentDevice] identifierForVendor].

Из документации Apple.

Буквенно-цифровая строка, которая однозначно идентифицирует устройство у поставщика приложения. Значение этого свойства одинаково для приложений, которые принадлежат одному и тому же поставщику, работающему на одном устройстве. Другое значение возвращается для приложений на том же устройстве, что и у разных поставщиков, а также для приложений на разных устройствах независимо от поставщика.

Существует еще одна альтернатива, которая, если вы внедряете систему для обслуживания рекламы, вам необходимо использовать [ASIdentifierManager advertisingIdentifier] в соответствии с их документацией.

Я считаю, что identifierForVendor обычно достаточно для реализации уровня безопасности, особенно если у вас есть компонент на стороне сервера, который поддерживает список используемых пользователей и идентификаторов.

Вы также можете сгенерировать UUID с identifierForVendor, как показано ниже.

Objective-C:

NSString *generateUUID = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; 

Swift 3:

let generateUUID = UIDevice.current.identifierForVendor?.uuidString 

Это должно быть абсолютно достаточно для того, что вам требуется.

+0

Есть несколько ситуаций, которые я не понимаю. Во-первых, является ли uuid действительным в android? Во-вторых, доступно ли на каждом телефоне? –

+0

uuid доступен для каждого телефона, производитель устройства предоставит uuid –