2013-09-24 3 views
2

Я просто хочу знать, что можно использовать и хранить на сервере с устройства Apple (iPod Touch, iPhone или iPad), чтобы сделать уникальный идентификатор? таких как IMEI или что-то еще ... Мне просто нужно что-то уникальное, так что мое приложение может выполнить проверку «один раз с одного устройства».Как сделать уникальный идентификатор с устройства?

спасибо.

+0

ответы на этот потенциальный боян неактуальны ... –

ответ

7

Вы можете использовать NSUUID. Однако это изменяется, поэтому вы можете реализовать его, вызвав его при первом открытии приложения и его сохранении.

if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) 
{ 
     //App has previously launched 

} 
else 
{ 
    //First launch 
    NSString *identifierString = [[NSUUID UUID] UUIDString]; 
    [[NSUserDefaults standardUserDefaults] setObject:identifierString forKey:@"uuidKey"]; 

    [[NSUserDefaults standardUserDefaults] synchronize]; 
} 

Edit: для получения дополнительной некоторой информации и доступных вам вариантов, check out this great article.

+0

вау ... вы быстро и в комплекте с примерами кода, братан ... Большое спасибо! –

2

Если вы работаете на прошивке 6.0 или более позднюю версию, вы можете использовать identifierForVendor из .

NSUUID* pUUID; 
UIDevice* pThisDvc; 

pThisDvc = [UIDevice currentDevice]; 
if (pThisDvc) 
{ 
    pUUID = [pThisDvc identifierForVendor]; 
} 
+0

Почему мы должны проверять 'if (pThisDvc)' ?? Существуют ли случаи, когда '[UIDevice currentDevice]' не возвращает действительный объект? – n00bProgrammer

1
NSUUID* identifier = [[UIDevice currentDevice] identifierForVendor]; 

NSString* uniqueIdentifier = [identifier UUIDString]; 

Это возвращает уникальный идентификатор для текущего устройства, который является уникальным для каждого приложения. Apple рекомендует использовать это для общих целей и advertisingIdentifier для рекламы.

При внедрении системы для обслуживания рекламных объявлений, использовать значение в свойстве advertisingIdentifier класса ASIdentifierManager вместо этого свойства. Использование этого свойства требует от вас следовать принципам, изложенным в обсуждении класса, для правильного использования этого идентификатора . Для получения дополнительной информации см. Раздел ASIdentifierManager Class .

... от here

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