Description
New Issue Checklist
- I am not disclosing a vulnerability.
- I am not just asking a question.
- I have searched through existing issues.
- I can reproduce the issue with the latest versions of Parse Server and the Parse Swift SDK.
Issue Description
Original discussion began here: #13 (comment)
The current OS's to be removed (iOS 12, tvOS 12, watchOS 5, and macOS 10.13/14) are currently in limbo as the Swift SDK should work well with them with the exception that ParseLiveQuery
cannot be used. This is due to native websocket additions in iOS13+. Any OS before the aforementioned OS's already have to resort to the Obj-C SDK.
The Swift SDK leverages modern Swift: value types, Combine
, web sockets, and with modification; SwiftUI. The minimum requirements for the aforementioned modern features is iOS 13. In addition, the Swift SDK indirectly supports the Identifiable
protocol (if the developer adds the id
property themselves) which simplifies using ParseObject
's as models for SwiftUI. iOS 13
supports devices as old as 6+ years (2015).
Supporting the "limbo" OS's requires additional code (as seen in PR #254) and require extra care with maintaining. There were massive changes added by Swift 5.1 with minimum OS support for iOS13, tvOS 13, watchOS 6, and macOS 10.15. Dropping the "limbo" OS's allow for easier app development for developers as ParseObject's natively conform to Identifiable
and simplifies maintenance and addition of features.
What can happen next is next version of the Swift SDK, 1.11.0 (which should include #238 and #248) will be the last release supporting the "limbo" OS's. After, 2.0.0 will drop support.
Steps to reproduce
Try to use Identifiable
, Combine
, natively on an older OS.
Actual Outcome
Won't compile.
Expected Outcome
Environment
Client
- Parse Swift SDK version: 1.10.4
- Xcode version: Xcode 13
- Operating system (iOS, macOS, watchOS, etc.): iOS 15
- Operating system version: Big Sur
Server
- Parse Server version: 4.10.3
- Operating system: linux
- Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): self host
Database
- System (MongoDB or Postgres): Postgres
- Database version: 13
- Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): self host