簡體   English   中英

支持舊版本的iOS

[英]Supporting older versions of iOS

我正在開發一個新的iOS應用,該應用應該支持開箱即用的新拖放功能(iOS 11)。 但是我希望它也可以在較舊的(iOS 10)設備上執行。 據我了解,將Deployment Target設置為iOS 11將阻止該應用程序安裝在較舊的設備上。 但是,將其設置為iOS 10.3將導致出現錯誤,指出“拖放”僅在iOS 11.0或更高版本上可用。

我的問題是:是否可以通過提供兩個版本(一個帶有DnD,一個不帶舊版本)或告訴xcode忽略舊版本的DnD行來使該應用程序可用於較舊的設備? 還是這僅僅是不可能?

感謝所有幫助!

將所有委托符合性移至擴展名,然后將@available屬性添加到擴展名。 例如:

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

如果您將這些一致性寫為擴展名,Xcode 9將自動為您提供修復程序,以添加@available屬性。

請記住,您絕對可以在iOS 10中定義這些委托方法。 他們只是不會被叫。 @available是防止代碼的其他部分在不首先將其包裝在#available檢查中的情況下調用它。

探索此問題的一種好方法是下載Apple的示例代碼 ,然后將部署目標設置為10.0。 您會看到許多修補程序彈出窗口,以幫助您完成該過程,並在自己的代碼中顯示如何進行修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM