diff options
author | Joel Fischer <joeljfischer@gmail.com> | 2020-10-16 11:38:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-16 11:38:45 -0400 |
commit | 741df0c69e0fb697254ab939d2bac915acfaecea (patch) | |
tree | f30aca1b33c95b217169cf67adf359e97b0b242b | |
parent | 3a2d1c8f0e0cf322746cf985a14b398516c57ae4 (diff) | |
parent | e05ef097baa993c5d87493c6c12d1f0fc965850e (diff) | |
download | sdl_ios-741df0c69e0fb697254ab939d2bac915acfaecea.tar.gz |
Merge pull request #1812 from smartdevicelink/feature/issue-1387-support-swift-package-manager
Swift Package Manager support
-rw-r--r-- | Package.swift | 27 | ||||
-rw-r--r-- | README.md | 7 | ||||
-rw-r--r-- | SmartDeviceLink-iOS.xcodeproj/project.pbxproj | 24 | ||||
-rw-r--r-- | SmartDeviceLink/private/NSBundle+SDLBundle.m | 6 | ||||
-rw-r--r-- | SmartDeviceLinkTests/SwiftSpec.swift | 5 |
5 files changed, 41 insertions, 28 deletions
diff --git a/Package.swift b/Package.swift index 5d8f0c602..56b8926d2 100644 --- a/Package.swift +++ b/Package.swift @@ -1,23 +1,36 @@ -// swift-tools-version:5.0 +// swift-tools-version:5.3 import PackageDescription let package = Package( name: "SmartDeviceLink", + defaultLocalization: "en", + platforms: [ + .iOS(.v10) + ], products: [ .library(name: "SmartDeviceLink", targets: ["SmartDeviceLink"]), .library(name: "SmartDeviceLinkSwift", targets: ["SmartDeviceLinkSwift"]) ], + dependencies: [ + .package(name: "BiSON", url: "https://github.com/smartdevicelink/bson_c_lib.git", .branch("feature/swift_pm_support")) + ], targets: [ .target( name: "SmartDeviceLink", - path: "SmartDeviceLink" + dependencies: ["BiSON"], + path: "SmartDeviceLink", + exclude: ["Info.plist"], + resources: [.process("Assets")], + publicHeadersPath: "public", + cSettings: [ + .headerSearchPath("private") + ] ), .target( name: "SmartDeviceLinkSwift", - dependencies: [ - "SmartDeviceLink" - ], - path: "SmartDeviceLinkSwift" - ), + dependencies: ["SmartDeviceLink"], + path: "SmartDeviceLinkSwift", + exclude: ["Info.plist"] + ) ] ) @@ -1,6 +1,7 @@ -[![Accio supported](https://img.shields.io/badge/Accio-supported-0A7CF5.svg?style=flat)](https://github.com/JamitLabs/Accio) +[![Accio compatible](https://img.shields.io/badge/Accio-compatible-4BC51D.svg?style=flat)](https://github.com/JamitLabs/Accio) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Version](https://img.shields.io/cocoapods/v/SmartDeviceLink-iOS.svg?style=flat)](https://cocoapods.org/pods/SmartDeviceLink-iOS) +[![CocoaPods Version](https://img.shields.io/cocoapods/v/SmartDeviceLink-iOS.svg?style=flat)](https://cocoapods.org/pods/SmartDeviceLink-iOS) +[![Swift Package Manager compatible](https://img.shields.io/badge/SPM-compatible-4BC51D.svg?style=flat)](https://github.com/apple/swift-package-manager) [![License](https://img.shields.io/cocoapods/l/SmartDeviceLink-iOS.svg?style=flat)](https://cocoapods.org/pods/SmartDeviceLink-iOS) ![SmartDeviceLink Tests](https://github.com/smartdevicelink/sdl_ios/workflows/SmartDeviceLink%20Tests/badge.svg) [![codecov](https://codecov.io/gh/smartdevicelink/sdl_ios/branch/master/graph/badge.svg)](https://codecov.io/gh/smartdevicelink/sdl_ios) @@ -24,7 +25,7 @@ The mobile library component of SDL is meant to run on the end user’s smart-de You can find guides and documentation on how to use this library at the [SmartDeviceLink website](https://smartdevicelink.com/en/guides/iOS/getting-started/installation/). You can find the upcoming releases roadmap at the [SDL Evolution Github](https://github.com/smartdevicelink/sdl_evolution#recent-and-upcoming-releases). ### Installing -To install this library as a framework in your app, see the [Installation Guide](https://smartdevicelink.com/en/guides/iOS/getting-started/installation/). There are instructions on how to install using the dependency managers CocoaPods, Carthage, and Accio, as well as how to install the library framework manually. +To install this library as a framework in your app, see the [Installation Guide](https://smartdevicelink.com/en/guides/iOS/getting-started/installation/). There are instructions on how to install using the dependency managers Accio, Carthage, CocoaPods, and Swift Package Manager, as well as how to install the library framework manually. #### Adding a Dynamic Framework Tagged to our releases is a dynamic framework file that can be drag-and-dropped into the application. Dynamic frameworks are supported on iOS 8+. **WARNING: You cannot submit your app to the app store with the framework as is. You MUST strip the simulator part of the framework first. Strip the x64 and i386 portions first like so:** diff --git a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj index 608aeddf6..a19cd499a 100644 --- a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj +++ b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj @@ -224,7 +224,6 @@ 162E839D1A9BDE8B00906325 /* SDLRPCResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82BC1A9BDE8A00906325 /* SDLRPCResponseSpec.m */; }; 162E839E1A9BDE8B00906325 /* SDLRPCStructSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 162E82BD1A9BDE8A00906325 /* SDLRPCStructSpec.m */; }; 167ED93C1A9BCB8A00797BE5 /* SmartDeviceLink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D61FA1C1A84237100846EE7 /* SmartDeviceLink.framework */; }; - 167ED9461A9BCE5D00797BE5 /* SwiftSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 167ED9451A9BCE5D00797BE5 /* SwiftSpec.swift */; }; 1680B1131A9CD7AD00DBD79E /* SDLProtocolHeaderSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B1061A9CD7AD00DBD79E /* SDLProtocolHeaderSpec.m */; }; 1680B1141A9CD7AD00DBD79E /* SDLV1ProtocolHeaderSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B1071A9CD7AD00DBD79E /* SDLV1ProtocolHeaderSpec.m */; }; 1680B1151A9CD7AD00DBD79E /* SDLV2ProtocolHeaderSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 1680B1081A9CD7AD00DBD79E /* SDLV2ProtocolHeaderSpec.m */; }; @@ -300,7 +299,6 @@ 4A457DD524A3C16E00386CBA /* SDLLifecycleMobileHMIStateHandlerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A457DD424A3C16E00386CBA /* SDLLifecycleMobileHMIStateHandlerSpec.m */; }; 4A457DD724A3CCED00386CBA /* SDLLifecycleSystemRequestHandlerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A457DD624A3CCED00386CBA /* SDLLifecycleSystemRequestHandlerSpec.m */; }; 4A457DD924A5137100386CBA /* SDLLifecycleProtocolHandlerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A457DD824A5137100386CBA /* SDLLifecycleProtocolHandlerSpec.m */; }; - 4A877499251BBE2400A8BEBB /* SmartDeviceLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A877498251BBE2400A8BEBB /* SmartDeviceLink.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4A8BD23B24F93135000945E3 /* SDLMassageCushionFirmness.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A8BD22324F93131000945E3 /* SDLMassageCushionFirmness.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4A8BD23C24F93135000945E3 /* SDLMediaServiceData.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A8BD22424F93131000945E3 /* SDLMediaServiceData.m */; }; 4A8BD23D24F93135000945E3 /* SDLMsgVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A8BD22524F93132000945E3 /* SDLMsgVersion.m */; }; @@ -1385,6 +1383,7 @@ 4ABB2BA724F850AE0061BF55 /* SDLImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ABB2B9924F850AD0061BF55 /* SDLImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4ABB2BA824F850AE0061BF55 /* SDLLightState.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ABB2B9A24F850AD0061BF55 /* SDLLightState.m */; }; 4ABB2BA924F850AE0061BF55 /* SDLImageResolution.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ABB2B9B24F850AD0061BF55 /* SDLImageResolution.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4AE8A7022537796E000666C0 /* SmartDeviceLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AE8A7012537796E000666C0 /* SmartDeviceLink.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5D0A9F911F15550400CC80DD /* SDLSystemCapabilityTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0A9F901F15550400CC80DD /* SDLSystemCapabilityTypeSpec.m */; }; 5D0A9F931F15560B00CC80DD /* SDLNavigationCapabilitySpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0A9F921F15560B00CC80DD /* SDLNavigationCapabilitySpec.m */; }; 5D0A9F951F15585B00CC80DD /* SDLPhoneCapabilitySpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0A9F941F15585B00CC80DD /* SDLPhoneCapabilitySpec.m */; }; @@ -1567,7 +1566,6 @@ 881F388D22D904BE00DF6DCE /* SDLCancelInteractionResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 881F388C22D904BE00DF6DCE /* SDLCancelInteractionResponseSpec.m */; }; 8829568B207CF68800EF056C /* SmartDeviceLink.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D61FA1C1A84237100846EE7 /* SmartDeviceLink.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; 88295693207CF68800EF056C /* SmartDeviceLink.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 5D61FA1C1A84237100846EE7 /* SmartDeviceLink.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 882C42CE2108CDB100A44B58 /* (null) in Sources */ = {isa = PBXBuildFile; }; 882FAC4D2209D7EF0062385D /* SDLAppServiceDataSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 882FAC4C2209D7EF0062385D /* SDLAppServiceDataSpec.m */; }; 8831FA392201E3D100B8FFB7 /* SDLAppServiceManifestSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 8831FA382201E3D100B8FFB7 /* SDLAppServiceManifestSpec.m */; }; 8831FA3D220207DA00B8FFB7 /* SDLServiceUpdateReasonSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 8831FA3C220207DA00B8FFB7 /* SDLServiceUpdateReasonSpec.m */; }; @@ -2001,7 +1999,6 @@ 162E82BB1A9BDE8A00906325 /* SDLRPCRequestSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCRequestSpec.m; sourceTree = "<group>"; }; 162E82BC1A9BDE8A00906325 /* SDLRPCResponseSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCResponseSpec.m; sourceTree = "<group>"; }; 162E82BD1A9BDE8A00906325 /* SDLRPCStructSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLRPCStructSpec.m; sourceTree = "<group>"; }; - 167ED9451A9BCE5D00797BE5 /* SwiftSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftSpec.swift; sourceTree = "<group>"; }; 1680B1061A9CD7AD00DBD79E /* SDLProtocolHeaderSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLProtocolHeaderSpec.m; sourceTree = "<group>"; }; 1680B1071A9CD7AD00DBD79E /* SDLV1ProtocolHeaderSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLV1ProtocolHeaderSpec.m; sourceTree = "<group>"; }; 1680B1081A9CD7AD00DBD79E /* SDLV2ProtocolHeaderSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLV2ProtocolHeaderSpec.m; sourceTree = "<group>"; }; @@ -2078,8 +2075,7 @@ 4A457DD424A3C16E00386CBA /* SDLLifecycleMobileHMIStateHandlerSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleMobileHMIStateHandlerSpec.m; path = DevAPISpecs/SDLLifecycleMobileHMIStateHandlerSpec.m; sourceTree = "<group>"; }; 4A457DD624A3CCED00386CBA /* SDLLifecycleSystemRequestHandlerSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleSystemRequestHandlerSpec.m; path = DevAPISpecs/SDLLifecycleSystemRequestHandlerSpec.m; sourceTree = "<group>"; }; 4A457DD824A5137100386CBA /* SDLLifecycleProtocolHandlerSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleProtocolHandlerSpec.m; path = DevAPISpecs/SDLLifecycleProtocolHandlerSpec.m; sourceTree = "<group>"; }; - 4A6B0D6125262D130025516A /* EAAccessory+OCMock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "EAAccessory+OCMock.h"; sourceTree = "<group>"; }; - 4A877498251BBE2400A8BEBB /* SmartDeviceLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SmartDeviceLink.h; path = public/SmartDeviceLink.h; sourceTree = "<group>"; }; + 4A680F192513E1F4004A2C31 /* Package.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Package.swift; sourceTree = SOURCE_ROOT; }; 4A8BD22324F93131000945E3 /* SDLMassageCushionFirmness.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLMassageCushionFirmness.h; path = public/SDLMassageCushionFirmness.h; sourceTree = "<group>"; }; 4A8BD22424F93131000945E3 /* SDLMediaServiceData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLMediaServiceData.m; path = public/SDLMediaServiceData.m; sourceTree = "<group>"; }; 4A8BD22524F93132000945E3 /* SDLMsgVersion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLMsgVersion.m; path = public/SDLMsgVersion.m; sourceTree = "<group>"; }; @@ -3169,6 +3165,8 @@ 4ABB2B9924F850AD0061BF55 /* SDLImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLImage.h; path = public/SDLImage.h; sourceTree = "<group>"; }; 4ABB2B9A24F850AD0061BF55 /* SDLLightState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLLightState.m; path = public/SDLLightState.m; sourceTree = "<group>"; }; 4ABB2B9B24F850AD0061BF55 /* SDLImageResolution.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLImageResolution.h; path = public/SDLImageResolution.h; sourceTree = "<group>"; }; + 4AE8A7012537796E000666C0 /* SmartDeviceLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SmartDeviceLink.h; path = public/SmartDeviceLink.h; sourceTree = "<group>"; }; + 4AE8A707253779F9000666C0 /* EAAccessory+OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "EAAccessory+OCMock.h"; sourceTree = "<group>"; }; 5D0A9F901F15550400CC80DD /* SDLSystemCapabilityTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSystemCapabilityTypeSpec.m; sourceTree = "<group>"; }; 5D0A9F921F15560B00CC80DD /* SDLNavigationCapabilitySpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLNavigationCapabilitySpec.m; sourceTree = "<group>"; }; 5D0A9F941F15585B00CC80DD /* SDLPhoneCapabilitySpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLPhoneCapabilitySpec.m; sourceTree = "<group>"; }; @@ -4187,7 +4185,7 @@ 4A6B0D6025262CF50025516A /* Utilities */ = { isa = PBXGroup; children = ( - 4A6B0D6125262D130025516A /* EAAccessory+OCMock.h */, + 4AE8A707253779F9000666C0 /* EAAccessory+OCMock.h */, 88DF998C22035CC600477AC1 /* EAAccessory+OCMock.m */, ); path = Utilities; @@ -5604,13 +5602,14 @@ 5D5934EF1A85160F00687FB9 /* RPCs */, 5D5934EE1A85160900687FB9 /* Protocol */, 5D5934F01A85161A00687FB9 /* Transport */, - 4A877498251BBE2400A8BEBB /* SmartDeviceLink.h */, 5D1665A01CF5D5DA00CC4CA1 /* .gitignore */, 5D1665A21CF5D5DA00CC4CA1 /* Cartfile.private */, 5D1665A31CF5D5DA00CC4CA1 /* CHANGELOG.md */, 5D1665A41CF5D5DA00CC4CA1 /* DEPENDENCIES.md */, 5D1665A51CF5D5DA00CC4CA1 /* LICENSE */, 5D1665A61CF5D5DA00CC4CA1 /* README.md */, + 4A680F192513E1F4004A2C31 /* Package.swift */, + 4AE8A7012537796E000666C0 /* SmartDeviceLink.h */, 5DCA93821EE0844D0015768E /* SmartDeviceLink.podspec */, 5D1665A71CF5D5DA00CC4CA1 /* SmartDeviceLink-iOS.podspec */, 5D61FA1E1A84237100846EE7 /* Supporting Files */, @@ -5638,7 +5637,6 @@ EE5D1B31208EBC7100D17216 /* TransportSpecs */, 5DB92D201AC47AC400C15BB0 /* UtilitiesSpecs */, 5D61FA2D1A84237100846EE7 /* Supporting Files */, - 167ED9451A9BCE5D00797BE5 /* SwiftSpec.swift */, ); path = SmartDeviceLinkTests; sourceTree = "<group>"; @@ -7126,7 +7124,7 @@ 4ABB251224F7E3A30061BF55 /* SDLLifecycleConfiguration.h in Headers */, 4ABB25F624F7E7EF0061BF55 /* SDLTouch.h in Headers */, 4ABB2A8324F847DF0061BF55 /* SDLResetGlobalPropertiesResponse.h in Headers */, - 4A877499251BBE2400A8BEBB /* SmartDeviceLink.h in Headers */, + 4AE8A7022537796E000666C0 /* SmartDeviceLink.h in Headers */, 4ABB2BA124F850AE0061BF55 /* SDLLightControlData.h in Headers */, 4ABB293424F842A00061BF55 /* SDLDeleteWindow.h in Headers */, 4A8BD26924F933C7000945E3 /* SDLParameterPermissions.h in Headers */, @@ -8291,7 +8289,6 @@ 162E83511A9BDE8B00906325 /* SDLDeleteInteractionChoiceSetResponseSpec.m in Sources */, DA9F7EB41DCC086400ACAE48 /* SDLDateTimeSpec.m in Sources */, 162E82E41A9BDE8B00906325 /* SDLImageFieldNameSpec.m in Sources */, - 882C42CE2108CDB100A44B58 /* (null) in Sources */, 162E82ED1A9BDE8B00906325 /* SDLMaintenanceModeStatusSpec.m in Sources */, 8B9376DB1F33656C009605C4 /* SDLMetadataTagsSpec.m in Sources */, 5DB92D2D1AC4A34F00C15BB0 /* SDLPrioritizedObjectCollectionSpec.m in Sources */, @@ -8526,7 +8523,6 @@ 8831FA3D220207DA00B8FFB7 /* SDLServiceUpdateReasonSpec.m in Sources */, 000DD57422EF0957005AB7A7 /* SDLReleaseInteriorVehicleDataModuleSpec.m in Sources */, 162E83431A9BDE8B00906325 /* SDLSyncPDataSpec.m in Sources */, - 167ED9461A9BCE5D00797BE5 /* SwiftSpec.swift in Sources */, 162E838B1A9BDE8B00906325 /* SDLSoftButtonCapabilitiesSpec.m in Sources */, 162E834C1A9BDE8B00906325 /* SDLAlertResponseSpec.m in Sources */, 1680B11B1A9CD7AD00DBD79E /* SDLFunctionIDSpec.m in Sources */, @@ -9023,6 +9019,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; RUN_CLANG_STATIC_ANALYZER = YES; SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -9068,6 +9065,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; RUN_CLANG_STATIC_ANALYZER = YES; SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; @@ -9230,6 +9228,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; RUN_CLANG_STATIC_ANALYZER = YES; SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; @@ -9280,6 +9279,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; RUN_CLANG_STATIC_ANALYZER = YES; SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = YES; SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/SmartDeviceLink/private/NSBundle+SDLBundle.m b/SmartDeviceLink/private/NSBundle+SDLBundle.m index 5880a5927..7dbdb4317 100644 --- a/SmartDeviceLink/private/NSBundle+SDLBundle.m +++ b/SmartDeviceLink/private/NSBundle+SDLBundle.m @@ -16,8 +16,12 @@ NS_ASSUME_NONNULL_BEGIN + (nullable NSBundle *)sdlBundle { NSURL *sdlBundleURL = [[NSBundle mainBundle] URLForResource:@"SmartDeviceLink" withExtension:@"bundle"]; - NSBundle *sdlBundle = nil; + if (sdlBundleURL == nil) { + // HAX: SwiftPM + sdlBundleURL = [[NSBundle mainBundle] URLForResource:@"SmartDeviceLink_SmartDeviceLink" withExtension:@"bundle"]; + } + NSBundle *sdlBundle = nil; if (sdlBundleURL != nil) { sdlBundle = [NSBundle bundleWithURL:sdlBundleURL]; } diff --git a/SmartDeviceLinkTests/SwiftSpec.swift b/SmartDeviceLinkTests/SwiftSpec.swift deleted file mode 100644 index 274da684d..000000000 --- a/SmartDeviceLinkTests/SwiftSpec.swift +++ /dev/null @@ -1,5 +0,0 @@ -// -// SwiftSpec.swift -// SmartDeviceLink-iOS - -import Quick; |