是否有方法确定正在运行应用程序的设备。如果可能的话,我想区分iPhone和iPod Touch。
当前回答
只是将iPhone 4S设备代码添加到这个线程…
iPhone 4S将返回字符串@"iPhone4,1"。
其他回答
NSString *deviceType = [[UIDevice currentDevice] systemName];
我可以保证,上述建议将适用于iOS 7及以上版本。我相信iOS 6也能运行。但我不确定。
你可以像这样使用UIDevice类:
NSString *deviceType = [UIDevice currentDevice].model;
if([deviceType isEqualToString:@"iPhone"])
// it's an iPhone
请随意使用这个类(gist @ github)
代码已删除并重新定位到 https://gist.github.com/1323251
更新(01/14/11)
显然,这段代码现在有点过时了,但它肯定可以使用Brian Robbins提供的这个线程上的代码进行更新,其中包括更新模型的类似代码。谢谢你在这个帖子上的支持。
- (BOOL)deviceiPhoneOriPod
{
NSString *deviceType = [UIDevice currentDevice].model;
if([deviceType rangeOfString:@"iPhone"].location!=NSNotFound)
return YES;
else
return NO;
}
我想添加一个私有API来检索设备的正面和外壳颜色:
UIDevice *device = [UIDevice currentDevice];
SEL selector = NSSelectorFromString([device.systemVersion hasPrefix:@"7"] ? @"_deviceInfoForKey:" : @"deviceInfoForKey:");
if ([device respondsToSelector:selector]) {
NSLog(@"DeviceColor: %@ DeviceEnclosureColor: %@", [device performSelector:selector withObject:@"DeviceColor"], [device performSelector:selector withObject:@"DeviceEnclosureColor"]);
}
我在博客上写过这方面的文章,并提供了一个示例应用程序:
http://www.futuretap.com/blog/device-colors/
推荐文章
- 如何删除默认的导航栏空间在SwiftUI导航视图
- 如何在iOS中使用Swift编程segue
- Swift -整数转换为小时/分钟/秒
- Swift:声明一个空字典
- 为什么ARC仍然需要@autoreleasepool ?
- 在成功提交我的应用程序后,“太多符号文件”
- 首先添加一个UIView,甚至是导航栏
- 我如何改变UIButton标题颜色?
- 在Swift中如何调用GCD主线程上的参数方法?
- NSLayoutConstraints是可动画的吗?
- iOS -构建失败,CocoaPods无法找到头文件
- Xcode 4挂在“附加到(应用程序名称)”
- CFNetwork SSLHandshake iOS 9失败
- 请求失败:不可接受的内容类型:文本/html使用AFNetworking 2.0
- 缺少推荐的图标文件-该包不包含iPhone / iPod Touch的应用程序图标,像素为“120x120”,png格式