rsattar / ClusterPrePermissions

Cluster's reusable pre-permissions utility that lets developers ask the users on their own dialog for photos or contacts access, before making the system-based request. This is based on the Medium post by Cluster describing the different ways to ask for iOS permissions (https://medium.com/p/96fa4eb54f2c).
MIT License
1.2k stars 109 forks source link

Deprecation warnings in 9.0? #33

Open shanemileham opened 8 years ago

shanemileham commented 8 years ago

In my project running 9.0, I imported ClusterPrePermissions, but I got dozens of warnings of deprecations (UIAlertView, ALAuthorizationStatus, ALAssetsLibrary, etc.). I'm not sure how open source code is supposed to deal with OS version changes, so what is the best way to deal with this, and does this warrant an issue in the future? Thanks.

rsattar commented 8 years ago

Hey @shanemileham you're not wrong, ClusterPrePermissions still uses the older dialog system to be compatible with iOS 7. If we drop iOS 7 support, it would be a big rewrite to convert everything over to UIAlertController, Photos framework, etc.

The changes between iOS 7 and 8 are big enough to warrant a big cleanup of the code. How do people feel about dropping iOS 7 at this point?

jesster2k10 commented 7 years ago

I think we should drop iOS 7.0 Support, after all it seems apple are not even supporting it anymore. Also Swift support should be considered, I'll try port some code over myself and see. You're using outdated push notification calls for iOS 10.0. You should use the UserNotifications Framework

rsattar commented 7 years ago

I think you're right about dropping iOS 7 support. Not to mention now that Xcode/Apple will complain if you have code for a particular framework but don't have a proper usage description in your Info.plist file.

However, as much as I love Swift (and I wish I could write everything in it), I switching to Swift would introduce new headaches in maintaining this library. Even though after Swift 3, we're mostly source-stable, it's still going to be an issue supporting different Swift versions.