用弹出消息确定iPad和iPhone型号


Determing iPad and iPhone models with pop up message

请原谅我缺乏知识!

我有兴趣为我的公司创建一个脚本/网络应用程序,我一直在努力寻找我的问题的答案。

有没有可能用useragent字符串检测iPhone或iPad型号,然后显示一条大意为"你有一部iPhone 5C"的消息?。。。如果没有,我还有什么可能的选择?

我看到过不少关于检测浏览器格式是否为iPad或iPhone的帖子。。还有一个SDK代码,它模拟了我试图实现的概念。

我经验不足。。。但热衷于学习!

模型的用户友好名称无法通过API获得。我参与过的应用程序使用了从几个网站收集的数据,并建立了某种应用程序内列表。您既需要一份型号列表,也需要它们的用户友好名称。两者都可以通过谷歌搜索获得。我不知道有哪个列表非常全面,但只要搜索一下就会找到几个网站,它们的数据可以提炼成一个列表。

要获得用作密钥的设备的型号,请使用以下代码:

[UIDevice currentDevice].model

我认为您正试图通过访问您的网站来获取信息。至少在我看来,你无法用网络脚本知道设备的确切型号。但是您可以确定用户使用的是iPhoneiPad还是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]