devicekit / DeviceKit

DeviceKit is a value-type replacement of UIDevice.
MIT License
4.39k stars 425 forks source link

Fixed compiler issues with Swift 5.8 and macCatalyst. #378

Closed kudit closed 5 months ago

kudit commented 5 months ago

Removed xrOS references, and added checks that enable this package to be included in macCatalyst apps without compiler errors. Also fixes so that there are no compiler errors when using Swift 5.8 or earlier. Added an orientation property if on iOS that wraps the UIDevice current orientation if UIDevice is available.

Zandor300 commented 5 months ago

@kudit I'm sorry but your PR contains a lot of different changes. I can't accept your PR unless split it up into separate PRs with smaller changes. I closed your other PR for the same reason:

kudit commented 5 months ago

They're all related. It's all checks to fix compiler issues when building for macOS (which doesn't support UIKit) and Swift 5.8 (which doesn't recognize xrOS or visionOS os( tags). Only thing that might be able to be separated is the orientation code but other than that, all those checks are needed to remove compiler warnings. It's a lot of code because there are so many places where UIKit is assumed and the alternate code path wasn't provided/implemented. If you review, you'll see that it's all pretty simple and straight forward. Is there a way to not include the generated file so that the code only needs to be updated in one place rather than two nearly identical files?