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".
Спасибо