Copyright (C) iPhoneアプリ開発備忘録 All rights reserved.
ブログ内で記したコード、内容の正確性は保証いたしません。
記載内容を実装したことにより発生した不具合・損害等の責任は一切負いません。



2024年03月17日

ChartsをDGChartsに移行する



Swiftでチャート図を作成するライブラリChartsは、Swfit標準のチャート図作成フレームワークが登場したのを機に、名をDGChartsと変えた。

その移行手順。
本記事はDGChartsのインポートをCocoaPodsで実施する場合の手順を示す。

1. Podfileを修正する
修正前
pod 'Charts'

修正後
pod 'DGCharts'


2. Podfile.lockを削除する

3. CocoaPodsにより、ターゲットとなるプロジェクトにDGChartsをインストールする
コマンド
pod install

Chartsが削除され、DGChartsがインストールされる。

4.. ターゲットとなるプロジェクトをXcodeで開く
4.1 DGChartsを呼び出すObjective-cで記述されたクラスの修正
(1) ヘッダファイル(.h)の修正
修正前
#import <Charts/Charts-umbrella.h>

修正後
#import <DGCharts/DGCharts-umbrella.h>


(2) ロジックを記述したソースファイル(.m)の修正
古いバージョンのChartsからの移行の場合、APIやクラス名に多数の変更がある。
ビルド時にエラーとなるため、DGChartsのサンプルコードをダウンロードし、参照しながら修正を行う。

https://github.com/danielgindi/Charts


4.2 DGChartsを呼び出すSwiftファイルの修正
修正前
import Charts

修正後
import DGCharts


5. 実行時エラーの対応
(1) LineChart1ViewController実行時
エラーメッセージ
-[UIView setDelegate:]: unrecognized selector sent to instance


原因:ViewControllerが利用しているXibのLineChartのModule名がChartsになっている。

修正内容:ViewControllerが利用しているXibのLineChartのModule名をDGChartsに修正する。
・当該Xibのインスペクタを開き、Custom ClassのModuleをChartsからDGChartsに修正する。

※ LineChart1ViewController以外の実行時に同様なエラーでクラッシュした場合は、同様にXibを修正する。


ビルド時、実行時にエラーとなった場合は、GitHubのDGChartsページでIssuesから参考になるトピックを検索して解決の糸口を探ること。

参考記事:
https://appdev-room.com/swift-dgcharts
https://github.com/danielgindi/Charts/issues/5104
【Chartsの最新記事】
posted by mobileDeveloper at 19:17 | Comment(0) | TrackBack(0) | Charts はてなブックマーク - ChartsをDGChartsに移行する | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
Apple、Appleのロゴ、App Store、iPodのロゴ、iTunesは、米国および他国のApple Inc.の登録商標です。
iPhone、iPod touch、iPadはApple Inc.の商標です。
iPhone商標は、アイホン株式会社のライセンスに基づき使用されています。
その他、本ブログに記載されている製品名、会社名は、それぞれ各社の商標または登録商標です。