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
posted by mobileDeveloper at 19:17 | Comment(0) | TrackBack(0) | Charts | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


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

この記事へのトラックバック