From 1a99b3491380504f07572bcaabf631c99c66026c Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Wed, 29 Nov 2017 09:31:02 -0800 Subject: [PATCH] Fix iOS8 crash on type // FREEBIE --- .../ConversationInputTextView.m | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/Signal/src/ViewControllers/ConversationView/ConversationInputTextView.m b/Signal/src/ViewControllers/ConversationView/ConversationInputTextView.m index 0ddbeac25..2f92c56ed 100644 --- a/Signal/src/ViewControllers/ConversationView/ConversationInputTextView.m +++ b/Signal/src/ViewControllers/ConversationView/ConversationInputTextView.m @@ -198,18 +198,33 @@ NS_ASSUME_NONNULL_BEGIN // We don't support shift-return because it is often used for "newline" in other // messaging apps. return @[ - [UIKeyCommand keyCommandWithInput:@"\r" - modifierFlags:UIKeyModifierCommand - action:@selector(modifiedReturnPressed:) - discoverabilityTitle:@"Send Message"], + [self keyCommandWithInput:@"\r" + modifierFlags:UIKeyModifierCommand + action:@selector(modifiedReturnPressed:) + discoverabilityTitle:@"Send Message"], // "Alternate" is option. - [UIKeyCommand keyCommandWithInput:@"\r" - modifierFlags:UIKeyModifierAlternate - action:@selector(modifiedReturnPressed:) - discoverabilityTitle:@"Send Message"], + [self keyCommandWithInput:@"\r" + modifierFlags:UIKeyModifierAlternate + action:@selector(modifiedReturnPressed:) + discoverabilityTitle:@"Send Message"], ]; } +- (UIKeyCommand *)keyCommandWithInput:(NSString *)input + modifierFlags:(UIKeyModifierFlags)modifierFlags + action:(SEL)action + discoverabilityTitle:(NSString *)discoverabilityTitle +{ + if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(9, 0)) { + return [UIKeyCommand keyCommandWithInput:input + modifierFlags:modifierFlags + action:action + discoverabilityTitle:discoverabilityTitle]; + } else { + return [UIKeyCommand keyCommandWithInput:input modifierFlags:modifierFlags action:action]; + } +} + - (void)modifiedReturnPressed:(UIKeyCommand *)sender { DDLogInfo(@"%@ modifiedReturnPressed: %@", self.logTag, sender.input);