17

最近、Cordova 2.3.0 から 2.9.0 にアップグレードしました。すべてのアップグレード手順に従った後、アプリをシミュレーターで起動することができました。ただし、Xcode では次のエラーが表示されます。

ERROR: Plugin 'Device' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["Device1776032119","Device","getDeviceInfo",[]]
ERROR: Plugin 'NetworkStatus' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["NetworkStatus1776032120","NetworkStatus","getConnectionInfo",[]]
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","deviceready has not fired after 5 seconds."]]
ERROR: Plugin 'Logger' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","Channel not fired: onCordovaConnectionReady"]]
ERROR: Plugin 'Logger' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","Channel not fired: onCordovaInfoReady"]]

これは私の config.xml ファイルです:

<?xml version="1.0" encoding="UTF-8"?>
<widget>
    <feature name="Geolocation">
        <param name="ios-package" value="CDVLocation" />
    </feature>
    <feature name="Device">
        <param name="ios-package" value="CDVDevice" />
    </feature>
    <feature name="Accelerometer">
        <param name="ios-package" value="CDVAccelerometer" />
    </feature>
    <feature name="Compass">
        <param name="ios-package" value="CDVLocation" />
    </feature>
    <feature name="Media">
        <param name="ios-package" value="CDVSound" />
    </feature>
    <feature name="Camera">
        <param name="ios-package" value="CDVCamera" />
    </feature>
    <feature name="Contacts">
        <param name="ios-package" value="CDVContacts" />
    </feature>
    <feature name="File">
        <param name="ios-package" value="CDVFile" />
    </feature>
    <feature name="NetworkStatus">
        <param name="ios-package" value="CDVConnection" />
    </feature>
    <feature name="Notification">
        <param name="ios-package" value="CDVNotification" />
    </feature>
    <feature name="FileTransfer">
        <param name="ios-package" value="CDVFileTransfer" />
    </feature>
    <feature name="Capture">
        <param name="ios-package" value="CDVCapture" />
    </feature>
    <feature name="Battery">
        <param name="ios-package" value="CDVBattery" />
    </feature>
    <feature name="SplashScreen">
        <param name="ios-package" value="CDVSplashScreen" />
    </feature>
    <feature name="Echo">
        <param name="ios-package" value="CDVEcho" />
    </feature>
    <feature name="Globalization">
        <param name="ios-package" value="CDVGlobalization" />
    </feature>
    <feature name="InAppBrowser">
        <param name="ios-package" value="CDVInAppBrowser" />
    </feature>
    <feature name="Logger">
        <param name="ios-package" value="CDVLogger" />
    </feature>
    <feature name="LocalStorage">
        <param name="ios-package" value="CDVLocalStorage" />
    </feature>
    <plugins>
    </plugins>
    <preference name="KeyboardDisplayRequiresUserAction" value="true" />
    <preference name="SuppressesIncrementalRendering" value="false" />
    <preference name="UIWebViewBounce" value="true" />
    <preference name="TopActivityIndicator" value="gray" />
    <preference name="EnableLocation" value="false" />
    <preference name="EnableViewportScale" value="false" />
    <preference name="AutoHideSplashScreen" value="true" />
    <preference name="ShowSplashScreenSpinner" value="true" />
    <preference name="MediaPlaybackRequiresUserAction" value="false" />
    <preference name="AllowInlineMediaPlayback" value="false" />
    <preference name="OpenAllWhitelistURLsInWebView" value="false" />
    <preference name="BackupWebStorage" value="cloud" />
    <preference name="fullscreen" value="true" />
    <preference name="webviewbounce" value="true" />
    <access origin="*.googleapis.com"/>
    <access origin="*.gstatic.com"/>
    <access origin="*.s3.amazonaws.com"/>
</widget>
4

13 に答える 13

26

私のために働いた答えと同様の質問:

./plugins/ios.json を削除して、プラグインが再構築されていることを確認します。

Phonegap 3.0 IOS プラグインが見つかりません

于 2014-03-13T00:12:28.897 に答える
17

同じ問題がありました。ノードのパッケージ マネージャーを使用して、cordova 3.0 コマンド ライン ツールをダウンロードしました。次に、ターミナルのツールを使用してプロジェクトを作成し、それにプラットフォームを追加して、このようにビルドしました。

cordova create myApp com.project.RobertW myApp
cd myApp
cordova platform add ios
cordova platform add android
cordova build

この後、シミュレーターで実行しようとしたときに、Xcode で同じエラーが発生しました。デフォルトでは、PhoneGap にはプロジェクトにプラグインが含まれていないようです。そのため、構成ファイルにプラグインが含まれていても、おそらくプラグイン フォルダーには含まれません。手動で追加するか、コマンド ライン ツールを使用して追加する必要があります。コマンドラインツールの方が簡単だと思ったので使ってみました。

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git
cordova build

これを行った後、シミュレーターで myApp を再度実行したところ、すべて正常に機能しました。コマンド ライン ツールに関する適切な手順がいくつかあります。

http://docs.phonegap.com/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

PhoneGap 3.0 が Logger、Device、および Network Status を必要とする場合、これらのプラグインは自動的に含まれると思いますが、私の場合はそうではありませんでした。お役に立てれば。

編集: Xcode の iOS バージョンの config.xml では、Logger プラグインを正しく動作させるために、この変更も行う必要があります。以下がデフォルトです。

<feature name="Console">
    <param name="ios-package" value="CDVLogger" />
</feature>

上記をこれに変更

<feature name="Logger">
    <param name="ios-package" value="CDVLogger" />
</feature>

これで、すべてのコンソール機能がエラーをスローすることなく機能するはずです。

于 2013-08-02T02:00:11.780 に答える
6

Phonegap 3.0.0 を使用しているデバイス情報プラグインで同じ問題が発生していました。これを解決するには、プラグインをアンインストールして再インストールし、プロジェクトを再構築するだけで済みました。

phonegap local plugin remove org.apache.cordova.device
phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
phonegap local build ios
于 2013-10-01T10:31:07.803 に答える
4

<plugin>旧形式に戻しました。廃止されましたが、それが私にとって唯一の方法です。

<plugins>
    <plugin name="Device" value="CDVDevice" />
    <plugin name="Logger" value="CDVLogger" />
    ...
</plugins>
于 2013-06-30T00:51:09.500 に答える
2

Xcode 6を使用したphonegap 3.5で私に起こりました

手順:

phonegap plugin remove org.apache.cordova.camera 
phongap plugin add org.apache.cordova.camera 
phongap platform remove ios
phongap build ios

おそらく最善の解決策ではありません-xcodeの設定が失われるためです-しかし、問題は修正されました。

于 2015-06-15T01:32:17.600 に答える
1

私もこの問題を抱えていました。自分でディレクトリ (platforms/ios/appname/Plugins/org.apache.cordova.console) を作成し、不足しているファイル (CDVLLogger.h および CDVLLogger.m) をこのディレクトリにコピーしました。その後、コンパイルは成功しました。

私はコルドババージョン3.5を使用しています

于 2014-09-29T20:32:13.560 に答える
0

Ionic を使用してこのエラーが発生した場合は、cordova run ios --device代わりに実行してみるとionic run ios --device問題が解決しました。プロジェクトはIonic 1プロジェクトだったので、Ionic cli v2は物事をめちゃくちゃにしていたと思います。Ionic cli を更新する前は問題はありませんでした。

于 2016-12-29T22:52:02.167 に答える
0

プロジェクトを Xcode で開き、プロジェクト ナビゲーターのサイドバーを確認しました。

仮想「Plugins」フォルダーの下に、一部のプラグインのファイルがこのフォルダーにないことに気付きました。

いくつかのプラグイン ファイルを含むサイドバーの Plugins フォルダ

解決策は、プラグインを右クリックし、[ファイルを "ProjectName" に追加... ]を選択することでした。

次に、プラグインのフォルダーに移動し、すべての.swiftand.mおよび.hファイルをそこに追加しました。

これを行うと、ファイルに新しい参照が作成されたplatforms/ios/[ProjectName].xcodeproj/project.pbxprojので、それらの変更を保持しました。

于 2019-04-16T02:20:35.150 に答える