当前位置: 首页 > 科技观察

iOS11更新要点

时间:2023-03-14 15:20:56 科技观察

App开发团队必须知道的WWDC2017已经过去了大约四分之一。近日,随着Xcode9正式版的发布以及iPhone8、iPhoneX的发布,iOS11的全面适配也被提上了日程。.整理了更新要点,包括开发、设计、产品乃至市场需要注意的点,希望分享出来,对大家有所帮助。新框架ARKitiOS11引入了新的ARKit框架,让你轻松打造无与伦比的iPhone和iPad增强现实体验。通过将数字对象和信息与您周围的环境融合,ARKit将应用程序从屏幕上解放出来,让它们超越屏幕边界,并让它们以全新的方式与现实世界互动。ARKit框架提供了两种AR技术,一种是基于3D场景的增强现实(SceneKit),一种是基于2D场景的增强现实(SpriteKit)。要显示AR效果,必须依赖苹果的游戏引擎框架(3D引擎SceneKit,2D引擎SpriteKit),主要是因为游戏引擎可以加载物体模型。ARKit框架中的view对象虽然继承自UIView,但是由于目前的ARKit框架本身只包含cameratracking,不能直接加载objectmodels,只能依赖游戏引擎加载ARKit。另外需要说明的是,ARKit虽然是iOS11发布的新框架,但并不是所有的iOS11系统都可以使用,而是必须能够使用A9及以上的处理器。Apple从iPhone6S开始使用A9处理器。也就是说,iPhone6及之前的机型无法使用ARKit。可用性AR当然可以在没有ARKit的情况下完成,PokémonGo就是最好的例子。ARKit只是降低了做AR的门槛。ARKit的使用场景比较有限,必须使用iOS11系统,处理器必须是A9及以上。如果你需要长期大量支持iOS8、9、10系统,以及iPhone6S之前的系统,你可能需要重新考虑你的AR方案。由于涉及苹果的游戏引擎框架(3D引擎SceneKit、2D引擎SpriteKit),学习曲线比较陡峭,需要长期的知识储备才能开发。如果ARKit仅用于某些促销活动,由于促销活动的时效性较短,ARKit的学习成本较高,综合性价比较低,不推荐使用。如果整个APP都是基于AR服务功能,那么这会是个好主意,比如基于摄像头的“大众点评”,我们可以直接通过摄像头来展示现实世界,叠加一些信息来展示评分和地理商家的位置。对于跨平台游戏,由于兼容性问题,ARKit也不是一个很好的解决方案。如果只涉及Apple平台,而你已经使用过SceneKit或SpriteKit,此时又想加入AR功能,那么恭喜,ARKit将是最佳选择。PDFKitiOS11之后,苹果在iOS平台开放了PDFKitSDK。这是一个在MacOS上已经存在很长时间的框架,但在iOS上却迟迟没有出现。你可以使用这个框架来显示和操作pdf文件,你可以使用PDFKit来实现显示pdf文档、显示缩略图、展开大纲、搜索文本等功能。可用性是一个非常实用的框架。虽然WebView也可以阅读pdf,但原生的体验显然是最好的。当然,如果考虑到iOS8、9、10的兼容性,现在可能还不是改的时候。CoreML&VisionApple在iOS5中引入了NSLinguisticTagger来分析自然语言。iOS8引入了Metal,它提供了对设备GPU的低级访问。去年,Apple在Accelerate框架中添加了基本神经网络子程序(BNNS),允许开发人员构建用于推理(而非训练)的神经网络。今年,Apple给了我们CoreML和Vision!CoreML使在应用程序中使用经过训练的模型变得更加容易。Vision让我们可以轻松访问Apple的面部检测模型、面部标志、文本、矩形、条形码和对象。总而言之,如果你已经有一个训练好的模型,你就可以对图像进行场景识别。通过CoreML和Vision识别图像描绘的场景Availability如果想玩好CoreML和Vision,学习曲线还是很陡峭的。如何建立和训练自己的模型是一个很大的课题,不可能一蹴而就。基于照片或相机的应用可以考虑使用CoreML和Vision,甚至可以结合ARKit来分析基础真实场景,并在真实场景上叠加虚拟信息。IdentityLookup可以开发一个AppExtension来拦截系统短信和彩信信息。当系统信息应用程序收到来自陌生人的短信时,它会询问所有已打开的过滤器扩展。如果分机指示消息应该被拦截,则不会将此信息传递给您。可用性一些运营商或辅助应用程序可能会使用此功能。DeviceCheck通过使用DeviceCheck,你可以在一定程度上追踪到手机使用了你开发的app(即使app被卸载,或者刷机)。DeviceCheck允许你通过你的服务器与苹果服务器进行通信,为单个设备设置两位数据(没错,就是2bit,00011011四种可能)。这样,即使App卸载重装,或者刷机,App后台依然可以得到之前设置的状态。Usability可以有效防止刷新用户活动,但是不能代替deviceID,因为这个token是一次性的。整个流程大致是这样的:App通过调用Apple的API获取一个token,然后将这个传递给后台服务器,告诉后台我要领券。后台收到App的领券请求后,拿着token去苹果后台查看设备状态。后台查看状态后,根据2bit数据和对应时间戳决定是否发放优惠券。如果要发优惠券,发完优惠券后,后台会拿token去更新苹果后台的2bit数据。FileProvider&FileProviderUIFileProvider实现了云文件扩展,允许您在用户设备或云端获取文件。FileProviderUI为FileProvider提供了一套类似于FilesApp的接口。可用性相信会成为未来文档相关应用的标准配置。核心NFCNFC(NearFieldCommunication)是近距离无线通信技术。CoreNFC主要用于检测NFC标签,读取其中包含的NDEF数据。需要注意的是,同一时间只能打开一个会话App。需要在前台,无效的session退到后台最多可以存活60秒。当超时到期时,需要配置新会话。模块型号可用性首先,您需要有一个NFC设备。有设备的可以考虑,没有设备的不能硬着头皮做NFC为了推出新功能。Drag&Drop苹果官网的draganddropDemo拖放功能,iOS系统帮我们处理了大部分工作,开发者几乎只需要处理结果即可。UITextView和UITextField原生支持拖放,而UICollectionView和UITableView的拖放有一系列专门的委托来表示拖放的发生和结束。您还可以为任何UIView子类定义拖放行为。与在Mac上拖动不同,在iOS上拖动完全尊重多点触控屏幕,因此您可能需要针对一次多个拖动行为做一些特别的事情。可用性只有iPad可以支持不同应用之间的内容拖放,而iPhone只能在应用内拖放内容。iPhone上的这种限制使得DragandDrop大大减少。拖放可以在文本和照片编辑应用程序上大放异彩。iPhoneX在iOS11设备上适配SafeArea最大的问题应该是tableView莫名偏移了20pt或者64pt。原因是iOS11弃用了automaticallyAdjustsScrollViewInsets属性,取而代之的是新的UIScrollView的contentInsetAdjustmentBehavior属性。这一切的罪魁祸首是新推出的安全区。SafeAreaSafeArea帮助我们将视图放置在整个屏幕的可见部分。即使navigationBar设置为透明,系统也认为安全区域是从navigationBar的底部开始的。安全区域定义了视图中可见区域的一部分,保证不被系统的状态栏或父视图提供的视图覆盖,如导航栏。您可以使用additionalSafeAreaInsets来扩展安全区域。每个视图都可以更改安全区域插图的大小,控制器也可以。safeAreaInsets属性反映视图与视图安全区域的边距。对于一个controller的rootView,safeAreaInsets值包括statusBar和其他可见条覆盖的区域和其他通过additionalSafeAreaInsets自定义的insets值。对于视图层次结构中的其他视图,safeAreaInsets值反映视图的覆盖部分。如果一个视图完全在其父视图的安全区域内,那么safeAreaInsets就是(0,0,0,0)。应用在iPhoneX上不能全屏。如果你的应用在iPhoneX上运行,你发现它没有填满屏幕,并且上下有黑边,说明你没有使用storyboard作为LaunchImage,而是资产。Assets的解决方法是添加一个LaunchImage,大小为1125x2436。iPhoneX需要特别注意的适配点特别需要注意隐藏导航栏的界面,因为“耳朵”和SafeArea,它很可能上面会有一小块空白区域。如果列表页没有tabBar,并且列表页可以拉到底部,请在列表页末尾留一点空间给手势区域。列表页使用系统的tabBar,完全自动适配,但如果是自定义的tabBar,请在tabBar下方留空,用于手势区域。FaceID&TouchID请注意,iPhoneX支持FaceID身份验证,但不支持TouchID。注意区分机型,不要在iPhoneX上使用TouchID,也不要在其他设备上使用FaceID。Xcode9更新可以同时打开多个不同的模拟器Swift4.0支持构建到编辑体验中的重构,并且可以跨Swift、Objective-C、InterfaceBuilder和许多其他文件类型工作命名颜色-可以在xcassets中添加颜色,然后引用这个颜色在代码或IBAppStore更新iOS11整体布局AppStore布局苹果已经在9月20日正式向用户推送了iOS11正式版,AppStore迎来了重大更新,无论是布局还是UI与之前相比,有较大的变化。页面取消了畅销榜推荐;免费榜和付费榜的入口变得更深;搜索能力更强,可搜索社论、专题榜单等多种内容;增加了Today软件的推荐,并且在游戏软件中重点推荐了AR游戏,看来新的AppStore已经为AR软件未来的发展做了铺垫。取消畅销榜推荐,免费榜和付费榜入口变深,表明苹果有意强化内容和搜索镀金,为SearchAds的到来做足前戏,同时弱化名单,从而达到打击名单的目的。App自荐今天是AppStore最大的一次更新。与之前的苹果推荐不同,这次你可以将你的App推荐到AppStore:https://developer.apple.com//contact/app-store/promote/你需要准备的信息包括:开发者名称,应用名称,应用程序AppleID、应用程序描述、支持的设备、语言支持、区域支持、应用程序标题日期、应用程序发布日期和应用程序故事。值得一提的是,在应用描述和应用故事中,最好尽量解释应用的亮点、关键功能等竞争信息。当然,appstories会更侧重情感方面的东西,向Apple解释你开发app的灵感和与开发者相关的stories。截图和视频预览搜索截图显示为3AppStore搜索结果。从iOS10开始显示两个App截图,iOS11已经可以显示三个。将只有进入App详情页才能看到的信息在上层公开,让用户无需点击进入即可了解更多信息。在iOS10上将前两个App截图拼接成一张完整图片的想法可以改变了。在iOS11上,也许你应该设计一个3个App截图的拼接模式。在iOS10上,应用程序的前两个屏幕截图合并为一个完整的图片。另外,在iOS10中一个App只能上传一个预览视频,在iOS11中可以上传三个预览视频。此外,视频预览可以自动无声播放。蜂窝网络下载限制蜂窝网络下载限制已提高到150MB,这不完全是iOS11的更改。9月20日,除了发布iOS11正式版外,苹果还宣布更改AppStore政策,允许用户在连接到蜂窝网络时下载不超过150MB的应用程序。之前的限制是100MB。Apple在其官方网页的帖子中提到了这个新的下载限制。这对大多数应用程序来说是一件好事,没有必要为了挤掉那么多兆的空间而进行比较。为了影响蜂窝网络下用户更新速度的业务发展,实际上是本末倒置。