1. ホーム
  2. swift

[解決済み] アプリの拡張機能でCocoapodsを使用する

2023-06-05 09:05:56

質問

Xcode 6 Beta-6で、cocoapodsライブラリを使用した写真アプリの拡張機能を構築しようとしています。 Xcodeが写真拡張のために作成するブリッジングヘッダーは、cocoapodsから何も見ることができません。

例えば #import <GPUImage/GPUImage.h> の結果は、エラー "GPUImage/GPUImage.h" file not found .

インポートのために考えられるすべてのパスを試しましたが(括弧と引用符で囲んで)、ほとんど成功しませんでした。 例外は、以下のような単純なポッドの場合です。 SVProgressHUD のような単純なポッドでは、次のような醜いひどいハックが機能します。 #import "../Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.h" .

しかし、GPUImageの場合は、その中を歩いて GPUImage.h ヘッダを見て、突然 GPUImageContext.h アプリ拡張の一部ではない通常の swift コードのブリッジング ヘッダーでこれをインポートしても、問題は発生しません。

アプリ拡張のコンパイルについて、ブリッジングヘッダーが正常に動作するのを妨げているものは何でしょうか。

注意してください。 私は、すべての可能な順列を読みました。 このチュートリアル を読んでみたのですが、すぐに適用できるものではありませんでしたので、そこで答えを見つけたと思っている人がいたら念のため。

また、このチュートリアルで説明されている問題は このSOの質問 に書かれている問題も関連しているかもしれませんが、私の問題がアプリ拡張に特有のものである場合に備えて、とりあえずこの質問をしてみました。

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

正しい方法は、Podfileを更新して、1行だけ追加することです。

link_with 'yourApp', 'yourAppExtension'

で、Podのアップデートで解決するはずです。