Skip to content

Commit d7adc57

Browse files
committed
Add source files
1 parent f6ee737 commit d7adc57

File tree

15 files changed

+252
-62
lines changed

15 files changed

+252
-62
lines changed

.gitignore

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ DerivedData
2323
.bundle
2424

2525
# Add this line if you want to avoid checking in source code from Carthage dependencies.
26-
# Carthage/Checkouts
27-
26+
Carthage/Checkouts
2827
Carthage/Build
2928

3029
# We recommend against adding the Pods directory to your .gitignore. However
@@ -34,4 +33,4 @@ Carthage/Build
3433
# Note: if you ignore the Pods directory, make sure to uncomment
3534
# `pod install` in .travis.yml
3635
#
37-
# Pods/
36+
Example/Pods

Example/Podfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use_frameworks!
22

33
target 'SDWebImageSVGCoder_Example' do
44
pod 'SDWebImageSVGCoder', :path => '../'
5+
pod 'SVGKit', :git => 'https://github.com/SVGKit/SVGKit.git', :branch => '2.x'
56

67
target 'SDWebImageSVGCoder_Tests' do
78
inherit! :search_paths

Example/Podfile.lock

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
PODS:
2+
- CocoaLumberjack (3.4.2):
3+
- CocoaLumberjack/Default (= 3.4.2)
4+
- CocoaLumberjack/Extensions (= 3.4.2)
5+
- CocoaLumberjack/Default (3.4.2)
6+
- CocoaLumberjack/Extensions (3.4.2):
7+
- CocoaLumberjack/Default
8+
- SDWebImage/Core (5.0.0-beta3)
9+
- SDWebImageSVGCoder (0.1.0):
10+
- SDWebImage/Core (>= 5.0.0-beta2)
11+
- SVGKit (>= 2.x)
12+
- SVGKit (2.0.1):
13+
- CocoaLumberjack (~> 3.x)
14+
15+
DEPENDENCIES:
16+
- SDWebImageSVGCoder (from `../`)
17+
- SVGKit (from `https://github.com/SVGKit/SVGKit.git`, branch `2.x`)
18+
19+
SPEC REPOS:
20+
https://github.com/cocoapods/specs.git:
21+
- CocoaLumberjack
22+
- SDWebImage
23+
24+
EXTERNAL SOURCES:
25+
SDWebImageSVGCoder:
26+
:path: "../"
27+
SVGKit:
28+
:branch: 2.x
29+
:git: https://github.com/SVGKit/SVGKit.git
30+
31+
CHECKOUT OPTIONS:
32+
SVGKit:
33+
:commit: 733acf66e44a02396efc8a6f445d190af592d544
34+
:git: https://github.com/SVGKit/SVGKit.git
35+
36+
SPEC CHECKSUMS:
37+
CocoaLumberjack: db7cc9e464771f12054c22ff6947c5a58d43a0fd
38+
SDWebImage: e52654ceef9fdc19f4c612d64a5b6d3f05dd81a4
39+
SDWebImageSVGCoder: 38afb305f02a1f6e01e6dfa20a3370c48c734538
40+
SVGKit: 4055d9e809b5db8633755979cfb3b02dc5a8c20d
41+
42+
PODFILE CHECKSUM: dc5153f27ba2a6dd43c49d8e0100b34b78f46730
43+
44+
COCOAPODS: 1.5.3

Example/SDWebImageSVGCoder.xcodeproj/project.pbxproj

Lines changed: 6 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,6 @@
208208
6003F587195388D20070C39A /* Frameworks */,
209209
6003F588195388D20070C39A /* Resources */,
210210
9996E5BF0D2DF1699498034B /* [CP] Embed Pods Frameworks */,
211-
AE55BC7734FF3342B0413502 /* [CP] Copy Pods Resources */,
212211
);
213212
buildRules = (
214213
);
@@ -227,8 +226,6 @@
227226
6003F5AA195388D20070C39A /* Sources */,
228227
6003F5AB195388D20070C39A /* Frameworks */,
229228
6003F5AC195388D20070C39A /* Resources */,
230-
7C20472C3829859915CF436F /* [CP] Embed Pods Frameworks */,
231-
2121D8040A30BE3ED6CD9535 /* [CP] Copy Pods Resources */,
232229
);
233230
buildRules = (
234231
);
@@ -297,21 +294,6 @@
297294
/* End PBXResourcesBuildPhase section */
298295

299296
/* Begin PBXShellScriptBuildPhase section */
300-
2121D8040A30BE3ED6CD9535 /* [CP] Copy Pods Resources */ = {
301-
isa = PBXShellScriptBuildPhase;
302-
buildActionMask = 2147483647;
303-
files = (
304-
);
305-
inputPaths = (
306-
);
307-
name = "[CP] Copy Pods Resources";
308-
outputPaths = (
309-
);
310-
runOnlyForDeploymentPostprocessing = 0;
311-
shellPath = /bin/sh;
312-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SDWebImageSVGCoder_Tests/Pods-SDWebImageSVGCoder_Tests-resources.sh\"\n";
313-
showEnvVarsInLog = 0;
314-
};
315297
750ABDA0E7C25783B338A0BD /* [CP] Check Pods Manifest.lock */ = {
316298
isa = PBXShellScriptBuildPhase;
317299
buildActionMask = 2147483647;
@@ -330,54 +312,30 @@
330312
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
331313
showEnvVarsInLog = 0;
332314
};
333-
7C20472C3829859915CF436F /* [CP] Embed Pods Frameworks */ = {
334-
isa = PBXShellScriptBuildPhase;
335-
buildActionMask = 2147483647;
336-
files = (
337-
);
338-
inputPaths = (
339-
);
340-
name = "[CP] Embed Pods Frameworks";
341-
outputPaths = (
342-
);
343-
runOnlyForDeploymentPostprocessing = 0;
344-
shellPath = /bin/sh;
345-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SDWebImageSVGCoder_Tests/Pods-SDWebImageSVGCoder_Tests-frameworks.sh\"\n";
346-
showEnvVarsInLog = 0;
347-
};
348315
9996E5BF0D2DF1699498034B /* [CP] Embed Pods Frameworks */ = {
349316
isa = PBXShellScriptBuildPhase;
350317
buildActionMask = 2147483647;
351318
files = (
352319
);
353320
inputPaths = (
354321
"${SRCROOT}/Pods/Target Support Files/Pods-SDWebImageSVGCoder_Example/Pods-SDWebImageSVGCoder_Example-frameworks.sh",
322+
"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework",
323+
"${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
355324
"${BUILT_PRODUCTS_DIR}/SDWebImageSVGCoder/SDWebImageSVGCoder.framework",
325+
"${BUILT_PRODUCTS_DIR}/SVGKit/SVGKit.framework",
356326
);
357327
name = "[CP] Embed Pods Frameworks";
358328
outputPaths = (
329+
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework",
330+
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
359331
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImageSVGCoder.framework",
332+
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SVGKit.framework",
360333
);
361334
runOnlyForDeploymentPostprocessing = 0;
362335
shellPath = /bin/sh;
363336
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SDWebImageSVGCoder_Example/Pods-SDWebImageSVGCoder_Example-frameworks.sh\"\n";
364337
showEnvVarsInLog = 0;
365338
};
366-
AE55BC7734FF3342B0413502 /* [CP] Copy Pods Resources */ = {
367-
isa = PBXShellScriptBuildPhase;
368-
buildActionMask = 2147483647;
369-
files = (
370-
);
371-
inputPaths = (
372-
);
373-
name = "[CP] Copy Pods Resources";
374-
outputPaths = (
375-
);
376-
runOnlyForDeploymentPostprocessing = 0;
377-
shellPath = /bin/sh;
378-
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SDWebImageSVGCoder_Example/Pods-SDWebImageSVGCoder_Example-resources.sh\"\n";
379-
showEnvVarsInLog = 0;
380-
};
381339
F8ED3998881DDB15315EBD32 /* [CP] Check Pods Manifest.lock */ = {
382340
isa = PBXShellScriptBuildPhase;
383341
buildActionMask = 2147483647;

Example/SDWebImageSVGCoder.xcworkspace/contents.xcworkspacedata

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/SDWebImageSVGCoder/SDViewController.m

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
//
88

99
#import "SDViewController.h"
10+
#import <SDWebImageSVGCoder/SDWebImageSVGCoder.h>
1011

1112
@interface SDViewController ()
1213

@@ -18,6 +19,30 @@ - (void)viewDidLoad
1819
{
1920
[super viewDidLoad];
2021
// Do any additional setup after loading the view, typically from a nib.
22+
23+
SDImageSVGCoder *SVGCoder = [SDImageSVGCoder sharedCoder];
24+
[[SDImageCodersManager sharedManager] addCoder:SVGCoder];
25+
NSURL *svgURL = [NSURL URLWithString:@"https://upload.wikimedia.org/wikipedia/commons/1/14/Mahuri.svg"];
26+
NSURL *svgURL2 = [NSURL URLWithString:@"https://upload.wikimedia.org/wikipedia/commons/2/2d/Sample_SVG_file%2C_signature.svg"];
27+
28+
CGSize screenSize = [UIScreen mainScreen].bounds.size;
29+
30+
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, screenSize.width, screenSize.height / 2)];
31+
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, screenSize.height / 2, screenSize.width, screenSize.height / 2)];
32+
33+
[self.view addSubview:imageView1];
34+
[self.view addSubview:imageView2];
35+
36+
[imageView1 sd_setImageWithURL:svgURL placeholderImage:nil options:SDWebImageRetryFailed completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
37+
if (image) {
38+
NSLog(@"UIImageView SVG load success");
39+
}
40+
}];
41+
[imageView2 sd_setImageWithURL:svgURL2 placeholderImage:nil options:SDWebImageRetryFailed completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
42+
if (image) {
43+
NSLog(@"UIImageView SVG load success");
44+
}
45+
}];
2146
}
2247

2348
- (void)didReceiveMemoryWarning

Example/SDWebImageSVGCoder/SDWebImageSVGCoder-Info.plist

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
33
<plist version="1.0">
44
<dict>
5+
<key>NSAppTransportSecurity</key>
6+
<dict>
7+
<key>NSAllowsArbitraryLoads</key>
8+
<true/>
9+
</dict>
510
<key>CFBundleDevelopmentRegion</key>
611
<string>en</string>
712
<key>CFBundleDisplayName</key>

Example/Screenshot/SVGDemo.png

609 KB
Loading

README.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,38 @@ it, simply add the following line to your Podfile:
2020
pod 'SDWebImageSVGCoder'
2121
```
2222

23+
## Usage
24+
25+
To use SVG coder, you should firstly add the `SDImageSVGCoder` to the coders manager. Then you can call the View Category method to start load SVG images.
26+
27+
+ Objective-C
28+
29+
```objective-c
30+
SDImageSVGCoder *SVGCoder = [SDImageSVGCoder sharedCoder];
31+
[[SDImageCodersManager sharedManager] addCoder:SVGCoder];
32+
UIImageView *imageView;
33+
[imageView sd_setImageWithURL:url];
34+
```
35+
36+
+ Swift
37+
38+
```swift
39+
let SVGCoder = SDImageSVGCoder.shared
40+
SDImageCodersManager.shared.addCoder(SVGCoder)
41+
let imageView: UIImageView
42+
imageView.sd_setImage(with: url)
43+
```
44+
45+
## Screenshot
46+
47+
<img src="https://raw.githubusercontent.com/dreampiggy/SDWebImageSVGCoder/master/Example/Screenshot/SVGDemo.png" width="300" />
48+
2349
## Author
2450

25-
51+
DreamPiggy
2652

2753
## License
2854

2955
SDWebImageSVGCoder is available under the MIT license. See the LICENSE file for more info.
56+
57+

SDWebImageSVGCoder.podspec

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,15 @@ TODO: Add long description of the pod here.
2222
DESC
2323

2424
s.homepage = 'https://github.com/[email protected]/SDWebImageSVGCoder'
25-
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
2625
s.license = { :type => 'MIT', :file => 'LICENSE' }
2726
s.author = { '[email protected]' => '[email protected]' }
2827
s.source = { :git => 'https://github.com/[email protected]/SDWebImageSVGCoder.git', :tag => s.version.to_s }
29-
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
3028

3129
s.ios.deployment_target = '8.0'
3230

33-
s.source_files = 'SDWebImageSVGCoder/Classes/**/*'
31+
s.source_files = 'SDWebImageSVGCoder/Classes/**/*', 'SDWebImageSVGCoder/Module/SDWebImageSVGCoder.h'
32+
s.module_map = 'SDWebImageSVGCoder/Module/SDWebImageSVGCoder.modulemap'
3433

35-
# s.resource_bundles = {
36-
# 'SDWebImageSVGCoder' => ['SDWebImageSVGCoder/Assets/*.png']
37-
# }
38-
39-
# s.public_header_files = 'Pod/Classes/**/*.h'
40-
# s.frameworks = 'UIKit', 'MapKit'
41-
# s.dependency 'AFNetworking', '~> 2.3'
34+
s.dependency 'SDWebImage/Core', '>= 5.0.0-beta2'
35+
s.dependency 'SVGKit', '>= 2.x'
4236
end

0 commit comments

Comments
 (0)