Code Monkey home page Code Monkey logo

Comments (3)

ldiqual avatar ldiqual commented on August 17, 2024

@iba-nongkhlaw Thanks for opening an issue.

I'm a bit torn on this matter.

One one hand, changing the minimum version will most likely not break anything. I don't believe Apple has modified the keychain features significantly between 8.0 and 8.2 in a way that SwiftyRSA would work on 8.3 but not 8.0.

On another hand, Apple recommends setting the minimum SDK version to the latest subversion of the version that you support. For instance, if you support iOS 8 and iOS 9, you should set the minimum SDK to iOS 8.4. See http://asciiwwdc.com/2016/sessions/213

In fact, the general idea is that you take the current shipping version, so 9.3, and then set your deployment target to one version back, maybe 8.4.
But don't go to 8.3 or 8.2 anymore because then you and your customers don't benefit from the improvements that we've implemented under the hood in that 8.4 release.

In addition to that, we've never tested for 8.0, 8.1, and 8.2. We'd have to update our travis file to handle that, create a new release, handle support if errors come up, etc. All that to support the probably rare case of users not upgrading to the latest minor version of their OS.

So I'm leaning towards not supporting 8.0-8.2 just from a support perspective. If you absolutely want to integrate with SwiftyRSA, you still have a couple options:

  • Copy-paste the files directly in your project
  • Setup some kind of pre/post install hooks (cocoapods has some, carthage might too?) that modifies the minimum version to 8.0 after downloading the SwiftyRSA project.

Another option is to have you own the "feature" in the sense that you could modify the minimum SDK, add the appropriate CI test, and ensure support if anything goes wrong. I would be totally ok with that, let me know if you wanna join the team :)

from swiftyrsa.

paulw11 avatar paulw11 commented on August 17, 2024

My 2c; I think that the situation is slightly different for a framework than an app in the context of the Apple presentation. An app developer needs to make a decision as to which version of iOS they will support; this could be based on features, their customer's devices etc. If a framework mandates a newer version then it is, to a degree, taking that decision for them. Of course they can modify the framework themselves or even choose not to use the framework; it is free after all.

Also, since Apple doesn't exclude devices on subversions of iOS, there isn't a device that can run 8.0 and that can't run 8.3.

The fact that testing may be difficult, 8.0 is really old (we are about to see iOS 10), there is no reason that people on 8.x shouldn't be on at least 8.3 and this project uses security features leads me to think that we should not change the minimum level

from swiftyrsa.

ldiqual avatar ldiqual commented on August 17, 2024

I agree with @paulw11, especially on his last point about security features/fixes between 8.0 and 8.3. Closing this issue. @iba-nongkhlaw You still can patch SwiftyRSA's sources in your project, though we won't officially support it.

from swiftyrsa.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.