我在XCode中收到此错误:
2013-08-23 14:36:18.284 Tell The DJ[14955:c07] ERROR: Plugin 'Device' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
2013-08-23 14:36:18.284 Tell The DJ[14955:c07] -[CDVCommandQueue executePending] [Line 116] FAILED pluginJSON = [
"Device1096677259",
"Device",
"getDeviceInfo",
[
]
]
2013-08-23 14:36:18.285 Tell The DJ[14955:c07] CDVPlugin class CDVConnection (pluginName: NetworkStatus) does not exist.
2013-08-23 14:36:18.285 Tell The DJ[14955:c07] ERROR: Plugin 'NetworkStatus' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
2013-08-23 14:36:18.285 Tell The DJ[14955:c07] -[CDVCommandQueue executePending] [Line 116] FAILED pluginJSON = [
"NetworkStatus1096677260",
"NetworkStatus",
"getConnectionInfo",
[
]
]
Run Code Online (Sandbox Code Playgroud)
我使用命令行界面安装了Phonegap 3.0并将我的www文件粘贴到项目文件夹中.该应用程序工作正常,但当我来到设备ID,相机,网络连接等本机功能时它失败并让我得到这个错误.但我认为我的config.xml是对的?
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.helloCordova" version="2.0.0" xmlns="http://www.w3.org/ns/widgets">
<name>Hello Cordova</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<feature name="LocalStorage">
<param name="ios-package" value="CDVLocalStorage" />
</feature>
<access origin="http://dev.tellthedj.de" />
<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="orientation" value="portrait" />
<preference name="webviewbounce" value="false" />
<preference name="prerendered-icon" value="true" />
<preference name="phonegap-version" value="3.0.0" />
<preference name="fullscreen" value="false" />
<preference name="stay-in-webview" value="false" />
<preference name="android-minSdkVersion" value="7" />
<preference name="android-installLocation" value="internalOnly" />
<preference name="target-device" value="universal" />
<preference name="autohide-splashscreen" value="true" />
<preference name="load-url-timeout" value="60000" />
<preference name="show-splashscreen-spinner" value="true" />
<preference name="show-splash-screen-spinner" value="true" />
<preference name="allow-inline-media-playback" value="false" />
<preference name="launch-mode" value="standard" />
<feature name="Media">
<param name="ios-package" value="CDVSound" />
</feature>
<feature name="Camera">
<param name="ios-package" value="CDVCamera" />
</feature>
<feature name="Console">
<param name="ios-package" value="CDVLogger" />
</feature>
<feature name="Device">
<param name="ios-package" value="CDVDevice" />
</feature>
<feature name="Notification">
<param name="ios-package" value="CDVNotification" />
</feature>
<feature name="File">
<param name="ios-package" value="CDVFile" />
</feature>
<feature name="FileTransfer">
<param name="ios-package" value="CDVFileTransfer" />
</feature>
<feature name="Geolocation">
<param name="ios-package" value="CDVLocation" />
</feature>
<feature name="Capture">
<param name="ios-package" value="CDVCapture" />
</feature>
<feature name="NetworkStatus">
<param name="ios-package" value="CDVConnection" />
</feature>
<feature name="SplashScreen">
<param name="ios-package" value="CDVSplashScreen" />
</feature>
<plugins>
<plugin name="Device" value="CDVDevice" />
</plugins>
</widget>
Run Code Online (Sandbox Code Playgroud)
小智 73
我正在使用PhoneGap 3.0/3.1并在重建之前删除了本地构建文件夹(因为我必须在辅助构建脚本中复制图标和内容).这打破了我的插件并产生了同样的错误消息.
最后我发现我必须在删除./plugins/ios.json
时删除./platforms/ios
以确保重建插件.
bju*_*nix 52
删除platforms/ios文件夹对我来说不是一个解决方案,因为xcode项目的所有手动自定义都将丢失.
但有一个简单的方法:
在XCode中,转到Build Phases - >打开Compiled Sources下拉列表.单击+并添加缺少的插件.m文件,该文件应该在您的插件目录中(但已从编译的源中丢失).
这个解决方案来自另一个堆栈溢出答案,在这里:https://stackoverflow.com/a/21148428/80254
另一种选择:
在xcode中,确保插件的源文件设置了"目标成员资格"设置:在文件浏览器中,转到插件> CDVDevice.m并检查右侧"目标成员资格"的应用名称旁边是否有勾号xcode窗口的一面.这实际上和其他解决方案一样,但更方便一点.
从这里:https://stackoverflow.com/a/20576744/80254
Kob*_*orn 17
我遇到了同样的问题.我遵循了Jeffrey Van Alstine给出的解决方案.这是我用于构建和测试使用Phonegap 3.0/3.1开发的iOS应用程序的脚本.
#!/bin/bash
echo "Killing xcode..."
kill $(ps aux | grep 'Xcode' | awk '{print $2}')
rm -r platforms/ios
rm plugins/ios.json
phonegap build ios
open platforms/ios/*.xcodeproj
Run Code Online (Sandbox Code Playgroud)
例如,将其保存为bash文件ios.sh
到您的工作目录(包含www
文件夹的目录)并运行./ios.sh
归档时间: |
|
查看次数: |
34027 次 |
最近记录: |