iOS编译错误:'CDVCommandDelegateImpl'声明选择器'execute:'不可见@interface'
在升级到最新的Cordova版本(3.6.3)时,运行cordova build ios
命令时出现此错误。iOS编译错误:'CDVCommandDelegateImpl'声明选择器'execute:'不可见@interface'
错误:
/Volumes/local.uhmuhm.net/projectxxx/htdocs/phonegap/src/Projectxxx/platforms/ios/Projectxxx/Classes/MainViewController.m:154:19: error: no visible @interface for 'CDVCommandDelegateImpl' declares the selector 'execute:' return [super execute:command];
其他信息:
安装平台:安卓3.6.3,IOS 3.6.3
我在最后的xcode版本(6.0.1)
一切升级科尔多瓦3.6.3之后开始(我是在此之前,运行3.4.1)
如何解决这个任何想法?
固定同样的问题建立在什么纳扎尔说,唯一的创建新的应用程序时,和比较现有platforms/ios/Classes
文件夹从MainViewController.m
取出execute
方法意义不同。
这清除了生成错误对我来说。
今天我有同样的问题。我找到了那CordovaLib /班/ CDVCommandDelegateImpl.m文件不具有这样的:
- (BOOL)execute:(CDVInvokedUrlCommand*)command
{
return [_commandQueue execute:command];
}
因为它是在同一文件中的最新科尔多瓦3.5.0。 所以我加入这个片段,并适当申报CDVCommandDelegateImpl.h文件:
- (BOOL)execute:(CDVInvokedUrlCommand*)command;
现在我的应用程序运行!不知道这是很好的解决方案,但如果它的工作原理则是不够好:)
运行cordova create
新版本科尔多瓦创建新的项目,然后在你的“旧”项目文件复制AppDelegate
和MainViewController
。之后,错误消失了。
谢谢!你救了我的一天 – BrendanMullins 2014-10-24 08:24:49
我已经与
cordova platform remove ios
cordova platform add ios
太棒了!要试一试。 – 2014-09-23 08:18:08
这将删除您在该目录中拥有的所有源文件,只是知道 – user2217751 2014-09-23 15:09:16
您应该将所有源代码放入www并合并根目录中不会被删除的文件夹。 – 2014-09-24 10:19:53
降为科尔多瓦3.5,一切都恢复正常。 – 2014-09-22 15:03:07