この場合、表示用のライブラリの力を借りることになる。
調べた結果、UIImage-SVG と、SVGKit というものが見つかった。
いずれも、CocoaPod に対応している。
UIImage-SVG
https://github.com/Label305/UIImage-SVG
SVGKit
https://github.com/SVGKit/SVGKit
CocoaPod なので、インストールは簡単だったのだが、UIImage-SVG は表示が全てベタ塗りとなり、文字の造形まで塗りつぶされてしまった。
対処方法がわからなかったので、今回は見送ることとした。
次に、SVGKit だが、このライブラリをインストールする際に関連ファイルとして CocoaLumberjack がインストールされる。
何も考えずに pod 'SVGKit' だけの指定をすると、両ファイルの最新版がインストールされるのだが、どうやらファイル通しの相性が良くないらしく、ビルドエラーを起こす。
こういった場合(CocoaPod)、何処を変更すればよいかの検討すら立たなくなる。
なにせ自動で色々やってくれるので、インストール後に直接設定を弄るのも抵抗がある。
なので、ビルドエラーのメッセージを見て調査することとした。
今回のエラーメッセージでキーとなっていたのは、DDLogCWarn だったので、これを元に検索すると以下のページがトップに出てきた。
DDLogCWarn is not a thing as far as I can tell #196
https://github.com/SVGKit/SVGKit/issues/196
奇しくも SVGKit のページだった。
内容を見ていくと、上にも書いた CocoaLumberjack を別途バージョン指定してインストールするような記述があった。
書かれてあるとおり、CocoaLumberjack はバージョンを指定して、SVGKit は指定なしにしてインストールした所、ビルドエラーも起こらず、ファイルもうまく表示できるようになった。
一応めでたしめでたしといったところだろうか。UIImage* newImage = [SVGKImage imageNamed:@"mySVGfile"].UIImage;
0 件のコメント:
コメントを投稿