Skip to content

Clarify that iOS 9 is not supported. #179

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
2 of 7 tasks
chrisbobbe opened this issue Sep 16, 2020 · 1 comment
Open
2 of 7 tasks

Clarify that iOS 9 is not supported. #179

chrisbobbe opened this issue Sep 16, 2020 · 1 comment
Assignees

Comments

@chrisbobbe
Copy link

chrisbobbe commented Sep 16, 2020

Hi! 👋 I mentioned this over at #14 (comment), but I figured it deserves its own issue.

This package doesn't support iOS versions before 10. This has been true at least as far back as #66, when Apple's UNUserNotificationCenter started being used (e.g., here) without using API_AVAILABLE(ios(10.0)) as has been done in a few places (I think the doc for that is this one?). At Apple's doc for UNUserNotificationCenter, you can see on the right-hand side that it's available in iOS 10+, and not before.

Perhaps the most urgent thing this suggests is that it's quite important to ask what iOS version a given GitHub issue is observed on—it might be a subtle breakage that won't happen on newer iOS versions. That said, Apple indicates that less than 2% of users are using a version before 12, and doesn't even break it down to show 9. But this is why I'm suggesting to make official the drop of iOS 9, rather than scrambling to support it again. iOS 14 is set to be released very soon (tomorrow?), which is likely to drive usage of iOS 9 down even further.

  • I think a great place to start syncing the code back into a good state is to correct the platform designation in the Podspec, so that people get a prominent warning if they try to use this package in an app that aims to support iOS 9. (See CocoaPods's doc.)
  • It would be good to mention the supported iOS version range in the README.
  • Where we haven't yet moved to iOS 10+ versions of things (e.g., the implementation of presentLocalNotification uses this deprecated method), it would be good to do so. I suspect "deprecated" means still available, but with plans for its removal. (I might be wrong, and in fact it was removed in 10, or in a later version—if true, that could be a cause of presentLocalNotification doesn't work #105.)
  • The work of Handling local notification event for IOS 10+ #104 can be finished, by removing code it left untouched, for pre-iOS 10 backwards compatibility. I think didReceiveLocalNotification is a good search term for this.
  • The work of feat: replace apple-deprecated notification method #66 can be finished, by removing the use of didRegisterUserNotificationSettings in AppDelegate.m. (In fact, I don't think that was left in for backwards compatibility—the interesting code it used to invoke was removed in that PR, so I think it was just left in by accident.
  • The handful of occurrences of API_AVAILABLE(ios(10.0)) can be swept away; they won't be needed.
  • Of course, more investigation is needed; these are just things I've happened to notice so far.
@Naturalclar
Copy link
Collaborator

@chrisbobbe Thanks for raising the issue!
I'll be working towards addressing this issue.
I've made some new methods to deprecate older methods that has been deprecated since iOS10

@Naturalclar Naturalclar self-assigned this Oct 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants