UniqueIdentifier теперь вызывает отклонения от Apple

Пожалуйста, не отмечайте это как дубликат. Этот вопрос о Simperium и о том, как он работает с uniqueIdentifier и identifierForVendor.

Симпериум все еще использует [[UIDevice currentDevice] uniqueIdentifier] в Simperium.m. Это устарело, и Apple теперь полностью отвергает приложения, использующие этот вызов.

Я экспериментирую с [[[UIDevice] currentDevice] identifierForVendor] UUIDString]; но я не уверен, возникнут ли какие-либо проблемы с этим.

Что ты говоришь?

Лучший,

3 ответа

Вы также можете использовать этот метод для получения uniqueidentifier для вашего приложения.

- (NSString *)createUUID{

NSString *uIdentifier = [[NSUserDefaults standardUserDefaults] objectForKey:@"Unique identifier for test"];

if (!uIdentifier) {

    CFUUIDRef uuidRef = CFUUIDCreate(NULL);

    CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);

    CFRelease(uuidRef);

    uIdentifier = [NSString stringWithString:(NSString *)CFBridgingRelease(uuidStringRef)];

    [[NSUserDefaults standardUserDefaults] setObject:uIdentifier forKey:@"Unique identifier for test"];

    [[NSUserDefaults standardUserDefaults] synchronize];

}

return uIdentifier;

}

Согласно документам Apple, для iOS 6.0 и более поздних версий можно использовать идентификатор ForVendor, поэтому никаких проблем при использовании identifierForVendor

Это должно работать. Потому что они говорят

"Хотя вы, возможно, удалили доступ и использование идентификаторов UDID из своего приложения, недопустимое двоичное сообщение указывает, что ваше приложение использует или обращается к идентификаторам UDID. Пожалуйста, проверьте исходный код на наличие вхождения метода "uniqueIdentifier"; это метод, который возвращает UDID устройства. "

Так что это только вопрос использования метода "uniqueIdentifier".

Спасибо

Другие вопросы по тегам