2015-01-30 2 views
1

Я работаю над корпоративным приложением и нуждаюсь в программном обеспечении получения серийного номера устройства. Есть ли API или любая документация о том, как получить это в iOS 8? Из того, что я могу сказать, эта функциональность была удалена в iOS 8.iOS 8 Уникальный идентификатор (предпочтительный серийный номер)

Есть ли подходящий идентификатор замены для серийного номера? Мне нужно что-то надежное и никогда не изменится, даже если устройство будет сброшено.

Это будет для использования на предприятии, поэтому утверждение App Store не вызывает беспокойства.

+0

Глядя на [этот ответ] (http://stackoverflow.com/a/15224410/860000), был способ получить серийный номер в iOS7 и ранее, но он больше не доступен в iOS8. Лучше всего, вероятно, сохранить UUID в цепочке ключей, которую вы можете отслеживать через приложения и переустанавливать, но не сбрасывать. –

+0

Что конкретно вы пытаетесь достичь, зная серийный номер устройства? –

+0

Цель приложения - отслеживать ремонт, выполненный для iPads и для инвентаризации. Мне нужно иметь способ сохранить историю iPad, постоянно привязанную к этому iPad. Очень важно, чтобы идентификатор не менялся, потому что компания, с которой я работаю, каждый год стирает все iPad. –

ответ

0

Вы здесь, в ручье. Две функции отслеживания - это рекламный идентификатор и идентификатор для поставщика. Первый может быть легко сброшен в приложении «Настройки», а последний сбрасывается после того, как пользователь удалит все приложения с помощью идентификатора корневого пучка, связанного с набором приложений. Конечно, оба переключаются с перезагрузкой устройства.

Если вы развертываете приложение с помощью MDM-решения, у вас будет доступ к UDID этого устройства, поскольку он по-прежнему перетекает на серверы MDM, вы просто не можете получить доступ к нему программным путем в своем коде. Полное обесценивание UDID, серийный номер и MAC-адрес (даже с частными API-интерфейсами) пошатнулись всеми некоторыми утилит, которые я написал в нашем Enterprise, чтобы попытаться выполнить нечто похожее на то, что вы хотите сделать. Если вы найдете что-то противоречащее, я бы хотел увидеть продолжение!

EDIT:

У меня было прозрение в то время как кружась назад к этой ситуации снова. Если вы действительно используете AirWatch (я не могу говорить с Mobile Iron и т. Д.), Вы можете настроить консоль для отправки значения keychain каждому устройству во время установки приложения. Оттуда приложение сможет использовать значение AirWatch. То же самое касается любого атрибута, который AirWatch собирает для устройства (серийный, UDID, MAC и т. Д.). Хотя это обходное решение поставляется с большим оговоркой (с использованием AirWatch для развертывания), он будет работать. С тех пор, как Apple стерилизовала все серийные номера, обойти победу в iOS8, это самый эффективный вариант, который я нашел.

+0

Дэн, я снова возвращался к этой проблеме, имея ту же идею MDM. Я надеялся избежать необходимости использовать данные MDM из-за отсутствия полного доступа к сценариям записи. Я придумал альтернативное обходное решение, которое, по общему признанию, немного странно. Служба GSX от Apple (для счетов самообслуживания) имеет API для получения диагностической информации. Я могу запросить, чтобы пользователь вручную вводил серийный номер, а затем загружал его в диагностику GSX. Я загружаю диагностическую страницу в фоновом режиме, и если она возвращается без ошибок, я знаю, что серийный номер действителен и может сохранять в цепочке ключей. –

+0

Это очень хорошо может работать. Учитывая масштаб моей среды (уровень пользователей и уровень пользовательских технологий), я вынужден как можно больше удалить человеческую ошибку. Тем не менее, большой потенциальный обходной путь. – Dan

Смежные вопросы