super.viewDidLoad()
// Do any additional setup after loading the view.
print("### UIDevice.current ###")
print("name: ", UIDevice.current.name)
print("systemName: ", UIDevice.current.systemName)
print("systemVersion: ", UIDevice.current.systemVersion)
print("model: ", UIDevice.current.model)
print("localizedModel: ", UIDevice.current.localizedModel)
print("userInterfaceIdiom ", UIDevice.current.userInterfaceIdiom)
print("identifierForVendor: ", UIDevice.current.identifierForVendor as Any)
}
### UIDevice.current ###
name: iPhone 6s
systemName: iOS
systemVersion: 15.1
model: iPhone
localizedModel: iPhone
userInterfaceIdiom UIUserInterfaceIdiom
identifierForVendor: Optional(identifier)
### UIDevice.current ###
name: iPhone 13 Pro
systemName: iOS
systemVersion: 15.1
model: iPhon
localizedModel: iPhone
userInterfaceIdiom UIUserInterfaceIdiom
identifierForVendor: Optional(identifier)
name: 사용자가 지정한 이름이다. 이 속성으로 기기를 판단할 수 없음
model: 해당 아이폰의 모델을 판단해주는 친구인데 자세한 정보는 제공해주지 않음
extension으로 해결해야함
How to determine the current iPhone/device model?
무려 1000표나 받은 extension 이쯤되면 애플잘못같은데
7년전 질문에 현재까지 업데이트가 되고 있는👏 (iPhone 13 Pro 존재, DeviceKit도 있네)
애플이 모델이름을 제공하지 않는 이유는 무엇일까? 🤔
모든 기기가 동일한 환경을 제공해줘야하는 철학??
어떤 기술을 특정 기기는 제공하고 특정 기기는 제공안해주도록하는 건 어긋나기 때문?
애플이 업데이트하는 버전을 사용가능한 모든 기기에는 동일한 기능을 제공해주어야 한다?
근데 저는 노치가 없는 기기들에게는 상단 스테이터스바를 없애서 넓은 스크린을 제공해주고 싶어요