Как проверить, существует ли определенный метод / класс / API в Xamarin iOS?

В советах по совместимости iOS 6 и 7 рекомендуется проверить конкретный API, как этот

public static bool IsiOS7 { get { return UIDevice.CurrentDevice.CheckSystemVersion (7, 0); } } if(Util.IsiOS7) { //Call iOS 7 API } else { //Call iOS 6.1 or earlier API } 

То же самое следует сделать для iOS 8. Теперь я прочитал, что вы должны проверить, существует ли какой-либо метод или класс вместо проверки версий. Здесь появляется RespondsToSelector . Это должно быть что-то вроде этого

 if (RespondsToSelector(new Selector("edgesForExtendedLayout"))) EdgesForExtendedLayout = UIRectEdge.None; 

Но как бы проверить, существует ли целый класс, например, UIAlertController ? Нет NSClassFromString как в Objective-C. Я также видел что-то подобное в Objective-C

 if ([UIAlertController class]){ // ... } 

Будет ли что-то вроде этого делать трюк?

 Type type=Type.GetType("UIAlertController"); if(type!=null) { // iOS 8 API }else{ // iOS 7 or lower } 

Как это сделать на C #? Или какие другие способы существуют для проверки UIAlertController , UISearchController и т. Д.

One Solution collect form web for “Как проверить, существует ли определенный метод / класс / API в Xamarin iOS?”

Сделай это:

 using MonoTouch.ObjCRuntime; bool hasUIAlertController = Class.GetHandle ("UIAlertController") != IntPtr.Zero; if (hasUIAlertController) { // iOS 8 } else { // iOS 7 or lower } 
  • Использование Xamarin, почему мое приложение установило значение по умолчанию на false?
  • Пользовательский шрифт UIAlertController не работает в iOS
  • Проблема со структурой папок студии Xamarin в проекте iOS
  • MonoTouch.Foundation.MonoTouchException выбрано исключение Objective-C. Имя: NSInternalInconsistencyException
  • Благодаря представлению нового контроллера вида viewWillDisappear на родителя запускается, когда я отписываюсь от событий
  • Символизирующий сбой аварийной ситуации iOS: символы не найдены
  • Вложение Моно на iOS
  • CGPDFDocument не может читать pdf
  • Добавить / удалить EventHandler для UIBarButtonItem
  • Объем приложения AVAudioSession независимо от объема системы
  • Как передавать данные из PerformSegue в моноточе
  • Interesting Posts

    Таблица лидеров iOS GameCenter показывает только мой счет в режиме песочницы

    Изменение внешнего внешнего вида UIBarButtonItem

    Как определить массив объектов, соответствующих протоколу?

    Как обмениваться сообщениями, почтой, печатать и копировать

    Контроллеры Push View от Modal View в раскадровке

    Stellar Parallax для запуска на рабочем столе, статическое изображение на мобильном устройстве

    Не удалось создать каталог журнала

    Как получить уровень заряда батареи с точностью до 1% в ios

    Возможно иметь NSString с двумя размерами шрифта

    После того, как проект переместился в другое место, путь ссылки на структуры

    Как интегрировать два языка (английский или арабский) в один проект в iphone sdk

    SecKey API возвращен: -25304 libswiftAVFoundation.dylib: неизвестная ошибка -1 = ffffffffffffffff ошибка: сбой задачи с выходом 1 0

    Коснитесь и перетащите изображение вокруг экрана

    Как быть пользователем песочницы Instagram для любого клиента в Instagram

    Искажение пикселей Iphone при масштабировании содержимого OpenGL ES для приложения Paint

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.