web-dev-qa-db-ja.com

SwiftポッドをObjective-Cプロジェクトにインポートするときにモジュールが見つかりませんエラー

Objective-Cで書かれた既存のプロジェクトがあります。そのプロジェクトでは、Swiftにある Daniel GindiによるiOSチャートライブラリ を使用したいと思います。どうすればこれを達成できますか?

Swiftフレームワークをobjective-cプロジェクトにインポート は関連していますが、私の場合は、Cocoapodsを介してライブラリをインストールして使用しています ここで説明されているように

その質問では、彼は少なくともヘッダーをインポートすることができますが、私の場合はインポートできません。

ステップ1:Objective-Cシングルビュープロジェクトを作成します。

ステップ2:ポッドファイルを作成し、次の行を追加します-

use_frameworks!
pod 'Charts'

ステップ3:ポッドをインストールします

手順4:@import ChartsでViewController.hにグラフをインポートしようとしましたが、この時点でエラーが発生します。エラーは--Module Charts not found

11
Rohan Sanap

私の既存のプロジェクトでは、プロジェクトの#include Charts-Swift.hファイルでmain.mを実行しましたが、これで問題が解決しました。 @import Chartsは完全に機能するようになりました。これは、Appleドキュメント ここ に書かれている指示に従って行われました。

私は新しいプロジェクトを作成して試しました Anni Sの答え 、今回はインポートステートメントを書く前にcmd+Bでプロジェクトをビルドしましたが、それも機能しました。ポッドをインストールした後、モジュールをインポートする前に一度ビルドする必要があると思います。

10
Rohan Sanap

コメントで述べたのと同じ手順を試しましたが、エラーは発生しませんでした。私のプロジェクトは単にビルドして実行するだけです。私が従った手順:

  1. Objective-Cシングルビュープロジェクトを作成します。
  2. プロジェクトディレクトリレベルに「Podfile」を追加し(Podfileはxcodeprojectファイルレベルである必要があります)、次の行を追加します
use_frameworks!
pod 'Charts'
  1. Xcodeprojectを閉じる
  2. プロジェクトディレクトリに移動し、ターミナルから'pod install'コマンドを実行します
  3. ワークスペース、つまり.xcworkspaceファイルを開きます
  4. 次のようなViewControllerにチャートファイルをインポートします

#import "ViewController.h" @import Charts;

6
Anni S

新しいプロジェクトでは機能するが、既存のプロジェクトでは機能する理由を見つけました。

プロジェクト設定で、Other LinkerFlagsプロパティの値を削除します。

これは、ほとんどの開発者が見逃されているほとんどの場合です。

0
Harri Westman