Browse Source

Fix Swift Package Manager compile issue

Signed-off-by: Ryne Cheow <rynecheow@gmail.com>
Ryne Cheow 6 years ago
parent
commit
bf5db2f1a3
54 changed files with 238 additions and 30 deletions
  1. 1 0
      .gitignore
  2. 3 1
      ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift
  3. 3 0
      ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift
  4. 3 0
      ChartsDemo-iOS/Objective-C/Components/XYMarkerView.swift
  5. 3 1
      ChartsDemo-iOS/Swift/AppDelegate.swift
  6. 3 0
      ChartsDemo-iOS/Swift/Components/BalloonMarker.swift
  7. 3 0
      ChartsDemo-iOS/Swift/Components/RadarMarkerView.swift
  8. 3 0
      ChartsDemo-iOS/Swift/Components/XYMarkerView.swift
  9. 3 1
      ChartsDemo-iOS/Swift/DemoBaseViewController.swift
  10. 3 1
      ChartsDemo-iOS/Swift/DemoListViewController.swift
  11. 3 1
      ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift
  12. 6 1
      ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift
  13. 3 1
      ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift
  14. 3 1
      ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift
  15. 3 1
      ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift
  16. 6 1
      ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift
  17. 3 1
      ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift
  18. 3 1
      ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift
  19. 3 1
      ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift
  20. 3 1
      ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift
  21. 3 1
      ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift
  22. 3 1
      ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift
  23. 3 1
      ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift
  24. 3 1
      ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift
  25. 3 1
      ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift
  26. 3 1
      ChartsDemo-iOS/Swift/Demos/NegativeStackedBarChartViewController.swift
  27. 3 1
      ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift
  28. 3 1
      ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift
  29. 3 1
      ChartsDemo-iOS/Swift/Demos/PositiveNegativeBarChartViewController.swift
  30. 3 1
      ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift
  31. 3 1
      ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift
  32. 3 1
      ChartsDemo-iOS/Swift/Demos/SinusBarChartViewController.swift
  33. 3 1
      ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift
  34. 7 2
      Package.swift
  35. 1 0
      Source/Charts/Animation/Animator.swift
  36. 8 0
      Source/Charts/Charts/BarLineChartViewBase.swift
  37. 8 0
      Source/Charts/Charts/ChartViewBase.swift
  38. 8 0
      Source/Charts/Charts/PieChartView.swift
  39. 6 0
      Source/Charts/Charts/PieRadarChartViewBase.swift
  40. 8 0
      Source/Charts/Components/Description.swift
  41. 5 0
      Source/Charts/Components/MarkerView.swift
  42. 8 0
      Source/Charts/Components/YAxis.swift
  43. 1 0
      Source/Charts/Filters/DataApproximator+N.swift
  44. 1 0
      Source/Charts/Jobs/AnimatedViewPortJob.swift
  45. 8 0
      Source/Charts/Renderers/BarChartRenderer.swift
  46. 8 0
      Source/Charts/Renderers/ChartDataRendererBase.swift
  47. 8 0
      Source/Charts/Renderers/HorizontalBarChartRenderer.swift
  48. 8 0
      Source/Charts/Renderers/PieChartRenderer.swift
  49. 8 0
      Source/Charts/Renderers/XAxisRenderer.swift
  50. 8 0
      Source/Charts/Renderers/YAxisRenderer.swift
  51. 8 0
      Source/Charts/Renderers/YAxisRendererRadarChart.swift
  52. 8 0
      Source/Charts/Utils/ChartUtils.swift
  53. 7 0
      Source/Charts/Utils/Platform+Accessibility.swift
  54. 3 1
      Source/Charts/Utils/Platform.swift

+ 1 - 0
.gitignore

@@ -72,3 +72,4 @@ fastlane/test_output
 Carthage
 Charts.framework.zip
 ChartsRealm.framework.zip
+.swiftpm

+ 3 - 1
ChartsDemo-iOS/Objective-C/Components/BalloonMarker.swift

@@ -11,7 +11,9 @@
 
 import Foundation
 import Charts
-
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 open class BalloonMarker: MarkerImage
 {

+ 3 - 0
ChartsDemo-iOS/Objective-C/Components/RadarMarkerView.swift

@@ -11,6 +11,9 @@
 
 import Foundation
 import Charts
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 open class RadarMarkerView: MarkerView
 {

+ 3 - 0
ChartsDemo-iOS/Objective-C/Components/XYMarkerView.swift

@@ -6,6 +6,9 @@
 
 import Foundation
 import Charts
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 open class XYMarkerView: BalloonMarker
 {

+ 3 - 1
ChartsDemo-iOS/Swift/AppDelegate.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 @UIApplicationMain
 class AppDelegate: UIResponder, UIApplicationDelegate {

+ 3 - 0
ChartsDemo-iOS/Swift/Components/BalloonMarker.swift

@@ -11,6 +11,9 @@
 
 import Foundation
 import Charts
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 open class BalloonMarker: MarkerImage
 {

+ 3 - 0
ChartsDemo-iOS/Swift/Components/RadarMarkerView.swift

@@ -11,6 +11,9 @@
 
 import Foundation
 import Charts
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 public class RadarMarkerView: MarkerView {
     @IBOutlet var label: UILabel!

+ 3 - 0
ChartsDemo-iOS/Swift/Components/XYMarkerView.swift

@@ -8,6 +8,9 @@
 
 import Foundation
 import Charts
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 public class XYMarkerView: BalloonMarker {
     public var xAxisValueFormatter: IAxisValueFormatter

+ 3 - 1
ChartsDemo-iOS/Swift/DemoBaseViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 enum Option {

+ 3 - 1
ChartsDemo-iOS/Swift/DemoListViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 private struct ItemDef {
     let title: String

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/AnotherBarChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class AnotherBarChartViewController: DemoBaseViewController {

+ 6 - 1
ChartsDemo-iOS/Swift/Demos/BarChartViewController.swift

@@ -6,8 +6,13 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 class BarChartViewController: DemoBaseViewController {
     

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/BubbleChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class BubbleChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/CandleStickChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class CandleStickChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/ColoredLineChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class ColoredLineChartViewController: DemoBaseViewController {

+ 6 - 1
ChartsDemo-iOS/Swift/Demos/CombinedChartViewController.swift

@@ -6,8 +6,13 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 private let ITEM_COUNT = 12
 

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/CubicLineChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 private class CubicLineSampleFillFormatter: IFillFormatter {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/HalfPieChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class HalfPieChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/HorizontalBarChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class HorizontalBarChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/LineChart1ViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class LineChart1ViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/LineChart2ViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class LineChart2ViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/LineChartFilledViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class LineChartFilledViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/LineChartTimeViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class LineChartTimeViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/MultipleBarChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class MultipleBarChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/MultipleLinesChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class MultipleLinesChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/NegativeStackedBarChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class NegativeStackedBarChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/PieChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class PieChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/PiePolylineChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class PiePolylineChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/PositiveNegativeBarChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class PositiveNegativeBarChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/RadarChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class RadarChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/ScatterChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class ScatterChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/SinusBarChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class SinusBarChartViewController: DemoBaseViewController {

+ 3 - 1
ChartsDemo-iOS/Swift/Demos/StackedBarChartViewController.swift

@@ -6,7 +6,9 @@
 //  Copyright © 2017 jc. All rights reserved.
 //
 
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 import Charts
 
 class StackedBarChartViewController: DemoBaseViewController {

+ 7 - 2
Package.swift

@@ -1,9 +1,14 @@
-// swift-tools-version:4.0
+// swift-tools-version:5.1
 // The swift-tools-version declares the minimum version of Swift required to build this package.
 import PackageDescription
 
 let package = Package(
     name: "Charts",
+    platforms: [
+          .iOS(.v8),
+          .tvOS(.v9),
+          .macOS(.v10_11),
+    ],
     products: [
         .library(name: "Charts", type: .dynamic, targets: ["Charts"])
     ],
@@ -11,5 +16,5 @@ let package = Package(
     targets: [
         .target(name: "Charts", dependencies: [])
     ],
-    swiftLanguageVersions: [5]
+    swiftLanguageVersions: [.v5]
 )

+ 1 - 0
Source/Charts/Animation/Animator.swift

@@ -11,6 +11,7 @@
 
 import Foundation
 import CoreGraphics
+import QuartzCore
 
 @objc(ChartAnimatorDelegate)
 public protocol AnimatorDelegate

+ 8 - 0
Source/Charts/Charts/BarLineChartViewBase.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 /// Base-class of LineChart, BarChart, ScatterChart and CandleStickChart.
 open class BarLineChartViewBase: ChartViewBase, BarLineScatterCandleBubbleChartDataProvider, NSUIGestureRecognizerDelegate
 {

+ 8 - 0
Source/Charts/Charts/ChartViewBase.swift

@@ -13,6 +13,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 @objc
 public protocol ChartViewDelegate
 {

+ 8 - 0
Source/Charts/Charts/PieChartView.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 /// View that represents a pie chart. Draws cake like slices.
 open class PieChartView: PieRadarChartViewBase
 {

+ 6 - 0
Source/Charts/Charts/PieRadarChartViewBase.swift

@@ -11,6 +11,12 @@
 
 import Foundation
 import CoreGraphics
+import QuartzCore
+
+#if canImport(AppKit)
+import AppKit
+#endif
+
 
 /// Base class of PieChartView and RadarChartView.
 open class PieRadarChartViewBase: ChartViewBase

+ 8 - 0
Source/Charts/Components/Description.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 @objc(ChartDescription)
 open class Description: ComponentBase
 {

+ 5 - 0
Source/Charts/Components/MarkerView.swift

@@ -12,6 +12,10 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(AppKit)
+import AppKit
+#endif
+
 @objc(ChartMarkerView)
 open class MarkerView: NSUIView, IMarker
 {
@@ -71,6 +75,7 @@ open class MarkerView: NSUIView, IMarker
     open class func viewFromXib(in bundle: Bundle = .main) -> MarkerView?
     {
         #if !os(OSX)
+        
         return bundle.loadNibNamed(
             String(describing: self),
             owner: nil,

+ 8 - 0
Source/Charts/Components/YAxis.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 
 /// Class representing the y-axis labels settings and its entries.
 /// Be aware that not all features the YLabels class provides are suitable for the RadarChart.

+ 1 - 0
Source/Charts/Filters/DataApproximator+N.swift

@@ -9,6 +9,7 @@
 //
 
 import Foundation
+import CoreGraphics
 
 extension CGPoint {
     fileprivate func distanceToLine(from linePoint1: CGPoint, to linePoint2: CGPoint) -> CGFloat {

+ 1 - 0
Source/Charts/Jobs/AnimatedViewPortJob.swift

@@ -11,6 +11,7 @@
 
 import Foundation
 import CoreGraphics
+import QuartzCore
 
 open class AnimatedViewPortJob: ViewPortJob
 {

+ 8 - 0
Source/Charts/Renderers/BarChartRenderer.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 open class BarChartRenderer: BarLineScatterCandleBubbleRenderer
 {
     /// A nested array of elements ordered logically (i.e not in visual/drawing order) for use with VoiceOver

+ 8 - 0
Source/Charts/Renderers/ChartDataRendererBase.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 @objc(ChartDataRendererBase)
 open class DataRenderer: Renderer
 {

+ 8 - 0
Source/Charts/Renderers/HorizontalBarChartRenderer.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 open class HorizontalBarChartRenderer: BarChartRenderer
 {
     private class Buffer

+ 8 - 0
Source/Charts/Renderers/PieChartRenderer.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 open class PieChartRenderer: DataRenderer
 {
     @objc open weak var chart: PieChartView?

+ 8 - 0
Source/Charts/Renderers/XAxisRenderer.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 @objc(ChartXAxisRenderer)
 open class XAxisRenderer: AxisRendererBase
 {

+ 8 - 0
Source/Charts/Renderers/YAxisRenderer.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 @objc(ChartYAxisRenderer)
 open class YAxisRenderer: AxisRendererBase
 {

+ 8 - 0
Source/Charts/Renderers/YAxisRendererRadarChart.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 open class YAxisRendererRadarChart: YAxisRenderer
 {
     private weak var chart: RadarChartView?

+ 8 - 0
Source/Charts/Utils/ChartUtils.swift

@@ -12,6 +12,14 @@
 import Foundation
 import CoreGraphics
 
+#if canImport(UIKit)
+    import UIKit
+#endif
+
+#if canImport(Cocoa)
+import Cocoa
+#endif
+
 extension Comparable {
     func clamped(to range: ClosedRange<Self>) -> Self {
         if self > range.upperBound {

+ 7 - 0
Source/Charts/Utils/Platform+Accessibility.swift

@@ -1,6 +1,9 @@
 import Foundation
 
 #if os(iOS) || os(tvOS)
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 internal func accessibilityPostLayoutChangedNotification(withElement element: Any? = nil)
 {
@@ -92,6 +95,10 @@ extension NSUIView
 
 #if os(OSX)
 
+#if canImport(AppKit)
+import AppKit
+#endif
+
 internal func accessibilityPostLayoutChangedNotification(withElement element: Any? = nil)
 {
     guard let validElement = element else { return }

+ 3 - 1
Source/Charts/Utils/Platform.swift

@@ -4,7 +4,9 @@ import Foundation
  alike, and for the chart library's usage of the APIs it is often sufficient to typealias one to the other. The NSUI*
  types are aliased to either their UI* implementation (on iOS) or their NS* implementation (on OS X). */
 #if os(iOS) || os(tvOS)
-import UIKit
+#if canImport(UIKit)
+    import UIKit
+#endif
 
 public typealias NSUIFont = UIFont
 public typealias NSUIColor = UIColor