iOS 11.3正式版锤子系统适配机型型有哪些

当前位置:
&&&ios11适配哪些机型 ios11正式版会不会流畅些值得更新吗
ios11适配哪些机型 ios11正式版会不会流畅些值得更新吗
ios11正式版推送时间定于北京时间日凌晨1点,但是对于国内用户,想要升级iOS 11正式版,最好错过升级高峰期,毕竟9月20日凌晨1点推送,刚开始升级服务器压力比较大。
  目前,苹果已经对外发布公告称:iOS 11正式版中将缺少Apple Pay Cash这一重要功能,而一起推送的watchOS 4同样也会缺少,虽然苹果仍在积极准备这个功能,但由于没有准备好,所以只能放在后期以补丁形式进行推送,此次在ios11缺失的重磅功能Apple Pay Cash是用户通过信息应用完成转账和首款的功能,只是不同的是,钱都转到了Wallet的Cash功能中。
  那么,ios11正式版会不会流畅些?值得更新吗?
  对于这一次的iOS 11,或得最大提升的应该是iPad,不仅提高了iPad工作效率,运行更流畅,而且通过文件管理器可以更方便的查找内容,选择内容,可以变成真正的办公工具。
  值得一提的是,iOS 11的实用功能也增加了不少,比如:关闭开启蜂窝数据,同时系统还能保存GIF动画等,控制中心可以自由添加设置。对国内用户还增加了诈骗短信识别、拼音键盘,上海话语音识别和二维码扫描。
  ios11适配哪些机型,如下:
  iPhone 5S
  iPhone 6
  iPhone 6 Plus
  iPhone 6S
  iPhone 6S Plus
  iPhone SE
  iPhone 7
  iPhone 7 Plus
  iPad mini 2
  iPad mini 3
  iPad mini 4
  iPad 5
  iPad Pro全系(9.7/12.9)
  iPad Air
  iPad Air 2
  第六代iPod Touch
Ta的热门文章
264人申请斐讯智能体脂秤S7
1614人申请森然Seeknature 播吧二代电音版
1883人申请GGMM古古美美 E2小度智能音箱
3243人申请铁腕5智能户外腕表
2402人申请山进莫扎特蓝牙音箱收音机迷人黑
¥3699【微鲸智能投影M1】微鲸智能投影M1 给你生活仪式感
¥3199【空气净化器】AIRX空气净化器A8:大风量无惧噪音
¥1899【ILIFE智意天目X660扫地机器人】ILIFE智意天目X660扫地机器人:全新打造
AI视觉清扫
¥1499【健腹器】SLENDERTONE健腹器:型动人生 大有不同
¥109【ROMOSS】罗马仕(ROMOSS)太阳神移动电源/充电宝 能量随时就位
你还可以分享到以下地方,获得10蘑菇参与!
免费试用:
微信添加"亿智蘑菇"获取我们的服务
微博添加"亿智蘑菇"获取我们的服务
下次自动登录
获取验证码
使用第三方登录前言北京时间今天凌晨1点,苹果再一次让全世界沸腾。iPhone X 带给我们的最大改变:全屏 Super Retina显示屏。它提供了更多的内容显示空间,同时也营造了更加深入的沉浸感。作为 iOS 开发者,在为强大的 Face ID 和全面屏欣喜的同时,我更担忧“齐刘海”的适配! 下面结合官方的人机交互指南,来了解下如何设计 App 才能在iPhone X 和其他所有 iOS 设备上都看起来很棒。一、理论部分1.1 屏幕尺寸在竖屏下,iPhone X 上的显示的宽度与 iPhone 6,iPhone 7和 iPhone 8的4.7英寸显示屏的宽度保持一致。然而,iPhone X 比4.7英寸显示屏高了145个点,这导致增加了大约20%的垂直高度内容。大家在为设计师悲伤的同时也不要忘记添加启动图(LaunchImage or LaunchScreen.storyboard)呦~1.2 安全区在 iPhone X 布局中,最关键的是:必须确保布局填满屏幕,同时又不会被设备的圆角,传感器外壳或用于访问主屏幕的指示灯所遮盖,苹果为称此区域为“安全区”。可喜的是,大多数标准的系统提供的UI元素和控件(如 navigation bars,tables 和 collections)都已经为新外形做了很好的适配。 背景已经延伸到显示器的边缘,并且UI元件被很恰当地插入和定位在安全区域。 因此,对于具有自定义布局的 App,支持iPhone X 也应该比较容易,特别是如果使用了 AutoLayout 并遵守安全区域(safe area)和边距布局(margin layout)指南。这些在上文都已经有过较详细的阐述。 下面说几点需要特别注意的:在 iPhone X 上预览 App: 在拿到新机之前,也可以先使用 Simulator 来预览和检查下布局问题。 但是一些依赖硬件的功能,如图像效果和交互体验,最好还是在真机上预览。始终保持全屏体验: 确保背景延伸到显示区域的边缘,以及垂直可滚动的布局(如 tables 和 collections)一直延续到底部。防止边缘内容被裁剪: 一般来说,内容应该是居中对称的,这样它在任何方向看起来都会很棒,不会被边角角或设备外壳夹住,或被主屏幕的指示器遮挡。 为了获得最佳效果,请使用标准的系统界面元素和 AutoLayout 构建界面。 所有 App 都应遵循 UIKit 定义的安全区域和布局边距,因为这些区域可以根据设备和上下文进行适当的填充。 安全区域还可以防止内容覆盖status bar, navigation bar, toolbar, 以及 tab bar.注意 status bar 的高度: status bar 在iPhone X 上比在其他 iPhone上更高。 如果假定你固定 status bar 的高度用于将内容定位在 status bar 的下方,那么现在必须更新你的的 App,才能根据用户的设备动态定位内容。 特别需要注意,当后台任务(如录音和位置跟踪)处于活动状态时,iPhone X上的状态栏不会改变高度。重新考虑隐藏 status bar: iPhone X 较之显示高度为4.7“iPhone 的显示屏提供了更多的内容垂直空间,status bar 占据的只是扩展出来的屏幕区域。况且 status bar 更直观的显示用户有用的信息,如果非要隐藏状态栏,那最好用与这些信息同等重要的内容替代。注意长宽比差异: iPhone X 具有不同于4.7“iPhone 的长宽比。因此,全屏4.7英寸iPhone 图形在iPhone X 上全屏显示时出现裁剪或 letterboxing 。同样,全屏iPhone X 图形全屏显示在4.7“iPhone 上时也会被裁剪或 pillarboxing ,因此要确保重要的视觉内容适配这两种尺寸。避免交互式控件出现在屏幕底部和角落: iPhone X 提供了显示屏底部的滑动手势来访问主屏幕和应用程序切换器的新交互方式,这些手势可能会取消在此区域中实现的自定义手势。 况且屏幕的两个角落过多复杂的交互也不是最佳体验的良好实践。不要遮挡或者特别修饰显示特性来引起用户注意: 请勿尝试隐藏设备的圆角、传感器外壳,或者通过在屏幕顶部和底部放置控件来访问主屏幕的引导。也要特别注意不要试图使用像括号,边框或各种符号等视觉修饰这些特殊区域。为了轻松访问主屏幕允许自动隐藏指示器: 当开启自动隐藏时,如果用户离开屏幕几秒钟,指示器将消失。 当用户再次触摸屏幕时,它会重新出现。 这种行为应该只能用于提升观看体验,如播放视频或照片幻灯片。1.3 色彩iPhone X 的显示器支持 P3 色彩空间,它可以产生比 sRGB 更丰富,更饱和的颜色。可以使用 wide color 来增强视觉体验。 它可以让照片和视频更加逼真生动。更多内容可以参考官网Color management(1.4 手势想必大家都在发布会上看到了,iPhone X 上的显示屏可以使用屏幕边缘手势来访问主屏幕,应用程序切换器,通知中心和控制中心。适应这个新变化的同时,对于开发者要特别注意: 避免干扰系统范围的屏幕边缘手势:用户依赖这些手势在每个 App 中操作,所以在极少数情况下,比如游戏这种强调沉浸式体验的 App 可能需要自定义的屏幕边缘手势,优先级高于系统的手势。 这种行为(称为边缘保护)应该谨慎使用,因为它使得用户难以访问系统级的操作。更多内容参考官网Gestures(补充的注意事项认证方法准确:iPhone X 支持 Face ID进行身份验证。 如果你的 App 集成了 Apple Pay 或其他系统身份验证功能,请务必注意不要在 iPhone X 上引用 Touch ID。同样地,也请确保不要在支持Touch ID 的设备上引用 Face ID。更详细的内容请参考Authentication() 不要重复增加系统提供的键盘功能:在 iPhone X上,即使使用自定义键盘,Emoji / Globe 按钮和 Dictation 按钮也自动显示在键盘的下方。 你的 App 不能影响这些按钮,因此避免在键盘中重复增加这些按钮造成混乱。更详细内容请参阅Custom-keyboards() 二、判断 iPhone X 机型 (Swift)如何判断当前的设备是 iPhone X 呢?有好几种办法,可以考虑取得「iPhone 10,1」这样的 Module Name 来判断,也可以用屏幕分辨率的形式来判断。我觉得要用屏幕分辨率的方式来做,因为这是目前为止最简单也最不容易出错的。因为 iPhone X 只有一种分辨率,那就是 812pt x 375pt (@3x),且没有任何其他设备用了一样的分辨率,特别是高度。于是写了一个基于 UIDevice 的扩展(或者其他任意方法也行):extension UIDevice {
public func isX() -& Bool {
if UIScreen.main.bounds.height == 812 {
return true
return false
在代码中,就可以用 UIDevice.current.isX() 来判断是不是跑在 iPhone X 机型上,然后做一些或不做一些特殊的 Hack 了。当然如果你习惯用三方库,也可以尝试“DeviceKit”let device = Device()
print(device)
// prints, for example, "iPhone X"
if device == .iPhoneX {
// Do something
// Do something else
三、代码适配部分当我们能够判断出设备型号就可以配合系统版本进行适配了3.1 适配 UITableView 组件if (@available(iOS 11.0, *)) {
self.contentInsetAdjustmentBehavior = .never
self.estimatedRowHeight = 0
self.estimatedSectionHeaderHeight = 0
self.estimatedSectionFooterHeight = 0
// Fallback on earlier versions
3.2 适配 UIScrollView 组件if (@available(iOS 11.0, *)) {
scrollView?.contentInsetAdjustmentBehavior = .never
// Fallback on earlier versions
3.3 UITableView中的sectionHeader或者Footer显示不正常还有的发现某些界面tableView的sectionHeader、sectionFooter高度与设置不符的问题,在iOS11中如果不实现-tableView: viewForHeaderInSection:和-tableView: viewForFooterInSection:,则-tableView: heightForHeaderInSection:和- tableView: heightForFooterInSection:不会被调用,导致它们都变成了默认高度,这是因为tableView在iOS11默认使用Self-Sizing,tableView的estimatedRowHeight、estimatedSectionHeaderHeight、estimatedSectionFooterHeight三个高度估算属性由默认的0变成了UITableViewAutomaticDimension,解决办法简单粗暴,就是实现对应方法或把这三个属性设为0。if #available(iOS 11.0, *) {
tableView.estimatedRowHeight = 0;
tableView.estimatedSectionHeaderHeight = 0;
tableView.estimatedSectionFooterHeight = 0;
automaticallyAdjustsScrollViewInsets =
3.4 适配网页加载不全下面有白边if #available(iOS 11.0, *) {
webView.scrollView.contentInsetAdjustmentBehavior = .never
3.5 适配iPhoneX不能铺满屏的问题&1&给Brand Assets添加一张大小的图片打开Assets.xcassets文件夹,找到Brand Assets右键Show in Finder添加一张大小的图片&2&修改Contents.json文件,添加如下内容{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2436h",
"filename" : ".png”,
"minimum-system-version" : "11.0",
"orientation" : "portrait",
"scale" : "3x"
&3&使用 LaunchScreen.storyboard 设置启动图使用 LaunchScreen.storyboard 文件将简单视图约束定位,实现各种尺寸的自适应。3.6 适配iPhoneX//适配iPhoneX
let LL_iPhoneX = (kScreenW == Double(375.0) && kScreenH == Double(812.0) ?true:false)
let kNavibarH = LL_iPhoneX ? Double(88.0) : Double(64.0)
let kTabbarH = LL_iPhoneX ? Double(49.0+34.0) : Double(49.0)
let kStatusbarH = LL_iPhoneX ? Double(44.0) : Double(20.0)
3.7 Xcode9 打包注意事项Xcode9 打包版本只能是8.2及以下版本,或者9.0及更高版本Xcode9 不支持8.3和8.4版本Xcode9 新打包要在构建版本的时候加入 AppSore iconXcode9 沿用了之前的分包设计,可以配置打出多种设备的包文件,用户安装时根据设备不同分别安装不同的API包,减小安装包大小。3.8 iOS 11 相册权限变更iOS11以前:NSPhotoLibraryUsageDescription:访问相册和存储照片到相册(读写),会出现用户授权。iOS11之后:NSPhotoLibraryUsageDescription:无需添加。默认开启访问相册权限(读),无需用户授权。NSPhotoLibraryAddUsageDescription: 添加内容到相册。(写),会出现用户授权。1添加评论分享收藏文章被以下专栏收录iOS11 & iPhoneX适配总结
招聘信息:
一、前言iOS11发布也有一段时间了,每次版本升级,相关的适配工作当然是下个版本的核心工作之一。而且这次iOS11的更新,相对于iOS10的更新来说,改动点还是比较多的。除了iOS11系统的更新之外,iPhoneX刘海的打理工作也是必不可少。以前我们总是庆幸作为iOS开发者,不必像Android开发者需要考虑各种不同机型的适配问题。但是现在,随着iPhone各种历史版本的存在,各种花式的新版本产生,不同版本之间的适配问题,也是未来我们作为iOS开发者必然要考虑的重要问题之一。这次我主要负责我们这边两款App(滴滴代驾司机端+驾管App)iOS11&iPhoneX适配工作。中间也躺过很多坑,一一记录了下来写成这篇文章,既是对自己工作的一次总结,也可以分享给其他iOS开发者,能够让大家少趟一些坑。本文将分为三个部分,分别从三方库适配、UI适配、权限适配、补充知识等方面分别进行展开。二、三方库适配问题。2.1 CocoaLumberjack 编译出错CocoaLumberjack编译报错问题原因:从错误提示可以看出在Xcode9中os_log_error的第二个参数format必须要为不可变的string类型,而不是char*。解决方案:我们只要改成如下形式就可以了os_log_error(OS_LOG_DEFAULT,&"%s",&msg);CocoaLumberjack的作者也在[issue883]()中解决了该问题。如果你的工程是pod依赖的话,将pod版本升级到3.3.0版本即可。2.2 WebViewJavascriptBridge崩溃处理我们代驾司机端web容器使用的是WKWebView,jsBridge使用的是WebViewJavascriptBridge这个三方库,更新到Xcode9之后,只要进入WKWebView容器,就会产生如下crash:WebViewJavascriptBridge crash问题原因:当你使用WKWebView作为你的H5容器的时候,WKNavigationDelegate有个回调就是-&(void)webView:(WKWebView&*)webView&decidePolicyForNavigationAction:(WKNavigationAction&*)navigationAction&decisionHandler:(void&(^)(WKNavigationActionPolicy))decisionH这个回调主要负责根据webView、navigationAction相关信息决定这次跳转是否可以继续进行。调用decisionHandler(WKNavigationActionPolicyAllow);响应这次跳转请求。调用decisionHandler(WKNavigationActionPolicyCancel);就是不响应这次跳转请求。查看WebViewJavascriptBridge源码可以看出,在WKWebViewJavascriptBridge.m文件中WKVebViewCrash.png在Xcode9中,如果连续看了两次调用decisionHandler方法就会crash。这个问题在之前版本的Xcode均是没有问题的。解决方案:方案一:修改源码在上面代码的149行和150行之间添加方案二:pod依赖,原作者没有修改此问题,无法修改源码,也可以在业务代码中进行规避。在你自己业务代码的对应对调中添加排除代码,如下:WKWebViewCrash2.png2.3 LumberjackConsole UI适配问题原因:iOS7之后,如何你设置self.edgesForExtendedLayout = UIRectEdgeNone的话,系统通过设置UIViewController的automaticallyAdjustsScrollViewInsets属性来自动调整UIScrollView的contentInset,使UIscrollView能够呈现在我们的可是范围之内,而不会被navBar挡住。这个属性在iOS11中被废弃掉了,在iOS11中代替该属性功能的则是UIScrollView类中的contentInsetAdjustmentBehavior和adjustedContentInset属性.在iOS11中用来决定scrollView超出安全区域与边缘距离的属性是adjustedContentInset而不是contentInset。当scrollView超出安全区域时系统会自动调整SafeAreaInsets值,进而影响 adjustedContentInset,所以导致scrollView下移20pt或者64pt。当使用自定义的 navigationbar,并且scrollView的frame超出安全区域,SafeAreaInsets为(20,0,0,0);当使用系统的navigationbar,SafeAreaInsets为(64,0,0,0)。解决方案:在UIScrollView或者UITableView初始化的地方,加入如下代码即可。针对LumberjackConsole这个开源库,我们可以在PTEConsoleTableView.m文件中的commonInit最后加入如下代码即可。if([self&respondsToSelector:@selector(setContentInsetAdjustmentBehavior:)]){
&&&&&&[self&setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
}三、UI适配3.1 NavBar中右上角的customView产生偏移问题原因:在iOS11中,新的导航视图,使用了AutoLayout布局。而我们这边右上角的两个按钮组合成一个customView,然后把这个customView设置给setRightBarButtonItems而来。customView内部都是frame布局,所以在自动布局下面出错。解决方案:NavBar中的customView里面针对iOS11,均要采用自动布局。3.2 NavBar中自定义TitleView产生偏移问题原因:同上解决方案:同上这里需要注意一点,自动布局的UI是延迟设置frame的。如果aView采用自动布局。然后你马上调用它的aView.bounds是不正确的。3.3 NavBar中按钮的响应区域都变小了。问题原因:iOS11之前,虽然我们设置了NavBar上每一个[btn sizeToFit]。苹果依然会帮我们把每一个按钮的点击区域扩大,可以点击区域如上图绿色区域所示。但是在iOS11中,你的按钮的bounds为多大,那你的点击区域就只有多大。估计这个改动也与这次NavBar的大概有关系。解决方案:扩大每一个btn的bounds,而不要使用sizeToFit方法。3.4 NavBar的BarButtonItem无法贴边。有(非plus手机16pt,plus手机20pt)的区域浪费。造成UI偏移,并且最左侧和最右侧区域无法点击。问题原因:这个UINavigationBarContentView平铺在导航栏中作为iOS11的各个按钮的父视图,该视图的所有的子视图都会有一个layoutMargins被占用,也就是系统调整的占位。解决方案:去掉系统默认占位。系统并没有提供我们直接去掉系统默认占位的方法,那怎么做呢?我们新建一个UINavigationBar的分类,hook住UINavigationBar的layoutSubviews方法。然后遍历View,重新设置layoutMargin约束。重新设置layoutMargin约束3.5 UITableView 默认开启Self-Sizing,导致UI显示有问题。问题原因:在iOS11中UITableView会默认使 Self-Sizing,这会导致tableView的 estimatedRowHeight 、 estimatedSectionHeaderHeight 、 estimatedSectionFooterHeight 的高度估算属性由默认的0变成 UITableViewAutomaticDimension ,reloadData时可能会导致最后显示的contentSize与预想的不一致;同时在iOS11中如果不实现 -tableView: viewForHeaderInSection: 和 tableView: viewForFooterInSection: 方法,则 -tableView: heightForHeaderInSection: 和 - tableView: heightForFooterInSection: 不会被调用,而iOS11之前则没问题。上述都可能会导致界面出现错乱。解决方案:单独关闭摸一个UITableView的Self-Sizing。&&&&_tableView.estimatedRowHeight&=&0.;
&&&&_tableView.estimatedSectionFooterHeight&=&0.;
&&&&_tableView.estimatedSectionHeaderHeight&=&0.;关闭所有的UIScroolView、UITableView和UICollectionView的Self-Sizing:&&&UIScrollView.appearance.contentInsetAdjustmentBehavior&=&UIScrollViewContentInsetAdjustmentN
&&&UITableView.appearance.estimatedRowHeight&=&0;
&&&UITableView.appearance.estimatedSectionFooterHeight&=&0;
&&&UITableView.appearance.estimatedSectionHeaderHeight&=&0;3.6 keyWindow获取错误, 导致UI问题。问题原因:机器猫图标是一个UIWindow,windowLevel级别比UIWindowLevelStatusBar还高,所以可以常驻UI最上方。第一次进入该页面,点击“更多”,弹出popView,点击收藏,弹出系统UIAlertView,此时UIAlertView变成了keyWindow。当UIAlertView消失的时候,keyWindow会被谁接管呢?iOS11之前,弹出UIAlertView之前的keyWindow是[[UIApplication sharedApplication].delegate window],那么消失的时候,keyWindow还是[[UIApplication sharedApplication].delegate window]。iOS11, 弹出UIAlertView之前的keyWindow是[[UIApplication sharedApplication].delegate window],那么消失的时候,keyWindow变成z轴最高的UIWindow,即变成了机器猫那个window。所以导致popView被添加到机器猫window中,造成UI样式问题。解决方案:重写自定义UIWindow的becomeKeyWindow的方法,每次自定义window将会变为keyWindow的时候,把keyWindow改成[[UIApplication sharedApplication].delegate window]。-&(void)becomeKeyWindow{
&&&&UIWindow&*appWindow&=&[[UIApplication&sharedApplication].delegate&window];
&&&&[appWindow&makeKeyWindow];
}3.7 状态栏高度写死为20pt,导致在iPhoneX上面遮挡住statusBar。问题原因:iPhoneX上的statusBar的高度为44pt,跟其他iPhone型号的20pt不一样。所以以后我们在以statusBar为定位点的时候,不能写死20pt。而要使用[UIApplication sharedApplication].statusBarFrame.size.height来获取,为了方便,可以定义为宏,放到pch文件中,如下:#define&kApplicationStatusBarHeight&&[UIApplication&sharedApplication].statusBarFrame.size.height&//状态栏的高度解决方案:状态栏高度定位的时候不要写死20,要使用[UIApplication sharedApplication].statusBarFrame.size.height来获取。补充iOS11之前导航栏默认高度为64pt(这里高度指statusBar + NavigationBar),iOS11之后如果设置 prefersLargeTitles = YES则为96pt,默认情况下还是64pt,但在iPhoneX上由于刘海的出现 statusBar由以前的20pt变成 44pt,所以iPhoneX上高度变为88pt,如果项目里隐藏了导航栏加了自定义按钮之类的,这里需要注意适配一下。3.8 通过遍历statusBar的subviews中的UIStatusBarDataNetworkItemView获取网络状态在iPhoneX上会crash。问题原因:之前我们采用遍历statusBar,获取UIStatusBarDataNetworkItemView实例,再获取网络状态的。代码如下:+&(NSNumber&*)&dataNetworkTypeFromStatusBar&{
&&&&UIApplication&*app&=&[UIApplication&sharedApplication];
&&&&NSArray&*subviews&=&[[[app&valueForKey:@"statusBar"]&valueForKey:@"foregroundView"]&subviews];
&&&&NSNumber&*dataNetworkItemView&=&
&&&&@try&{
&&&&&&&&if&([subviews&count]&>&0)&{
&&&&&&&&&&&&for&(id&subview&in&subviews)&{
&&&&&&&&&&&&&&&&if([subview&isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView")&class]])&{
&&&&&&&&&&&&&&&&&&&&dataNetworkItemView&=&
&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&@catch&(NSException&*exception)&{
&&&&@finally&{
&&&&return&[dataNetworkItemView&valueForKey:@"dataNetworkType"];
}但是在iphoneX的statusBar的内部结构已经改变,不能根据遍历获取UIStatusBarDataNetworkItemView的状态获取网络状态状态。可以通过po [statusBar recursiveDescription]打印出来iphoneX内部结构了,可以看出变化非常的大。解决方案:使用AFNetworking中的AFNetworkReachabilityManager类,或者使用获取网络连接状态。四、权限适配4.1 无法获取定位信息,第一次打开app也无法弹出定位权限提示框问题原因:iOS11 定位相关的权限做了更改,在iOS11上使用了新的定位权限key。解决方案:如果原来申请的权限是始终允许NSLocationAlwaysUsageDescription,那么需要在保留原来的key的基础上增加NSLocationWhenInUseUsageDescription和NSLocationAlwaysAndWhenInUsageDescription。五、其他一些补充5.1 如何判断该设备是不是iPhoneX5.2 一些常用的宏定义#define&IS_IPHONE_X&[KDDeviceHelper&is_iPhone_X]
#define&IPHONE_NAVIGATIONBAR_HEIGHT&&(IS_IPHONE_X&?&88&:&64)
#define&IPHONE_STATUSBAR_HEIGHT&&&&&&(IS_IPHONE_X&?&44&:&20)
#define&IPHONE_SAFEBOTTOMAREA_HEIGHT&(IS_IPHONE_X&?&34&:&0)
#define&IPHONE_TOPSENSOR_HEIGHT&&&&&&(IS_IPHONE_X&?&32&:&0)六、参考文献七、联系方式
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
您还没有登录!请或
点击量3441点击量2889点击量2809点击量2267点击量2194点击量1971点击量1940点击量1903点击量1880
&2018 Chukong Technologies,Inc.
京公网安备89iOS 11适配哪些机型?苹果iOS 11升级机型一览
iOS 11适配哪些机型?苹果iOS 11升级机型一览& &&iOS 11第一个测试版已经送出,不少用户除了关心正式版何时放出外,还关心下面这个问题。
没错,那些机型可以升级iOS 11呢?对于这个问题,苹果在大会上没有提及,但时候的更新说明中提到了,还是老规矩,自动淘汰iOS前一代系统的最后一个机型(iPhone系列)。
本次可以升级的iOS 11机型:
iPhone 6 Plus
iPhone 6S Plus
iPhone 7 Plus
iPad mini 2
iPad mini 3
iPad mini 4
iPad Pro全系(9.7/12.9)
iPad Air 2
第六代iPod Touch
对于那些手持iPhone 5、5C的用户来说,也是时候换新设备了。
最后要说的是,iOS 11还针对中国市场加入了二维码扫描、诈骗短信识别、拼音键盘以及上海话语音识别等功能。
您可能也感兴趣:
愚人节当天,网易云下架周杰伦作品登上热搜,微博评论区一片哀嚎,不少爱之深责之切的网友假...
官方微博/微信
每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。
↑扫描二维码
想在手机上看科技资讯和科技八卦吗?想第一时间看独家爆料和深度报道吗?请关注TechWeb官方微信公众帐号:1.用手机扫左侧二维码;2.在添加朋友里,搜索关注TechWeb。
Copyright (C)
All rights reserved. 京ICP证060517号/京ICP备号 京公网安备76号
TechWeb公众号
机情秀公众号

我要回帖

更多关于 刺激战场适配机型 的文章

 

随机推荐