Bump minimum versions for Xcode 27 support - #972
Open
w-goog wants to merge 13 commits into
Open
Conversation
The raised deployment targets (iOS 15, macOS 12, tvOS 15, watchOS 9) put +archivedDataWithRootObject: and +unarchiveObjectWithData: past their deprecation points on macOS and tvOS, and the project builds with -Werror. The @available(iOS 12.0, macOS 10.13, tvOS 11.0, watchOS 4.0) guards in the NSSecureCoding tests are now always true, so the legacy fallback branches they guarded are dead code; remove the guards and the branches. The AppAuthTV tests called the legacy APIs unconditionally, so convert those call sites to +archivedDataWithRootObject:requiringSecureCoding:error: and +unarchivedObjectOfClass:fromData:error:.
brnnmrls
reviewed
Aug 14, 2026
| requiringSecureCoding:YES | ||
| error:&error]; | ||
| requestCopy = [NSKeyedUnarchiver unarchivedObjectOfClass:[OIDAuthorizationRequest class] | ||
| fromData:data |
Collaborator
There was a problem hiding this comment.
nit: align colons please
brnnmrls
reviewed
Aug 14, 2026
| @@ -206,16 +206,10 @@ - (void)testNonCompliantNSCodingNSErrors { | |||
| [authstate updateWithAuthorizationError:oauthError]; | |||
| NSError *error; | |||
| NSData *data; | |||
Collaborator
There was a problem hiding this comment.
can this now just be:
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:authstate
requiringSecureCoding:YES
error:&error];
(with correct alignment lol)
brnnmrls
reviewed
Aug 14, 2026
Comment on lines
100
to
102
| OIDEndSessionRequest *requestCopy; | ||
| NSError *error; | ||
| NSData *data; |
Collaborator
There was a problem hiding this comment.
similar comment as above, can we just set these values when we declare them please?
this comment applies to similar situations below in the other tests
brnnmrls
reviewed
Aug 14, 2026
| data = [NSKeyedArchiver archivedDataWithRootObject:authstate | ||
| requiringSecureCoding:YES | ||
| error:&error]; | ||
| XCTAssertNoThrow(data, @""); |
Collaborator
There was a problem hiding this comment.
This isn't your code, and we can probably investigate this in a different PR, but I'm wondering if the "new" method would ever even throw and whether we should be check for the error param as well in these asserts.
brnnmrls
approved these changes
Aug 14, 2026
brnnmrls
left a comment
Collaborator
There was a problem hiding this comment.
Approved as long as the above nits are resolved, thanks! Great job!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR updates all target minimums + SPM tools version to the minimums required by Xcode 27. It does not do any source cleanup. I've tested with local builds, as Xcode 27 on Github Actions is still in preview.
Xcode 27 will be releasing soon, and we're already doing a major version bump for the new required Swift interface - so, might as well do this version bump too.
Several tvOS tests needed updating, in two groups: