2015-07-06 2 views
0

Я пытаюсь написать C++ framework для приложения ios и хочу отличать iphone6 ​​и iphone4, которые имеют разную производительность процессора. Я должен закрыть некоторые модули только для iphone4. Так есть способ достичь этого? Благодарю.IOS - Как определить устройство (iphone6, iphone5, iphone4) в моем коде на C++?

This только о решении объекта-c, но я хочу спросить, есть ли какие-либо api для кодов c.

+1

Поскольку вы можете вызывать методы Objective-C из кода C или C++, трудно подумать о причине, почему решение Objective-C не будет быть жизнеспособным в описываемой вами ситуации. – Caleb

ответ

0

Следующие показатели могут быть использованы, чтобы получить строку C, представляющую модель устройства IOS,

size_t size; 
sysctlbyname("hw.machine", NULL, &size, NULL, 0); 
char *machine = malloc(size); 
sysctlbyname("hw.machine", machine, &size, NULL, 0); 

Это решение берется из this Objective-C based answer, который также включает в себя список того, что будет храниться в machine. Список этих значений также можно найти на The iPhone Wiki.

Значение для iPhone 4: iPhone3,x, с x, являющимся либо 1, 2, либо 3, в зависимости от конкретной модели. Значение для iPhone 6: iPhone7,x, с x, являющимся либо 1, либо 2.

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