微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Titanium框架中检测iOS模型

如何解决如何在Titanium框架中检测iOS模型

示例: iPad Pro第三代及以后的版本由于引入了底部的黑色条形凹口。 iPad Pro第一代和第二代不存在。所有四个世代具有相同的分辨率。 1024 X 1366 如果我确定此分辨率,它将影响第一代和第二代。

if(Ti.Platform.displayCaps.platformHeight === 1366){
}

代码会导致其他iPad Pro一代出现问题。

解决方法

Titanium在Ti.Platform命名空间中提供了平台标识属性,可用于在代码中进行条件分支。

如果使用Ti.Platform.model的返回模型值,但是它具有一些映射关系以准确了解哪个模型。 https://docs.appcelerator.com/platform/latest/#!/api/Titanium.Platform-property-model

以下是映射列表:

["iPod5,1": "iPod Touch 5","iPod7,1": "iPod Touch 6","iPhone3,1": "iPhone 4",2": "iPhone 4",3": "iPhone 4","iPhone4,1": "iPhone 4s","iPhone5,1": "iPhone 5",2": "iPhone 5",3": "iPhone 5c",4": "iPhone 5c","iPhone6,1": "iPhone 5s",2": "iPhone 5s","iPhone7,2": "iPhone 6",1": "iPhone 6 Plus","iPhone8,1": "iPhone 6s",2": "iPhone 6s Plus","iPhone9,1": "iPhone 7",3": "iPhone 7",2": "iPhone 7 Plus",4": "iPhone 7 Plus",4": "iPhone SE","iPhone10,1": "iPhone 8",4": "iPhone 8",2": "iPhone 8 Plus",5": "iPhone 8 Plus",3": "iPhone X",6": "iPhone X","iPhone11,2": "iPhone XS",4": "iPhone XS Max",6": "iPhone XS Max",8": "iPhone XR","iPhone12,1": "iPhone 11",3": "iPhone 11 Pro",5": "iPhone 11 Pro Max","iPad2,1": "iPad 2",2": "iPad 2",3": "iPad 2",4": "iPad 2","iPad3,1": "iPad 3",2": "iPad 3",3": "iPad 3",4": "iPad 4",5": "iPad 4",6": "iPad 4","iPad4,1": "iPad Air",2": "iPad Air",3": "iPad Air","iPad5,3": "iPad Air 2",4": "iPad Air 2","iPad6,11": "iPad 5",12": "iPad 5","iPad7,5": "iPad 6",6": "iPad 6",5": "iPad Mini",6": "iPad Mini",7": "iPad Mini",4": "iPad Mini 2",5": "iPad Mini 2",6": "iPad Mini 2",7": "iPad Mini 3",8": "iPad Mini 3",9": "iPad Mini 3",1": "iPad Mini 4",2": "iPad Mini 4",3": "iPad Pro (9.7-inch)",4": "iPad Pro (9.7-inch)",7": "iPad Pro (12.9-inch)",8": "iPad Pro (12.9-inch)",1": "iPad Pro (12.9-inch) (2nd generation)",2": "iPad Pro (12.9-inch) (2nd generation)",3": "iPad Pro (10.5-inch)",4": "iPad Pro (10.5-inch)","iPad8,1": "iPad Pro (11-inch)",2": "iPad Pro (11-inch)",3": "iPad Pro (11-inch)",4": "iPad Pro (11-inch)",5": "iPad Pro (12.9-inch) (3rd generation)",6": "iPad Pro (12.9-inch) (3rd generation)",7": "iPad Pro (12.9-inch) (3rd generation)",8": "iPad Pro (12.9-inch) (3rd generation)","AppleTV5,3": "Apple TV","AppleTV6,2": "Apple TV 4K","AudioAccessory1,1": "HomePod","i386": "32 bit Simulator","x86_64": "64 bit Simulator"
]

此参考:How to get device make and model on iOS?

我们可以编写代码来检测模型,例如:

在虚拟设备或模拟器中以xcode运行时,其返回内容如“ iPad8,5(Simulator)”,而当实际设备返回时,其返回“ iPad8,5”

if (Ti.Platform.model === "iPad8,5 (Simulator)" ||
Ti.Platform.model === "iPad8,5"){
return true;
}
else {
return false;
}

此属性不仅与iOS有关,而且适用于所有类型的设备。我只提到了特定于iOS的内容。

@miga完成的帮助

可以在这里找到更新的列表:https://www.theiphonewiki.com/wiki/Main_Page https://gist.github.com/adamawolf/3048717

获取设备ID的步骤:

单击设备->转到相应页面 enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。