diff --git a/Sources/UberAuth/Button/LoginButton.swift b/Sources/UberAuth/Button/LoginButton.swift index 7fdfd19d..fe8ca995 100644 --- a/Sources/UberAuth/Button/LoginButton.swift +++ b/Sources/UberAuth/Button/LoginButton.swift @@ -94,7 +94,7 @@ public final class LoginButton: UberButton { override public var image: UIImage? { UIImage( named: "uber_logo_white", - in: .module, + in: .resource(for: LoginButton.self), compatibleWith: nil )?.withRenderingMode(.alwaysTemplate) } @@ -145,14 +145,14 @@ public final class LoginButton: UberButton { case .loggedIn: return NSLocalizedString( "Sign Out", - bundle: .module, + bundle: .resource(for: LoginButton.self), comment: "Login Button Sign Out Description" ) .uppercased() case .loggedOut: return NSLocalizedString( "Sign In", - bundle: .module, + bundle: .resource(for: LoginButton.self), comment: "Login Button Sign In Description" ) .uppercased() diff --git a/Sources/UberAuth/Utilities/Bundle.swift b/Sources/UberAuth/Utilities/Bundle.swift new file mode 100644 index 00000000..d770f994 --- /dev/null +++ b/Sources/UberAuth/Utilities/Bundle.swift @@ -0,0 +1,19 @@ +// +// Copyright © Uber Technologies, Inc. All rights reserved. +// + + +import Foundation + +extension Bundle { + + static func resource(for targetClass: AnyClass?) -> Bundle { +#if SWIFT_PACKAGE + return .module +#endif + if let targetClass { + return Bundle(for: targetClass) + } + return .main + } +} diff --git a/Sources/UberCore/Colors.swift b/Sources/UberCore/Colors.swift index 1e6dc424..fdfb6d37 100644 --- a/Sources/UberCore/Colors.swift +++ b/Sources/UberCore/Colors.swift @@ -9,19 +9,19 @@ extension UIColor { static let uberButtonBackground: UIColor = UIColor( named: "UberButtonBackground", - in: .module, + in: .resource(for: UberButton.self), compatibleWith: nil ) ?? UIColor.darkText static let uberButtonHighlightedBackground: UIColor = UIColor( named: "UberButtonHighlightedBackground", - in: .module, + in: .resource(for: UberButton.self), compatibleWith: nil ) ?? UIColor.darkText static let uberButtonForeground: UIColor = UIColor( named: "UberButtonForeground", - in: .module, + in: .resource(for: UberButton.self), compatibleWith: nil ) ?? UIColor.lightText } diff --git a/Sources/UberCore/Utilities/Bundle.swift b/Sources/UberCore/Utilities/Bundle.swift new file mode 100644 index 00000000..d770f994 --- /dev/null +++ b/Sources/UberCore/Utilities/Bundle.swift @@ -0,0 +1,19 @@ +// +// Copyright © Uber Technologies, Inc. All rights reserved. +// + + +import Foundation + +extension Bundle { + + static func resource(for targetClass: AnyClass?) -> Bundle { +#if SWIFT_PACKAGE + return .module +#endif + if let targetClass { + return Bundle(for: targetClass) + } + return .main + } +} diff --git a/Sources/UberRides/RideRequestButton.swift b/Sources/UberRides/RideRequestButton.swift index 4a4942ee..09a93e6e 100644 --- a/Sources/UberRides/RideRequestButton.swift +++ b/Sources/UberRides/RideRequestButton.swift @@ -466,7 +466,7 @@ public class RideRequestButton: UberButton_DEPRECATED { // get image from media directory private func getImage(name: String) -> UIImage { - let image = UIImage(named: name, in: Bundle.module, compatibleWith: nil) + let image = UIImage(named: name, in: .resource(for: RideRequestButton.self), compatibleWith: nil) return image! } } diff --git a/Sources/UberRides/RidesCore/Utilities/Bundle.swift b/Sources/UberRides/RidesCore/Utilities/Bundle.swift new file mode 100644 index 00000000..d770f994 --- /dev/null +++ b/Sources/UberRides/RidesCore/Utilities/Bundle.swift @@ -0,0 +1,19 @@ +// +// Copyright © Uber Technologies, Inc. All rights reserved. +// + + +import Foundation + +extension Bundle { + + static func resource(for targetClass: AnyClass?) -> Bundle { +#if SWIFT_PACKAGE + return .module +#endif + if let targetClass { + return Bundle(for: targetClass) + } + return .main + } +}