6

初めての Cordova アプリをビルドしようとしていますが、プラグインが機能しません。

私のアプリは Cordova コマンド ライン インターフェイスを使用して構築されたので、次のようにカメラ プラグインを追加しました。

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git

私の config.xml は次のようになります。

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.dev.myapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>My App</name>
    <description>
        A sample Apache Cordova application
    </description>
    <author email="dev@callback.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <access origin="*" />
    <preference name="fullscreen" value="true" />
    <preference name="webviewbounce" value="true" />
    <feature name="Camera">
        <param name="ios-package" value="CDVCamera" />
    </feature>
</widget>

実行cordova buildしてすべてうまくいきましたが、Xcode でプロジェクトをビルドすると、最初にCDVCamera.h, CDVCamera.m filesが見つからないことがわかります。コマンド ライン インターフェースは、最初に実行したときにこれらのファイルを正しく配置するはずではありませんcordova plugin addか?

また、プロジェクトでファイルを手動でコピーしても、プロジェクトは実行されますが、カメラ関数を呼び出すと、次のエラーがスローされます。

ERROR: Plugin 'Camera' not found, or is not a CDVPlugin

私はこれに慣れていないことを知っていますが、何が間違っているのかわかりませんか?

4

6 に答える 6

16

すべてのファイルが配置されているにもかかわらずこのエラーが発生する場合は、関連するソース.mファイルが実際にプロジェクトのターゲット メンバーであることを確認してください。

これを行うにはPlugin.m、Xcode でファイルを選択し、右側のインスペクター ペインで[ターゲット メンバーシップ]の下にあるプロジェクトのチェックボックスがオンになっていることを確認します。

プラグインを数回削除して追加した後、この問題が発生しました。

ヒント: 対応するファイルには、プラグインがプロジェクト メンバーでない場合 (Xcode 5.0 で見られるように) Plugin.h、クラスで宣言された型の構文色の強調表示がありません。CDVPlugin

于 2013-10-31T18:53:19.640 に答える
8

If you don't have too much tied up in your Xcode project (which I didn't), the easiest way to resolve this is to do:

cordova platform remove ios

and then...

cordova platform add ios

Whatever it is that gets muddled up is resolved by doing that. You don't need to reinstall the plugins, they get installed when you re-add the platform.

于 2015-01-21T19:16:20.920 に答える
1

それがあなたの問題だと思わなくても、プラットフォームをリセットするChris Raeのソリューションを試してみたいと思います!

cordova platform rm ios
cordova platform add ios

Chris Rae さん、解決策をありがとうございます。それは私にとってうまくいきました。WKWebview をアプリに追加する際に発生した問題の解決策とその他の解決策を収集し、ブログ投稿に掲載しました。

http://blog.tylerbuchea.com/using-wkwebview-in-ios9-to-boost-ionic-cordova-performance/

ビルド設定に関する別のソリューションを使用したと思います。だから、怒らないでください/たくさんありがとう!

于 2015-11-12T02:44:30.193 に答える
1

phonegap 3.6 でも同じ問題がありました。phonegap を更新することで、問題は解決されます。

npm update -g cordova

明らかに、phonegapを更新したいという欲求がなければなりません:)

于 2015-04-13T09:02:13.570 に答える
1

ビルドを作成する前に、必要なすべてのプラグインを追加する必要があるようです。これで、すべてのリソース ファイルが正しく配置されます。

于 2013-10-08T08:57:12.033 に答える
0

プラグインを再インストールするときにもこの問題が発生しましたが、なんとか解決しました。私のように、あまりにも多くの作業を失うため、プラットフォームを削除することができない場合は、次の解決策があります。

ステップ 1: CDVCamera.m をコンパイル ソースに追加します (ビルド フェーズの下)。

ステップ 2: あなたの問題が私のものと同じである場合、Apple Match-o-Linker エラーが発生します。フレームワーク OpenAL と ImageIO をプロジェクトに追加します。

ステップ 3: 再構築して喜ぶ :)

于 2015-02-18T14:20:47.840 に答える