From 31d6933adcf74e52c9f16cdeb71349020f695ed5 Mon Sep 17 00:00:00 2001 From: DreamPiggy Date: Fri, 30 Sep 2022 11:40:20 +0800 Subject: [PATCH 1/2] Fix the import from SwiftPM Added the missing libxml2 (which needed by SVGNative Adobe), as well as umbrella headers --- Package.swift | 3 ++- SDWebImageSVGNativeCoder.podspec | 1 + SDWebImageSVGNativeCoder/Classes/SDImageSVGNativeCoder.h | 2 +- SDWebImageSVGNativeCoder/Classes/SDImageSVGNativeCoder.mm | 2 +- SDWebImageSVGNativeCoder/Classes/SDWebImageSVGNativeCoder.h | 5 +++-- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Package.swift b/Package.swift index 56bfb49..2881349 100644 --- a/Package.swift +++ b/Package.swift @@ -29,7 +29,8 @@ let package = Package( path: ".", sources: ["SDWebImageSVGNativeCoder/Classes"], publicHeadersPath: "SDWebImageSVGNativeCoder/Classes", - cSettings: [.define("BOOST_VARIANT_DETAIL_NO_SUBSTITUTE", to: "1")] + cSettings: [.define("BOOST_VARIANT_DETAIL_NO_SUBSTITUTE", to: "1")], + linkerSettings: [.linkedLibrary("xml2")] ) ], cLanguageStandard: .gnu11, diff --git a/SDWebImageSVGNativeCoder.podspec b/SDWebImageSVGNativeCoder.podspec index ad886cb..1d51893 100644 --- a/SDWebImageSVGNativeCoder.podspec +++ b/SDWebImageSVGNativeCoder.podspec @@ -39,4 +39,5 @@ This SDWebImage coder plugin, use adobe svg-native-viewer library to provide SVG s.dependency 'SDWebImage', '~> 5.10' s.dependency 'svgnative', '>= 0.1.0-beta' + s.libraries 'c++', 'xml2' end diff --git a/SDWebImageSVGNativeCoder/Classes/SDImageSVGNativeCoder.h b/SDWebImageSVGNativeCoder/Classes/SDImageSVGNativeCoder.h index 9bfb848..053b50f 100644 --- a/SDWebImageSVGNativeCoder/Classes/SDImageSVGNativeCoder.h +++ b/SDWebImageSVGNativeCoder/Classes/SDImageSVGNativeCoder.h @@ -1,6 +1,6 @@ // // SDImageSVGNativeCoder.h -// SDWebImageSVGCoder +// SDWebImageSVGNativeCoder // // Created by dreampiggy on 08/01/2022. // Copyright (c) 2022 dreampiggy. All rights reserved. diff --git a/SDWebImageSVGNativeCoder/Classes/SDImageSVGNativeCoder.mm b/SDWebImageSVGNativeCoder/Classes/SDImageSVGNativeCoder.mm index 698b024..38071c8 100644 --- a/SDWebImageSVGNativeCoder/Classes/SDImageSVGNativeCoder.mm +++ b/SDWebImageSVGNativeCoder/Classes/SDImageSVGNativeCoder.mm @@ -1,6 +1,6 @@ // // SDImageSVGNativeCoder.mm -// SDWebImageSVGCoder +// SDWebImageSVGNativeCoder // // Created by dreampiggy on 08/01/2022. // Copyright (c) 2022 dreampiggy. All rights reserved. diff --git a/SDWebImageSVGNativeCoder/Classes/SDWebImageSVGNativeCoder.h b/SDWebImageSVGNativeCoder/Classes/SDWebImageSVGNativeCoder.h index 1f62a8e..09cc208 100644 --- a/SDWebImageSVGNativeCoder/Classes/SDWebImageSVGNativeCoder.h +++ b/SDWebImageSVGNativeCoder/Classes/SDWebImageSVGNativeCoder.h @@ -1,6 +1,6 @@ // -// SDImageSVGNativeCoder.h -// SDWebImageSVGCoder +// SDWebImageSVGNativeCoder.h +// SDWebImageSVGNativeCoder // // Created by dreampiggy on 08/01/2022. // Copyright (c) 2022 dreampiggy. All rights reserved. @@ -17,3 +17,4 @@ FOUNDATION_EXPORT const unsigned char SDWebImageSVGNativeCoderVersionString[]; // In this header, you should import all the public headers of your framework using statements like #import +#import "SDImageSVGNativeCoder.h" From cd3a3bbc93a1d7fdf56557d1a86ab1445ba20a18 Mon Sep 17 00:00:00 2001 From: DreamPiggy Date: Fri, 30 Sep 2022 11:52:51 +0800 Subject: [PATCH 2/2] Fix the CocoaPods issue by inherit the header search paths This actually no need for generate_multiple_pod_projects => true --- README.md | 8 ++++++++ SDWebImageSVGNativeCoder.podspec | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7abbd41..f824a73 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,14 @@ it, simply add the following line to your Podfile: pod 'SDWebImageSVGNativeCoder' ``` +Note: + +It's strongly recommended to use CocoaPods v1.7+ with multiple Xcode Projects, which can avoid issues when different header file contains the same file name. This applys to all SDWebImage organization maintained repo. + +```ruby +install! 'cocoapods', generate_multiple_pod_projects: true +``` + #### Carthage SDWebImageSVGNativeCoder is available through [Carthage](https://github.com/Carthage/Carthage). diff --git a/SDWebImageSVGNativeCoder.podspec b/SDWebImageSVGNativeCoder.podspec index 1d51893..f0976c8 100644 --- a/SDWebImageSVGNativeCoder.podspec +++ b/SDWebImageSVGNativeCoder.podspec @@ -34,7 +34,7 @@ This SDWebImage coder plugin, use adobe svg-native-viewer library to provide SVG s.source_files = 'SDWebImageSVGNativeCoder/Classes/**/*' s.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) BOOST_VARIANT_DETAIL_NO_SUBSTITUTE=1', - 'HEADER_SEARCH_PATHS' => '$(inherited) ${PODS_ROOT}/svgnative/svg-native-viewer/third_party/boost_variant_property_tree' + 'HEADER_SEARCH_PATHS' => '$(inherited) ${PODS_ROOT}/svgnative/svg-native-viewer/svgnative/include ${PODS_ROOT}/svgnative/svg-native-viewer/third_party/boost_variant_property_tree' } s.dependency 'SDWebImage', '~> 5.10'