1. ホーム
  2. objective-c

[解決済み] SwiftプロジェクトでObjective-CのCocoaPodsを使用する方法

2023-06-05 13:49:29

質問

Objective-Cで書かれたCocoaPodをswiftを使ってSwiftプロジェクトで使用する方法はありますか?

ブリッジングヘッダを作ればいいのでしょうか?また、その場合、CocoaPod内のライブラリで定義されたオブジェクト、クラス、フィールドにSwiftでアクセスできるのでしょうか?

どのように解決するのですか?

CocoaPodsでビルドしたobjective-cのコードを使用することができます。

より重要な質問は、「そのようなライブラリをどのように使用するか」です。

この質問に対する答えは use_frameworks! フラグによります。 Podfile :

例えば、Objective-C の pod で、名前を CoolObjectiveCLib .

ポッドファイルが use_frameworks! フラグを使用します。

// Podfile
use_frameworks!
pod 'CoolObjectiveCLib'

これで、ブリッジヘッダーファイルの追加は必要ありません。

必要なものはすべてSwiftのソースファイルにあるimportフレームワークです。

// MyClass.swift
import CoolObjectiveCLib

これで、libで紹介されているすべてのクラスが使えるようになりました。

もしあなたのPodファイルが use_frameworks! フラグを使用します。

// Podfile
pod 'CoolObjectiveCLib'

次に、ブリッジングヘッダファイルを作成し、そこに必要なすべてのObjective-Cヘッダをインポートする必要があります。

// MyApp-Bridging-Header
#import "CoolObjectiveCLib.h"

これで、インポートヘッダで定義されている全てのクラスが使えるようになりました。