Имя UIDevice необъяснимо не будет сравниваться

Это приложение работает на двух телефонах (Master/Slave). Я различал телефоны по размеру экрана, но нам пришлось заменить один (того же размера).

Поэтому я решил провести различие, используя вместо этого UIDevice.current.name. Это в ViewDidLoad

print(UIDevice.current.name)

if UIDevice.current.name == "Slave" {isSlavePhone = true;print("SLAVE PHONE")}

else if UIDevice.current.name == "Master" {print("MASTER PHONE")}

else {print("error")}

который дает этот вывод

Раб

ошибка

Итак, он gets UIDevice.current.name отображается как Slave. Я проверил, что в конце .count нет пробела. Но когда запускается If/Else, он не совпадает.

Я в замешательстве и хотел бы знать, почему. Также любопытны любые другие способы различения устройств, которые могут работать на данный момент.


person Chameleon    schedule 26.04.2020    source источник
comment
Может ли это быть странным образом из-за кодировки: stackoverflow.com/a/42126323/1801544?   -  person Larme    schedule 26.04.2020
comment
@Larme не уверен, если я установлю let device = UIDevice.current.name, устройство будет строкой, а не NSString. Также странно, что if device.contains("Slave") действительно срабатывает.   -  person Chameleon    schedule 26.04.2020