我将Cordova添加为我的iOS项目的组件.添加自定义插件会导致错误,尽管该插件适用于仅限Cordova的项目:
'CDVPlugin.h' file not found
Run Code Online (Sandbox Code Playgroud)
问题部分如下:
#import <Foundation/Foundation.h>
#ifdef CORDOVA_FRAMEWORK
#import <Cordova/CDVPlugin.h>
#else
#import "CDVPlugin.h"
#endif
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
有没有办法注册一个应用程序菜单中出现的phonegap应用程序?

我正在为我的移动项目使用phonegap.我的问题是当我尝试使用cordova CLI搜索phonegap插件时出现此错误的原因?我在终端运行此命令来搜索phonegap插件
cordova plugin search bar code
Run Code Online (Sandbox Code Playgroud)
完整的错误消息
Last login: Wed Jan 22 15:04:09 on ttys000
Mohammads-MacBook-Pro:~ mohammadnurdin$ cd /Applications/MAMP/htdocs/rmbp/apps/rmbp/iphone/native
Mohammads-MacBook-Pro:native mohammadnurdin$ cordova plugin search bar code
/usr/local/lib/node_modules/cordova/src/util.js:57
throw new Error('Current working directory is not a Cordova-based
^
Error: Current working directory is not a Cordova-based project.
at Object.module.exports.cdProjectRoot (/usr/local/lib/node_modules/cordova/src/util.js:57:19)
at CLI.plugin (/usr/local/lib/node_modules/cordova/src/plugin.js:28:36)
at new CLI (/usr/local/lib/node_modules/cordova/src/cli.js:109:30)
at Object.<anonymous> (/usr/local/lib/node_modules/cordova/bin/cordova:41:16)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
Mohammads-MacBook-Pro:native mohammadnurdin$
Run Code Online (Sandbox Code Playgroud) 我正在使用离子框架.我正在尝试设置一种方法来接收来自其他应用的网址.比如,您在浏览器中,单击共享,并将链接发送到另一个应用程序(我的应用程序).我找到了这个cordova插件,并将其集成到我的应用程序中.但这是Android的普及.我在IOS中需要相同的功能.
我知道哪个插件需要用于ios
我为Android采取的步骤
1)cordova插件添加git://github.com/Initsogar/cordova-webintent.git 2)检查config.xml文件并找到webintent的代码
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
和app.js代码
if (window.plugins && window.plugins.webintent) {
window.plugins.webintent.getUri(function(url) {
alert("getUri url:"+url);
});
}
Run Code Online (Sandbox Code Playgroud)
在ios中对功能相同的任何建议?
谢谢
我做了一个cordova/phonegap升级,现在我不能再从git urls安装插件了.有人经历过这样的问题,已经解决了这个问题
$ cordova plugin add https://github.com/dawsonloudon/VideoPlayer.git
Fetching plugin "https://github.com/dawsonloudon/VideoPlayer.git" via git clone
Repository "https://github.com/dawsonloudon/VideoPlayer.git" checked out to git ref "master".
shell.js: internal error
Error: EXDEV, cross-device link not permitted '/var/folders/xl/bkl76rm570gfsmjspfjgh45h0000gn/T/git/1434106220728/LICENSE'
at Object.fs.renameSync (fs.js:554:18)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/src/mv.js:77:8
at Array.forEach (native)
at Object._mv (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/src/mv.js:53:11)
at Object.mv (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/shelljs/src/common.js:186:23)
at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/util/plugins.js:53:19
at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:749:13)
at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:557:44
Run Code Online (Sandbox Code Playgroud)
版本信息:
$ phonegap -v
5.0.0-0.28.1
$ cordova -v
5.1.1
Run Code Online (Sandbox Code Playgroud)
OSX 10.10.3
编辑:如果我将我的存储库移动到我的主目录(〜/)似乎它的工作原理.
我正在使用Phonegap开发一个Android应用程序.我需要以软件方式显示软键盘.我正在使用此处的SoftKeyboard插件.任何人都可以告诉我如何正确包含此插件并使其工作?我已经尝试了在Phonegap Wiki上找到的教程,但该插件无效.
[更新]我已将插件添加到路径中
com/zenexity/SoftKeyBoardPlugin/SoftKeyBoard.java
更新plugins.xml并包含在内
<plugin name="SoftKeyBoard" value="com.zenexity.SoftKeyBoardPlugin.SoftKeyBoard"/>
Run Code Online (Sandbox Code Playgroud)
然后在www添加的文件夹中softkeyboard.js,以及下面的内容index.html
plugins.SoftKeyBoard.show(function () {
// success
},function () {
// fail
});
Run Code Online (Sandbox Code Playgroud)
但没有任何反应,键盘没有显示..
我一直试图解决从Phonegap 2更新到Phonegap 3.3的许多问题,但我似乎无法解决这个问题.
我从一些用户那里读到,未捕获的模块异常会导致导入的插件停止运行.我有一些奇怪的错误与本地通知插件,所以我想解决这个问题,看看它是否有帮助.
这是Eclipse中logcat中出现的错误:
[INFO:CONSOLE(79)] "Uncaught module cordova/plugin_list already defined", source: file:///android_asset/www/cordova.js (79)
Run Code Online (Sandbox Code Playgroud)
我知道这是一个奇怪的问题,因为Phonegap 3的性质(插件已被重做).我认为问题在于导入cordova_plugins.js脚本,因为该脚本的顶行如下:
cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [
{
"file": "plugins/org.apache.cordova.file/www/DirectoryEntry.js",
"id": "org.apache.cordova.file.DirectoryEntry",
"clobbers": [
"window.DirectoryEntry"
]
}, ...
Run Code Online (Sandbox Code Playgroud)
这是唯一可以找到错误中引用的cordova/plugin_list存在的地方.
但是,我不确定解决此问题的正确方法.我没有使用plugman来导入我的插件,而是使用Phonegap 3.3 API中概述的CLI命令
我一直在开发一个PhoneGap插件来启用WebGL,用于将HTML5游戏发布到移动设备.它叫做WebGLGap.但是,PhoneGap调用插件代码的方式(通过exec)通常涉及将所有参数字符串化为JSON,然后再次在另一端解析它.根据这个问题,即使在PhoneGap 2.2中也没有改变,PhoneGap 2.2被宣传为拥有更快的桥梁.对于像WebGL这样的东西,这绝对是站不住脚的,即使对于简单的演示也会导致性能下降(<10 FPS).这是因为在许多情况下,特别是2D游戏,每个帧必须传输一大块JSON数据,表示要运行的所有WebGL命令.这包括所有顶点数据 - 想象每一帧的巨大字符串"0.959455,0.959595,0.588575,0.585858 ......"等.
显然,字符串化和解析是一个不必要且低效的步骤,但我很难找到一种方法将JSON数据从JS传递给本机,这避免了这一点.理想情况下,这应该适用于Android和iOS,但我很高兴现在坚持使用仅限Android的解决方案.有没有人对最有效的方法有任何想法?
所以,每个人都知道我们使一个类扩展CordovaPlugin并覆盖它 execute(),然后在JS和本机Java(用于Android)之间创建一个桥梁.我们进一步使用PluginResult将结果返回给JS.
因此,当JS向Java插件发出请求时,所有这些都会发生.我的问题是,如何异步地将结果发送回JS(以及HTML)?
我不知道异步这个词是不是就在这里.问题是我想把一些东西送回JS(比如,当wifi变为启用/禁用时).
我已经研究过这个,但没有任何适合我的情况.
我试过的是 -
WiFi监听WifiManager事件Toast.
WiFi时间CallbackContext,并使用callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, "Wifi
Connected"))Toast和发送结果 与不同的消息断开连接.MyPlugin.java
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.PluginResult;
import org.json.JSONArray;
...
public class MyPlugin extends CordovaPlugin {
private WifiReceiver wifiBroadcastReceiver = null;
private CallbackContext callbackContext = null;
...
public MyPlugin() {
wifiBroadcastReceiver = new WifiReceiver();
...
}
...
public boolean execute(String action, …Run Code Online (Sandbox Code Playgroud) 我已经构建了phonegap应用程序,它在android和windows上运行良好.但对于iOS我面临的问题是,状态栏内容和页面内容混淆,因此我无法点击标题中提供的后退按钮.任何人都可以帮我解决这个问题吗?
这是我的config.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns = "http://www.w3.org/ns/widgets"
xmlns:gap = "http://phonegap.com/ns/1.0"
id = "io.example.com"
version = "1.0.2">
<name>MyAPP</name>
<description>
</description>
<author email="rakesh@gmail.com">
Rakesh
</author>
<access origin="*"/>
<content src="index.html" />
<preference name="target-device" value="universal" /> <!-- all: possible values handset, tablet, or universal -->
<!-- <preference name="fullscreen" value="true" /> --> <!-- all: hides the status bar at the top of the screen -->
<preference name="webviewbounce" value="false" /> <!-- ios: control whether the screen 'bounces' when scrolled beyond the top -->
<preference …Run Code Online (Sandbox Code Playgroud) cordova ×10
phonegap-plugins ×10
android ×4
ios ×3
javascript ×2
cordova-3 ×1
ionic ×1
java ×1