IS可以使用IOS 6新方法並部署在IOS 5上。 我應該遵循什麼方法? PLease指南。使用Xcode 4.5和iOS 6 SDK時,是否可以定位較舊的iOS版本?
回答
使用弱連接類來完成這一點:
使用或iOS版本的OS X比你的部署目標後引入的任何符號之前,請檢查符號是否可用。如果符號不可用,請提供一個替代代碼路徑。
假設您將Xcode項目中的基礎SDK設置爲iOS 4.0。這允許您的代碼在該版本中運行時使用該版本操作系統中的功能。假設你想讓你的軟件在iOS 3.1中運行,即使它不能在該版本的操作系統中使用更新的功能。通過將部署目標設置爲較早版本的操作系統來實現此目的。
在Objective-C中,
instancesRespondToSelector:
方法會告訴您給定的方法選擇器是否可用。例如,使用availableCaptureModesForCameraDevice:
方法,第一個可用的的iOS 4.0,你可以使用如下代碼:
if ([UIImagePickerController instancesRespondToSelector: @selector (availableCaptureModesForCameraDevice:)]) { // Method is available for use. // Your code can check if video capture is available and, // if it is, offer that option. } else { // Method is not available. // Alternate code to use only still image capture. }
當你的代碼的iOS 4.0上運行或更高版本,它可以調用
availableCaptureModesForCameraDevice:
確定如果視頻捕捉在設備上可用。但是,它在iOS 3.1中運行時,必須假定只有靜止圖像捕捉可用。如果你要建立這個代碼使用不同的設置,你會看到下面的結果:因爲
availableCaptureModesForCameraDevice:
方法沒有定義 構建會失敗:如果指定iphoneos3.1的基本SDK設置在那個系統版本中。
如果指定iphoneos4.0的基本SDK設置,然後將部署目標:
iphoneos4.0:該軟件將運行只在iOS 4.0或更高版本,將無法啓動較早系統。
iphoneos3.1:該軟件將在iOS 4.0和iOS 3.1中運行,但無法在早期系統上啓動。在iOS 3.1中運行時,軟件將使用替代代碼捕獲圖像。
檢查一個Objective-C特性的通過使吸氣劑的方法名(這是相同的屬性名),以
instancesRespondToSelector:
的可用性。要確定弱鏈接的C函數是否可用,請使用鏈接器將不可用函數的地址設置爲NULL的事實。通過將地址與NULL或nil進行比較來檢查函數的地址 - 因此它的可用性。
參考
- 1. 當使用Xcode 4.2和iOS 5 SDK時,是否可以鎖定舊版iOS?
- 2. 集成舊版Xcode的Facebook SDK以支持iOS 5和iOS 6
- 3. Xcode 4.5和ios 6 sdk方向
- 4. 較舊的iOS設備是否可以運行使用較新版本的iOS SDK構建的應用程序?
- 5. 運行較舊的iOS版本XCode
- 6. 舊版iOS模擬器是否與iOS SDK相同?
- 7. 升級到iOS 6 SDK和Xcode 4.5後Xcode錯誤
- 8. 在iOS 6中的Xcode更改UISwitch文本是/否4.5
- 9. IOS 6 Xcode 4.5 MFMailComposer崩潰
- 10. 卸載xcode 4.5(iOS 6)
- 11. iOS 6 MapKit是否適用於以前版本的iOS?
- 12. xCode 4.5和iOS 6上的NSLocalization
- 13. 帶圓角的UILabel(Xcode 4.5和iOS 6)
- 14. Xcode | SDK 6 iOS 4.3+
- 15. 我怎樣才能在Xcode中添加的iOS SDK的舊版本4.5
- 16. 我可以使用xcode 5和ios 7 SDK開發ios 6應用程序嗎
- 17. 是否可以使用iOS 4.0 SDK定位iPad?
- 18. ios 6和Xcode 4.5信號SIGABRT
- 19. facebook ios sdk 3.1 ios 5.1 xcode 4.5
- 20. .xcassets支持較舊的IOS版本
- 21. xCode安裝舊的iOS SDK
- 22. 爲iOS 6 SDK和Xcode 4.5構建armv6體系結構(目標iOS 3.1.3)?
- 23. 將以前的文檔集和ios SDK移入XCode 4.5
- 24. 使用舊版本的Xcode上傳應用程序。該應用是否可以在iOS 10設備上使用?
- 25. Xamarin iOS 6 SDK Xcode 5
- 26. Xcode 4.5與iOS 6上的雪豹
- 27. Xcode 7,iOS 8,MacSierra和舊iOS 6和7的兼容性?
- 28. 支持較舊的iOS版本
- 29. 在Xcode 4.4.1或4.5中,是否包含模擬器IOS 6?
- 30. 的Xcode 4.5用的iOS 4.3