2013-03-19 4 views
4

Я работаю над некоторыми приложениями для распространения через корпоративную программу на компании iPads (поэтому у меня/компании есть полный контроль над ними). Что такое «правильный», если есть один способ определения устройства, на котором работают приложения, в контексте корпоративных устройств?Как определить корпоративное устройство iOS из приложения?

CFUUIDCreate, как рекомендовано здесь UIDevice uniqueIdentifier Deprecated - What To Do Now? не будет работать, так как идентификатор должен быть одинаковым для нескольких приложений.

Прямо сейчас How can I programmatically get the MAC address of an iphone выглядит как лучший способ, но я очень новичок в материалах Apple и хотел бы знать, есть ли лучший способ.

iPads предназначены для использования в складских помещениях, а идентификатор устройства - это идентификатор, на который назначен iPad.

ответ

1

В наших проектах мы используем OpenUDID для постоянного идентификатора кросс-приложения в качестве замены замены устаревшего UDID.

Использование:

#include "OpenUDID.h" 
NSString* openUDID = [OpenUDID value]; 
+0

Выглядит слишком хорошо, чтобы быть правдой: D Я попробую и посмотрю, как это работает. – Turch

1

Я запускаю корпоративную программу, и вы правы, новые элементы UUID, которые Apple предоставляет, не являются полезными. Они не только не одинаковы для приложений, но и не совпадают, если пользователь удаляет и перезагружает ваше корпоративное приложение.

Поскольку вы не распространяете через App Store, вы не будете закрыты для использования [UIDevice uniqueIdentifier], и он все еще работает в iOS сегодня. Я лично отправляю это и MAC-адрес и перебираю пальцы, чтобы это продолжало работать в будущих выпусках. Возможно, что Apple начнет возвращать @ "" или другую нулевую строку для UUID в будущем, поэтому будьте готовы.

+0

Приятно знать, что [UIDevice uniqueIdentifier] по-прежнему работает, если вам не нужно отправлять в магазин приложений. Я попробую OpenUDID, как было предложено в другом ответе с этим как резервное копирование :) – Turch

+0

идентификатор продавца будет одинаковым для всех приложений, но не для устройств. –

+0

В последнем ** iOS7 ** SDK адрес mac не будет работать. Они будут возвращать тот же адрес '(02: 00: 00: 00: 00: 00)' на всех устройствах при вызове системы. – user2361406

0

С iOS7 (бета) UIDevice UniqueIdentifier Теперь ведет себя как identifierForVendor. Идентификатор будет отличаться для каждого приложения, а также будет сброшен, когда приложение будет переустановлено.

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