Обнаружение iPhone или iPad без выбора универсального приложения - PullRequest
0 голосов
/ 05 сентября 2018

Я действительно хочу, чтобы это работало:

if UIDevice.current.userInterfaceIdiom == .pad {
    print("iPad")
} else {
    print("not iPad")
}

Однако мое приложение печатает только «не iPad», хотя я использую iPad. У меня есть устройства (в разделе Информация о развертывании) на iPhone. Если я изменю это на Universal, оно будет работать, но я не хочу универсальное приложение, я просто хочу быть в состоянии определить, используется ли iPhone или iPad (даже если приложение для iPhone, из-за режима совместимости оно все еще можно запустить на iPad).

Так как я могу определить, является ли устройство iPad или iPhone, не меняя приложение на Universal? Спасибо

Ответы [ 4 ]

0 голосов
/ 05 сентября 2018

Попробуйте это,

print("Model - \(UIDevice.current.model)")

enter image description here

0 голосов
/ 05 сентября 2018

Вы можете проверить модель:

if UIDevice.current.model.hasPrefix("iPad") {
     print("it is an iPad")
} else {
     print("it is not an iPad")
}
0 голосов
/ 05 сентября 2018

Приложение iPhone Only можно загрузить на iPad. Но в текущем сценарии у нас нет устройства с гораздо меньшим разрешением (цель развертывания: 9).

OBJ-C

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone && [[[UIDevice currentDevice] model] hasPrefix:@"iPad"]) {
        // This app is an iPhone app running on an iPad
        NSLog(@"This app is an iPhone app running on an iPad");
    }

Swift

if UIDevice.current.userInterfaceIdiom == .phone, UIDevice.current.model.hasPrefix("iPad") {
    print("iPad")
}
0 голосов
/ 05 сентября 2018

Одна вещь, которую вы можете сделать, это получить ширину внутреннего экрана страницы. Телефоны, как правило, меньше 786 пикселей, а все остальное можно назвать iPad. Использование может сделать что-то вроде этого

    var width = window.innerWidth;
    If (width > 786px) {
        print(‘ipad’);
    } else {
        print(‘not ipad’)
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...