簡體   English   中英

iOS編譯錯誤:'CDVCommandDelegateImpl'沒有可見的@interface聲明選擇器'execute:'

[英]iOS compile error: no visible @interface for 'CDVCommandDelegateImpl' declares the selector 'execute:'

升級到最新的Cordova版本( 3.6.3 )后,運行cordova build ios命令時出現此錯誤。

錯誤:

/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];

其他信息:

  • 安裝平台:android 3.6.3, ios 3.6.3

  • 我在上一個xcode版本(6.0.1)

  • 在將Cordova升級到3.6.3之后一切都開始了(我之前運行的是3.4.1)

關於如何解決這個問題的任何想法?

在此輸入圖像描述

在Nazar所說的基礎上,創建新應用程序和比較現有platforms/ios/Classes文件夾時唯一的重要區別是從MainViewController.m刪除了execute方法。

文件差異

這為我清除了構建錯誤。

我已經解決了同樣的問題

cordova platform remove ios
cordova platform add ios

使用新的cordova版本運行cordova create新項目,然后將AppDelegateMainViewController復制到“舊”項目中的文件上。 之后錯誤消失了。

我今天遇到了同樣的問題。 我追蹤到CordovaLib / Classes / CDVCommandDelegateImpl.m文件沒有這個:

- (BOOL)execute:(CDVInvokedUrlCommand*)command
{
    return [_commandQueue execute:command];
}

因為它是最新的Cordova 3.5.0中的同一個文件。 所以我在CDVCommandDelegateImpl.h文件中添加了這個片段以及正確的聲明:

- (BOOL)execute:(CDVInvokedUrlCommand*)command;

現在我的應用程序正在運行! 不確定這是否是一個好的解決方案,但如果它有效,那就足夠了:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM