热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

支持旧版iOS

如何解决《支持旧版iOS》经验,为你挑选了1个好方法。

我正在开发一个新的iOS应用程序,它应该支持开箱即用的新拖放功能(iOS 11).但是我希望它在旧的(iOS 10)设备上也可以执行.据我所知,设置Deployment TargetiOS 11会阻止应用程序安装在旧设备上.但是,将其设置为iOS 10.3将导致出现错误,并指出Drag and Drop仅适用于iOS 11.0或更高版本.

我的问题是:有没有办法通过提供两个版本(一个有DnD,一个没有遗留)或者告诉xcode忽略旧版本的DnD行,可以让应用程序可用于旧设备?或者这根本不可能?

所有帮助表示赞赏!



1> Rob Napier..:

将所有委托一致性移动到扩展,然后将@available属性添加到扩展.例如:

@available(iOS 11.0, *)
extension DragBoardViewController : UIDragInteractionDelegate { ... }

如果您将这些一致性写为扩展,Xcode 9将自动为您提供修复 - 添加@available属性.

请记住,您绝对可以在iOS 10中定义这些委托方法; 他们只是不会被召唤.关键@available是要防止代码的其他部分在没有先将其包装在#available支票中的情况下调用它.

探索此问题的一个好方法是下载Apple的示例代码,然后将部署目标设置为10.0.你会看到很多修复 - 它弹出来帮助你完成整个过程,并展示如何在你自己的代码中完成它.


推荐阅读
author-avatar
芹牵一线
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有