2016-12-05 7 views
2

Firebaseポッドに応じて、非常に簡単な3ポッドライブラリがあります。これはpod lib createで作成されており、ライブラリ内の唯一のコード行はimport Firebaseです。それでも、Firebaseは検出されないようです。Firebaseポッドに応じてカスタムポッドライブラリを作成する方法は?

-> FoobarLib (0.1.0) 
    - ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information. 
    - ERROR | [iOS] xcodebuild: ~/FoobarLib/Classes/Foobar.swift:1:8: error: no such module 'Firebase' 

私の.podspecファイルが正しく設定されていないと考えられます。私はs.dependency Firebaseとシンプルなポッド依存性を試してみました。私はembed the Firebase frameworksを自分のライブラリに入れてみました。 FRAMEWORK_SEARCH_PATHSUSER_HEADER_SEARCH_PATHSSWIFT_INCLUDE_PATHSと遊んだことがありますが、何も問題はありません。

サンプルライブラリis hosted on githubとフルエラーログはon Travisです。自由にクローンして、pod lib lintpod install --project-directory=Exampleをテストしてください。

私はこのココアポッドの男と火災基地の人を含むこの関連cocoapods bug reportを見ましたが、実際の例はありません。

  • pod install --project-directory=Exampleは成功し、有効なXcodeプロジェクトを生成します。私は私の.podspecファイルに入れておくべき

    すなわち、私はそれを開くことができ、それ以上の構成なしにコンパイルすることができる。それは現在、静的ライブラリとして販売されますので、

  • pod lib lint成功するには、必要に応じて
+0

xcodeでプロジェクトを作成しましたか?もしそうなら、どんなプロジェクトを選んだのですか? –

+0

libはXCodeではなく 'pod lib create'で作成されています – azmeuk

答えて

4

あなたはpod lib lintが通過するのを取得するために管理している場合でも、あなたは依存関係の依存関係としてFirebaseを統合問題に実行されます。 FirebaseUIは、CocoaPodをソースからビルドするのではなく、バイナリを配布することで動作しますが、独自の警告なしには使用できません(FirebaseUIを使用するユーザーは、Firebaseに依存する別のライブラリを使用できません。リンクした問題でこれについて詳しく説明します。

FirebaseをCocoaPodsでラップするライブラリを本当に配布したいのであれば、同じ方法をとるべきですが、とにかく出荷されているにもかかわらず、pod lib lintはFirebaseUIで失敗します。

CocoaPodsは(2017年10月現在)、クローズドソースを含む他の静的フレームワークの上に静的フレームワークを構築するためのルールを追加します。これにより、他のクローズドstatic objcライブラリの上にobjcライブラリを作成するのがはるかに簡単になりますが、Swift静的ライブラリサポートはまだ動作しています。

+0

私はこれらの警告でうまくいきます。私はfirebaseバイナリを配布しようとしました(彼らは私のリポジトリにホストされています)。しかし、実際に働いたものを作り出すことはできませんでした。 – azmeuk

+1

@azmeuk私は同じ問題を抱えています。解決策はありましたか? –

関連する問題