web-dev-qa-db-ja.com

CocoaPodsの依存関係をCordovaプラグインにバンドルする方法は?

Cordovaプラグインを開発しています。iOSプラットフォーム用に、既存の(cordova固有ではない)Cocoapodをいくつか組み込みたいです。これを機能させる方法に関する情報や例を見つけることができなかったので、これがかなり一般的なユースケースであると思っていました。

私は、CordovaをCocoapodとして使用しようとしているわけではないことに注意してください。適切な量の情報がそこにありますが、開発しているCordovaプラグインのiOSプラットフォーム内からCocoapodを使用しています。

コルドバのplugin.xmlは通常、すべてのものを正しくバンドルするためにすべてのプロジェクトの依存関係をリストする必要があります。 CocoaPodsを内部で使用するCordovaまたはPhoneGapプラグインを知っている人はいますか?

30
fisch2

私はこれに数時間を無駄にしただけなので、興味がある人のためにここにこれを入れようと思いました。 Cordova-CLIバージョン6.4.0/Cordova iOSバージョン4.3.0以降のCordovaは、CocoaPodsとの直接統合をサポートしています。

詳細情報はこちら: https://cordova.Apache.org/docs/en/latest/plugin_ref/spec.html

次のようなものを追加するだけです:

<platform name="ios">
    ...Other iOS platform specific declerations...
    <framework src="OpenSSL" type="podspec" spec="~> 1.0.0" />
</platform>

プラグインのplugin.xmlファイルに。 Cordovaは自動的に.xcworkspaceを生成します。 xcodeprojファイルの代わりにそれを使用してください。

32
Jarra McIntyre

この問題に対する適切な解決策が見つからなかったため、プラグインを作成しました https://github.com/blakgeek/cordova-plugin-cocoapod-support 。 plugin.xmlでCocoapodの依存関係を定義するためのサポートを追加します。これは別のプラグインの依存関係として含める必要があり、そのプラグインはplugin.xmlのiosプラットフォームセクションにエントリを追加できます。 git repo、設定、サブスペックなど、すべてのポッド依存関係仕様をサポートしています。これが誰かの助けになることを願っています。

6
blakgeek

私もこれについて多くの情報を見つけることができなかったので、助けるためにCocoapodsプラグインを書きました: https://github.com/xdissent/cocoapods-cordovaplugin.xmlを自動的に管理し、cordova以外の依存関係のみでリンクする汎用静的ライブラリを構築します。現在WIPですが、いくつかのプラグインで正常に使用しています。

5
xdissent

同様の状況に遭遇しています。

2つの回避策があります。

  1. Cordovaをプラグイン開発環境に統合します。つまり、純粋なXcodeプロジェクトをCordovaベースのプロジェクトに変換します。 iOS用のCordovaプラグインを使用する場合は、Cocoapodsからも利用できます。

  2. Cordovaによって生成されたXcodeプロジェクトにCocoapodsを紹介します。この方法では、生成されたコードをソース管理に配置し、他のプラグインを追加するときに注意する必要があります。変更したファイルはCordovaで変更できるためです。

どちらがより良い選択なのか、私にはまだわかりません。

次のポッド情報は、回避策#1に役立ちます。

pod search cordova

-> Cordova(4.0.1)Cordova iOSポッド 'Cordova'、 '〜> 4.0.1'-ホームページ: https://github.com/Apache/cordova-ios -ソース:- https://github.com/Apache/cordova-ios.git -バージョン:4.0.1、3.9.1、3.8.0、3.7.0、3.6.0、3.5.0、3.4.1 、3.4.0、3.3.0、3.2.0、3.1.0、3.0.0、2.9.0、2.8.0、2.7.0、2.6.0、2.5.0、2.4.0、2.3.0、2.2 .0、2.1.0、2.0.0、1.9.0、1.8.1、1.8.0、1.7.0、1.6.1、1.6.0、1.5.0、1.4.1、1.4.0、1.3.0 、1.2.0、1.1.0、1.0.0 [マスターリポジトリ]

-> Cordova-Lib(3.9.1)は、autogithubを使用して、HTML、CSS、JavaScriptを使用してネイティブモバイルアプリケーションを構築するためのプラットフォームです。 pod 'Cordova-Lib'、 '〜> 3.9.1'-ホームページ: https://git.oschina.net/liubiqu/cordova-ios -ソース: https:// git.oschina.net/liubiqu/cordova-ios.git -バージョン:3.9.1、3.9.0、3.8.0 [マスターリポジトリ]

0
Intel