Я ищу способ определить устройство, на котором работает мое приложение. Меня не интересует версия ПО. Я искал много вопросов, но ни один из них (на удивление) не удовлетворяет мои потребности по следующим причинам:
Решение 1.
NSString *deviceType = [UIDevice currentDevice].model;
Это не работает, потому что это дает мне просто «iPad». Я хочу знать, iPad ли это, iPad 2, новый iPad, iPhone 3GS, iPhone4 и т. д.
Решение 2. Не тестировать тип устройства, а проверять индивидуальные возможности
Это неприменимо, потому что я хочу, чтобы эти данные собирали статистику пользователей, а не выполняли какие-либо операции с конкретным устройством.
Решение 3. Использование UIDeviceHardware, найденного здесь
Этот код выглядит довольно устаревшим и, похоже, обращается к личным данным на устройстве. Есть даже споры о том, будет ли одобрено приложение, использующее это, или нет. Что еще более важно, я понятия не имею, как это работает :) Альтернатива также находится здесь
Являются ли какие-либо из последних двух, которые я упомянул, безопасными для использования? Соответствуют ли они требованиям будущего? Соответствуют ли они правилам одобрения Apple?
Или есть другой способ обойти это?
Заранее спасибо.