繁体   English   中英

如何准确检测iDevice模型?

[英]How to exactly detect iDevice model?

我想检测用户拥有的iDevice ,然后将device name放入UILabel 使用以下代码,应用程序仅检测到我喜欢拥有iPhone 4 / iPod 3G / iPad 1G ...的iPhone / iPad / iPod ...或确切名称(iPhone 3.1 / iPod 2.0 / iPad 2.4)...

这是我的代码:

iDevice.text = [UIDevice currentDevice]. localizedModel;

我试图这样做

iDevice.text = [UIDevice currentDevice]. model;

但小巷里说iPhone,我喜欢iPhone 3.1

好的,听起来您将要使用的方法是使用位于https://github.com/erica/uidevice-extension/的 Erica Sadun创建的类别。

在开始使用它之前,我将传递一些有关类别的信息。 Apple在此处提供有关类别的文档, 网址为http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/chapters/occategories.html

您可以通过在类别名称下的接口文件中声明方法并在相同名称下的实现文件中定义方法来向类添加方法。 类别名称表示方法是对在别处声明的类的添加,而不是新的类。 但是,不能使用类别将其他实例变量添加到类中。

从github下载项目,并将这两个文件添加到您的项目中:

UIDevice-Hardware.h
UIDevice-Hardware.m

您将使用的方法是以下方法之一:

- (NSString *) platform;
- (NSString *) hwmodel;
- (NSUInteger) platformType;
- (NSString *) platformString;

因此,您需要将UIDevice-Hardware.h导入到要使用该方法的文件中。 您将使用该方法返回NSString值并将该值分配给标签,因此您将执行以下操作

mylabel.text = [[UIDevice currentDevice] platformString]

这是另一个很好地介绍了类别的链接: http : //mobile.tutsplus.com/tutorials/iphone/objective-c-categories/

编辑:使用设备仿真器的示例屏幕快照: 在此处输入图片说明 注意:在我的@interface行上方也有#import "UIDevice-Hardware.h"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM