-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[NT-1499] Xcode 12/iOS 14.0 Compatibility #1303
Conversation
# Conflicts: # Screenshots/_64/Kickstarter_Framework_iOSTests.RewardsCollectionViewControllerTests/testRewards_Backer_LiveProject_Landscape_lang_de_device_pad@2x.png # Screenshots/_64/Kickstarter_Framework_iOSTests.RewardsCollectionViewControllerTests/testRewards_Backer_LiveProject_Landscape_lang_de_device_phone4_7inch@2x.png # Screenshots/_64/Kickstarter_Framework_iOSTests.RewardsCollectionViewControllerTests/testRewards_Backer_LiveProject_Landscape_lang_de_device_phone5_8inch@2x.png # Screenshots/_64/Kickstarter_Framework_iOSTests.RewardsCollectionViewControllerTests/testRewards_Backer_LiveProject_Landscape_lang_es_device_pad@2x.png # Screenshots/_64/Kickstarter_Framework_iOSTests.RewardsCollectionViewControllerTests/testRewards_Backer_LiveProject_Landscape_lang_es_device_phone4_7inch@2x.png # Screenshots/_64/Kickstarter_Framework_iOSTests.RewardsCollectionViewControllerTests/testRewards_Backer_LiveProject_Landscape_lang_es_device_phone5_8inch@2x.png # Screenshots/_64/Kickstarter_Framework_iOSTests.RewardsCollectionViewControllerTests/testRewards_Backer_LiveProject_Landscape_lang_ja_device_pad@2x.png # Screenshots/_64/Kickstarter_Framework_iOSTests.RewardsCollectionViewControllerTests/testRewards_Backer_LiveProject_Landscape_lang_ja_device_phone4_7inch@2x.png # Screenshots/_64/Kickstarter_Framework_iOSTests.RewardsCollectionViewControllerTests/testRewards_Backer_LiveProject_Landscape_lang_ja_device_phone5_8inch@2x.png
Codecov Report
@@ Coverage Diff @@
## master #1303 +/- ##
=======================================
Coverage 85.68% 85.69%
=======================================
Files 1108 1108
Lines 96766 96780 +14
=======================================
+ Hits 82915 82935 +20
+ Misses 13851 13845 -6
Continue to review full report at Codecov.
|
.map { $0 && $1 } | ||
.map { isEmailVerified, isEmailDeliverable -> Bool in | ||
let r = isEmailVerified && isEmailDeliverable | ||
return r |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes are kind've unfortunate and seem unnecessary but I wasn't able to get this code to compile without introducing some of these local scope vars.
@@ -95,7 +95,7 @@ public final class CommentsViewModel: CommentsViewModelType, CommentsViewModelIn | |||
self.viewDidLoadProperty.signal, | |||
self.userSessionStartedProperty.signal | |||
) | |||
.map { AppEnvironment.current.currentUser } | |||
.map { _ in AppEnvironment.current.currentUser } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This works around the Swift function overload bug.
generateStandardViewControllers() | ||
} | ||
let personalizedViewControllers = userState.map { userState -> [RootViewControllerData] in | ||
generatePersonalizedViewControllers(userState: (userState.isMember, userState.isLoggedIn)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was necessary to work around something that was deprecated in Swift called tuple shuffling: https://noahgilmore.com/blog/tuple-shuffling/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm!
📲 What
Updates our codebase for compatibility with Xcode 12.0 and builds the app against the iOS 14.0 SDK.
🤔 Why
Always good to keep things up to date, Xcode 12.0, Swift 5.3 and iOS 14.0 all bring improvements that we would like to have access to in our workflow.
🛠 How
✅ Acceptance criteria