app4g
June 17, 2022, 2:03pm
1
My min supported version is iOS12 and looks like parse-Swift supports > iOS13+
From what I read on this thread - Linker error integrating ParseSwift SDK - #11 by pierlux this because only iOS13 introduced support for LiveQuery
In My application, I have no need for any real-time based queries, I am only seeking to do some inserts/updates.
Is there any possibilities for me to get this working for ios12?
Tx
There’s a lot more than LiveQuery that led to only supporting iOS 13+; particularly, Identifiable
. So it’s not possible to use the latest version of the official SDK with iOS 12-. See the post that dropped iOS12 support:
opened 04:24PM - 08 Oct 21 UTC
closed 06:24PM - 09 Oct 21 UTC
type:feature
### New Issue Checklist
<!--
Check every following box [x] before submitti… ng your issue.
Click the "Preview" tab for better readability.
Thanks for contributing to Parse Platform!
-->
- [x] I am not disclosing a [vulnerability](https://github.com/parse-community/Parse-Swift/security/policy).
- [x] I am not just asking a [question](https://github.com/parse-community/.github/blob/main/SUPPORT.md).
- [x] I have searched through [existing issues](https://github.com/parse-community/Parse-Swift/issues?q=is%3Aissue).
- [x] I can reproduce the issue with the latest versions of [Parse Server](https://github.com/parse-community/parse-server/releases) and the [Parse Swift SDK](https://github.com/parse-community/Parse-Swift/releases).
### Issue Description
Original discussion began here: https://github.com/parse-community/Parse-Swift/pull/13#issuecomment-669015795
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)](https://www.computerworld.com/article/3282811/which-iphones-ipads-support-apples-ios-13-and-ipados.html).
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](https://www.swift.org/blog/swift-5.1-released/) 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
In addition, as of April 2021, Apple requires apps to be built for iOS 14+ and Swift 5.3+ to release to the App Store. See more here:
parse-community:main
← cbaker6:swift5.2
opened 01:57PM - 13 Apr 22 UTC
### New Pull Request Checklist
<!--
Please check the following boxes [x] b… efore submitting your issue.
Click the "Preview" tab for better readability.
Thanks for contributing to Parse Platform!
-->
- [x] I am not disclosing a [vulnerability](https://github.com/parse-community/Parse-Swift/security/policy).
- [x] I am creating this PR in reference to an [issue](https://github.com/parse-community/Parse-Swift/issues?q=is%3Aissue).
### Issue Description
Swift 5.2 and Xcode 11 isn't supported by the AppStore anymore per [Apple](https://developer.apple.com/news/?id=ib31uj1j):
> iPhone and iPad apps. Starting April 26, 2021, all iPhone and iPad apps submitted to the App Store must be built with Xcode 12 and the iOS 14 SDK or later. The iOS SDK provides access to exciting new features like App Clips, Home screen widgets, ARKit, RealityKit, and much more.
Dropping support for 5.2 allows the SDK to be designed with the [latest advancements of 5.3+](https://www.swift.org/blog/swift-5.3-released/); particularly:
- [x] availability of self (the SDK is currently designed to use `self` a specific way because of 5.2)
- [x] key paths (the SDK is currently designed to not use keyPath's as functions because of 5.2)
- [x] much more
SwiftPackageIndex has also stopped building Swift 5.2 and only builds Swift 5.3+: https://swiftpackageindex.com/parse-community/Parse-Swift/builds
Related issue: #n/a
### Approach
Remove Swift 5.2 from CI along with any related compiler checks.
### TODOs before merging
<!--
Add TODOs that need to be completed before merging this PR.
Delete TODOs that do not apply to this PR.
-->
- [x] Add entry to changelog
If you really want to build for iOS12, the last version for ParseSwift that’s compatible is:
Full Changelog
Improvements
Added operation for set and forceSet, used for single key updates (#248), thanks to @dblythy and @cbaker6.
Add more detail to invalid struct errors (#238), thanks to @d...
You can see my comment here about Swift SDK v1.11.0:
opened 04:24PM - 08 Oct 21 UTC
closed 06:24PM - 09 Oct 21 UTC
type:feature
### New Issue Checklist
<!--
Check every following box [x] before submitti… ng your issue.
Click the "Preview" tab for better readability.
Thanks for contributing to Parse Platform!
-->
- [x] I am not disclosing a [vulnerability](https://github.com/parse-community/Parse-Swift/security/policy).
- [x] I am not just asking a [question](https://github.com/parse-community/.github/blob/main/SUPPORT.md).
- [x] I have searched through [existing issues](https://github.com/parse-community/Parse-Swift/issues?q=is%3Aissue).
- [x] I can reproduce the issue with the latest versions of [Parse Server](https://github.com/parse-community/parse-server/releases) and the [Parse Swift SDK](https://github.com/parse-community/Parse-Swift/releases).
### Issue Description
Original discussion began here: https://github.com/parse-community/Parse-Swift/pull/13#issuecomment-669015795
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)](https://www.computerworld.com/article/3282811/which-iphones-ipads-support-apples-ios-13-and-ipados.html).
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](https://www.swift.org/blog/swift-5.1-released/) 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
Note you will be missing all changes after v1.11.0 in which there are many:
The Swift SDK for Parse Platform (iOS, macOS, watchOS, tvOS, Linux, Android, Windows) - Comparing 1.11.0...4.5.0 · parse-community/Parse-Swift
app4g
June 17, 2022, 3:40pm
3
Thanks v much for your detailed answer. I am actually building / deploying the app which I am still running on my iPad mini Retina (Gen2 - yr 2013/2014) using Xcode 13.x and using the latest iOS SDK and it’s still being accepted by Apple.
I will take a look at the v1.11.0 as my current needs are very simple. I only wish to update/insert some simple data (eg: timestamp / uuid / duration / workout title). Would this be doable w/ the v1.11.0?
Thanks again.
Note: I’m trying v hard to avoid firebase
1.11.0 is very capable, I always recommend using the latest version when possible though.