From e1d1dd380c70ae9e026c62527b5fc0a014e27768 Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 8 Oct 2021 11:29:29 +0100 Subject: [PATCH] iOS: Fix compatibility when targeting older SDK versions --- .../accessibility/juce_ios_Accessibility.mm | 21 +++++++++++++------ .../accessibility/juce_mac_Accessibility.mm | 2 +- .../native/juce_ios_ContentSharer.cpp | 4 ++++ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/modules/juce_gui_basics/native/accessibility/juce_ios_Accessibility.mm b/modules/juce_gui_basics/native/accessibility/juce_ios_Accessibility.mm index fab5b123ed..1dcdbbf0f9 100644 --- a/modules/juce_gui_basics/native/accessibility/juce_ios_Accessibility.mm +++ b/modules/juce_gui_basics/native/accessibility/juce_ios_Accessibility.mm @@ -117,7 +117,11 @@ private: addMethod (@selector (isAccessibilityElement), getIsAccessibilityElement, "c@:"); addMethod (@selector (accessibilityFrame), getAccessibilityFrame, @encode (CGRect), "@:"); addMethod (@selector (accessibilityElements), getAccessibilityElements, "@@:"); - addMethod (@selector (accessibilityContainerType), getAccessibilityContainerType, "i@:"); + + #if JUCE_IOS_CONTAINER_API_AVAILABLE + if (@available (iOS 11.0, *)) + addMethod (@selector (accessibilityContainerType), getAccessibilityContainerType, "i@:"); + #endif addIvar ("handler"); @@ -210,11 +214,16 @@ private: addMethod (@selector (accessibilityIncrement), accessibilityPerformIncrement, "c@:"); addMethod (@selector (accessibilityDecrement), accessibilityPerformDecrement, "c@:"); - addMethod (@selector (accessibilityDataTableCellElementForRow:column:), getAccessibilityDataTableCellElementForRowColumn, "@@:ii"); - addMethod (@selector (accessibilityRowCount), getAccessibilityRowCount, "i@:"); - addMethod (@selector (accessibilityColumnCount), getAccessibilityColumnCount, "i@:"); - addMethod (@selector (accessibilityRowRange), getAccessibilityRowIndexRange, @encode (NSRange), "@:"); - addMethod (@selector (accessibilityColumnRange), getAccessibilityColumnIndexRange, @encode (NSRange), "@:"); + #if JUCE_IOS_CONTAINER_API_AVAILABLE + if (@available (iOS 11.0, *)) + { + addMethod (@selector (accessibilityDataTableCellElementForRow:column:), getAccessibilityDataTableCellElementForRowColumn, "@@:ii"); + addMethod (@selector (accessibilityRowCount), getAccessibilityRowCount, "i@:"); + addMethod (@selector (accessibilityColumnCount), getAccessibilityColumnCount, "i@:"); + addMethod (@selector (accessibilityRowRange), getAccessibilityRowIndexRange, @encode (NSRange), "@:"); + addMethod (@selector (accessibilityColumnRange), getAccessibilityColumnIndexRange, @encode (NSRange), "@:"); + } + #endif if (elementType == Type::textElement) { diff --git a/modules/juce_gui_basics/native/accessibility/juce_mac_Accessibility.mm b/modules/juce_gui_basics/native/accessibility/juce_mac_Accessibility.mm index aba1bba1dc..b1a1b9be92 100644 --- a/modules/juce_gui_basics/native/accessibility/juce_mac_Accessibility.mm +++ b/modules/juce_gui_basics/native/accessibility/juce_mac_Accessibility.mm @@ -28,7 +28,7 @@ static void juceFreeAccessibilityPlatformSpecificData (NSAccessibilityElement