1.0.1基于2.5.7源代码修改
1.增加了清理内存缓存的功能,防止内存过大造成的Crash.
2.增加了本地磁盘二进制文件的缓存,防止SVGA重复下载造成的流量浪费.
============================================
👇🏻👇🏻👇🏻是源库的MD
SVGAPlayer
2.5.0 Released
This version add Support for matte layer and dynamic matte bitmap.
Head on over to Dynamic · Matte Layer
This version add Support for audio step to frame & percentage.
2.3.5 Released
This version fixed SVGAPlayer clearsAfterStop defaults too YES
, Please check your player when it doesn't need to be cleared.
This version fixed SVGAPlayer render issue on iOS 13.1, upgrade to this version ASAP.
Introduce
SVGAPlayer is a light-weight animation renderer. You use tools to export svga
file from Adobe Animate CC
or Adobe After Effects
, and then use SVGAPlayer to render animation on mobile application.
SVGAPlayer-iOS
render animation natively via iOS CoreAnimation Framework, brings you a high-performance, low-cost animation experience.
If wonder more information, go to this website.
Usage
Here introduce SVGAPlayer-iOS
usage. Wonder exporting usage? Click here.
Install Via CocoaPods
You want to add pod 'SVGAPlayer', '~> 2.3' similar to the following to your Podfile:
target 'MyApp' do pod 'SVGAPlayer', '~> 2.3' end
Then run a pod install
inside your terminal, or from CocoaPods.app.
Locate files
SVGAPlayer could load svga file from application bundle or remote server.
Using code
SVGAPlayer
instance.
Create a SVGAPlayer *player = [[SVGAPlayer alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
[self.view addSubview:player]; // Add subview by yourself.
SVGAParser
instance, parse from bundle like this.
Create a SVGAParser *parser = [[SVGAParser alloc] init];
[parser parseWithNamed:@"posche" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
} failureBlock:nil];
SVGAParser
instance, parse from remote server like this.
Create a SVGAParser *parser = [[SVGAParser alloc] init];
[parser parseWithURL:[NSURL URLWithString:@"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
} failureBlock:nil];
SVGAPlayer
, play it as you want.
Set videoItem to [parser parseWithURL:[NSURL URLWithString:@"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
if (videoItem != nil) {
player.videoItem = videoItem;
[player startAnimation];
}
} failureBlock:nil];
Cache
SVGAParser
use NSURLSession
request remote data via network. You may use following ways to control cache.
Response Header
Server response SVGA files in Body, and response header either. response header has cache-control / etag / expired keys, all these keys telling NSURLSession how to handle cache.
Request NSData By Yourself
If you couldn't fix Server Response Header, You should build NSURLRequest with CachePolicy by yourself, and fetch NSData.
Deliver NSData to SVGAParser, as usual.
Features
Here are many feature samples.
- Replace an element with Bitmap.
- Add text above an element.
- Hides an element dynamicaly.
- Use a custom drawer for element.
APIs
Head on over to https://github.com/yyued/SVGAPlayer-iOS/wiki/APIs
CHANGELOG
Head on over to CHANGELOG