请原谅我缺乏知识!
我有兴趣为我的公司创建一个脚本/网络应用程序,我一直在努力寻找我的问题的答案。
有没有可能用useragent字符串检测iPhone或iPad型号,然后显示一条大意为"你有一部iPhone 5C"的消息?。。。如果没有,我还有什么可能的选择?
我看到过不少关于检测浏览器格式是否为iPad或iPhone的帖子。。还有一个SDK代码,它模拟了我试图实现的概念。
我经验不足。。。但热衷于学习!
模型的用户友好名称无法通过API获得。我参与过的应用程序使用了从几个网站收集的数据,并建立了某种应用程序内列表。您既需要一份型号列表,也需要它们的用户友好名称。两者都可以通过谷歌搜索获得。我不知道有哪个列表非常全面,但只要搜索一下就会找到几个网站,它们的数据可以提炼成一个列表。
要获得用作密钥的设备的型号,请使用以下代码:
[UIDevice currentDevice].model
我认为您正试图通过访问您的网站来获取信息。至少在我看来,你无法用网络脚本知道设备的确切型号。但是您可以确定用户使用的是iPhone
、iPad
还是iPod
。以下是两个选项:
Javascript:
var Apple = {};
Apple.UA = navigator.userAgent;
Apple.Device = false;
Apple.Types = ["iPhone", "iPod", "iPad"];
for (var d = 0; d < Apple.Types.length; d++) {
var t = Apple.Types[d];
Apple[t] = !!Apple.UA.match(new RegExp(t, "i"));
Apple.Device = Apple.Device || Apple[t];
}
// is this an Apple device?
alert(
"Apple device? " + Apple.Device +
"niPhone? " + Apple.iPhone +
"niPod? " + Apple.iPod +
"niPad? " + Apple.iPad
);
PHP脚本:
// Apple detection array
$Apple = array();
$Apple['UA'] = $_SERVER['HTTP_USER_AGENT'];
$Apple['Device'] = false;
$Apple['Types'] = array('iPhone', 'iPod', 'iPad');
foreach ($Apple['Types'] as $d => $t) {
$Apple[$t] = (strpos($Apple['UA'], $t) !== false);
$Apple['Device'] |= $Apple[$t];
}
// is this an Apple device?
echo
"<p>Apple device? ", ($Apple['Device'] ? 'true' : 'false'),
"</p>n<p>iPhone? ", ($Apple['iPhone'] ? 'true' : 'false'),
"</p>n<p>iPod? ", ($Apple['iPod'] ? 'true' : 'false'),
"</p>n<p>iPad? ", ($Apple['iPad'] ? 'true' : 'false'),
'</p>';
欲了解更多信息,请阅读此处。
由于你的标签和声明有点令人困惑,所以如果你正在使用iOS sdk并构建iOS应用程序,你只需从一行中获取模型,如:
[[UIDevice currentDevice] platformString]