SVGKit 3.0.0

SVGKit 3.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 NOASSERTION
发布最新发布2021年4月

维护者:Mirko Olsiewicz,Alexandros Salazar,adam,DreamPiggy。



SVGKit 3.0.0

  • Steven Fusco,adamgit,Kevin Stich,Joshua May,Eric Man,Matt Rajca 和 Moritz Pfeiffer

SVGKit

SVGKit 是一个用于本地渲染 SVG 文件的 Cocoa 框架:它速度快,功能强大。有关更多信息和其他链接,请参阅维基百科 https://github.com/SVGKit/SVGKit/wiki

Twitter

我们有一个 Twitter 账号 http://twitter.com/SVGKit_free,您可以在那里关注发布信息,或发推文进行联系(请通过“问题页面”而不是发推文来报告任何错误)。

版本

最新信息在:https://github.com/SVGKit/SVGKit/wiki/Versions

  • v2.x = 当前“开发中”分支,包含最新的更改、修复和功能
    • 注意:当您访问 SVGKit 的项目页面时,GitHub 会将此分支自动选择为“默认”分支

入门

运行iOS示例

注意:2015年4月:新的示例应用程序,功能更多,可能存在一些初期问题。

  1. 打开 "Demo-iOS.xcodeproj",并在模拟器或设备上运行它。尝试不同的SVG。放大、平移,并且(只有在使用Monkey的情况下)点击“动画”按钮。点击图片以查看边界框/击中检测(可能需要先点击Debug按钮)
  2. 如果您在构建库并嵌入到您的应用中遇到任何问题,请将您的构建设置与Demo-iOS的构建设置进行比较 - 如果有所不同,可能就是问题所在。

安装(将SVGKit添加到您的应用中)

安装SVGKit时有3种主要选项

  1. 将.framework文件拖放到您的项目中 <-- 建议使用/推荐
  2. 使用CocoaPods
  3. 使用Carthage
  4. 将静态库拖放到您的项目中,并配置项目中的构建设置

注意:静态库是我们向后兼容的、始终有效的手动安装方式,如果您在使用CocoaPods或Framework时遇到问题,可以使用此方法。但其他两种方法要快得多/简单。

使用框架 - 拖放即可!

  1. 打开 "SVGKit-iOS.xcodeproj"
  2. 构建项目一次
  3. 在项目导航器中,展开“Products”文件夹
  4. 将SVGKit.framework拖放到您的应用项目中

注意:框架是Xcode中使用库的首选方式。但是,这是一个新特性,可能存在错误。如果您有任何问题,请创建一个Issue,但也尝试下面提到的静态库方法

您还可能需要手动将以下Apple框架添加到您的应用中

  • CoreText
  • CoreImage
  • libxml2.dylib
  • QuartzCore
  • CoreGraphics
  • UIKit

您还可能需要将以下第三方框架添加到您的应用中(包含在SVGKit中)

  • CocoaLumberjack(在SVGKit-iOS项目中,选择“3rd-party-frameworks”文件夹,并将所需的版本拖放到项目中:iOS、tvOS等)请记住嵌入库(应在目标 -> 一般 -> 集成二进制中显示)

使用 CocoaPods

CocoaPods 是 CocoaTouch 的依赖管理器。要进行 CocoaPods,请在您的 podfile 中添加以下内容

pod 'SVGKit'

还建议您设置 podfile 以从 2.x 分支获取 SVGKit。

pod 'SVGKit', :git => 'https://github.com/SVGKit/SVGKit.git', :branch => '2.x'

使用 Carthage

Carthage 是 Cocoa 的分布式依赖管理器。要使用 Carthage,请在其 Cartfile 中添加以下内容

github 'SVGKit/SVGKit'

还建议您设置 Cartfile 以从 2.x 分支获取 SVGKit。

github "SVGKit/SVGKit" "2.x"

构建静态库

直到 2016 年,这一直是将 SVGKit 交付的方式。

我们有一个构建脚本,它将自动一次性构建库的所有版本,并将其作为一个单独的文件交付:http://stackoverflow.com/questions/3520977/build-fat-static-library-device-simulator-using-xcode-and-sdk-4/3647187#3647187

一切都已经设置好了,您只需执行以下操作

  1. 打开 "SVGKit-iOS.xcodeproj",切换到 "SVGKit-iOS" 目标并构建它(cmd-B)
  2. 在左侧导航栏中,滚动到最底部,并打开 "Products" 部分标题
  3. 在库("libSVGKitBLAHBLAH.a")上右键单击,并选择 "Show in Finder"(显示在Finder中)
  4. 向上一级文档
  5. 选择 "Debug-universal"(或如果您是在发布模式下构建,则为 "Release-universal")文件夹
  6. 将 .a 文件和 "usr" 文件夹拖到您的项目中(勾选 "Copy files"(复制文件)复选框)
  7. 在构建设置中,选择 "Other Linker Flags"(其他链接器标志)并添加 "-ObjC"
  8. 编辑您的构建设置并将 "C/C++ Compiler Version"(C/C++ 编译器版本)设置为 "LLVM Compiler 2.0"(LLVM 编译器 2.0)
  9. 添加以下所有框架和第三方库列表(转到 "Build Phases",然后 "Link Binary with Libraries"(链接二进制文件与库))
  • CoreText
  • CoreImage
  • libxml2.dylib
  • QuartzCore
  • CoreGraphics
  • UIKit

其他一切自动完成。

用法 - OS X

SVGKit 从 2.1.0 版本开始支持 macOS。

您可以使用类似 iOS 的几乎相同的 API。包括 SVGKFastImageViewSVGKLayeredImageView,您还可以使用 SVGKImage.NSImage 将 SVG 层导出为位图图像。

我们也为SVGKit提供macOS演示。要运行示例,请打开 Demo-OSX.xcodeproj并构建以运行。您可以使用这两种不同类型的视图来浏览不同的SVG文件,以检查兼容性。

SVGKit使用方法指南

这里是关于如何使用SVGKit的一些帖子,包括如何使用各种方法及原因。

我遇到了一个带有“未识别的选择器”崩溃?

如果您遇到此错误

"+[NSCharacterSet SVGWhitespaceCharacterSet]: unrecognized selector sent to class "

... 您可能正在构建静态库,但忘记了以下步骤

"编辑您的构建设置并在“Other Linker Flags”中添加“-ObjC”