在 Xcode 8.2.1 中找不到“Cordova/CDV.h”文件

Posted

技术标签:

【中文标题】在 Xcode 8.2.1 中找不到“Cordova/CDV.h”文件【英文标题】:‘Cordova/CDV.h’ file not found in Xcode 8.2.1 【发布时间】:2017-01-18 13:42:35 【问题描述】:

我有一个混合 Cordova 项目,它运行良好的 Xcode 5.1.1,但是当我尝试使用“通用 ios 设备”在 Xcode 8.2.1 中存档项目时,我收到错误“Cordova/CDV.h” ' 未找到。

我阅读了很多关于这个问题的文章,但没有一篇能解决我的问题。大多数答案都告诉遵循以下步骤:

"将此行添加到您的构建设置 -> 标题搜索路径: $(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include "

我已经这样做了,但问题没有解决,出现另一个错误'ld: library not found for -lcrt1.3.1.o clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)'

另外,我在目标构建设置中将位码 YES 更改为 NO,但没有取得丰硕的结果。

Project cordova 版本 3.4.0,其中在机器 6.4.0 中安装了 cordova 版本

有人遇到过这种问题吗? 请问,有人可以帮忙吗?我已经为此工作了好几天。

【问题讨论】:

Cordova/CDV.h 存在吗? 这里也一样。找到解决方案了吗? 【参考方案1】:

我按照下面的步骤搞定了

    在您的 Xcode 项目设置中选择 TARGETS 在 TARGETS 中选择构建设置选项卡 在“构建设置”选项卡下的子选项中,请务必选择“全部” 向下滚动到“搜索路径”部分 定位标题搜索路径 将以下配置添加到 Release 选项(作为单独的行中的新值):$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include 清理项目:Command + Shift + K 重启 Xcode

【讨论】:

【参考方案2】:

我想报告 Vinay 提供的回复对我有用。我必须确保我在共享扩展目标中,并且完全按照上面在“发布”选项中建议的方式将其添加到路径中,甚至不需要进行清理以使其重新生成 PCH。

但是,在进一步查看设置后,我对此感到困惑,我意识到这条路径已经在设置中。我再次编辑它,删除了多余的路径,再次点击“运行”,它加载到我的 iPhone 上并运行良好。

所以,我相信只是在搜索路径中设置它会强制在共享扩展 PCH 上重新编译,并且一切都恢复正常了。

我希望这对其他人有所帮助。

【讨论】:

【参考方案3】:

我知道回答这个问题为时已晚,但仍有许多开发人员面临上述问题,并且根据最新的 Cordova 和 ionic 版本,以下步骤将在上述错误中起作用。

根据 Cordova 的新更新,由于某些权限问题或直接运行或构建 iOS 平台,它无法在您的 iOS 项目平台中添加以下文件或文件夹:

CordovaLib

所以上面的文件夹不会以某种方式添加到您的项目中,这就是它没有构建您的 iOS 项目的原因。

要解决此问题,您需要从您的 ionic 项目中删除 iOS 平台并再次添加它。

移除 iOS 平台: sudo ionic cordova platform remove ios

再次添加:sudo ionic cordova platform add ios

通过执行此操作,从服务器下载 CordovaLib 文件夹并将其添加到您的 iOS 项目中,然后用户可以构建他们的项目而不会出现任何错误。

最近我遇到了这个问题,我通过上面的步骤解决了。

希望这对其他人有所帮助。

编码愉快!

【讨论】:

【参考方案4】:

似乎在cordova platform add ios期间“Cordova”文件夹没有被复制到项目中

因此,您必须手动将“Cordova”源文件夹复制到您的项目中。但是你必须先从 github 下载 ios 源码包,它位于:

https://github.com/apache/cordova-ios

下载“cordova-ios-master.zip”包并解压后,将名为“CordovaLib”的文件夹复制到Xcode项目文件旁边的项目中:

PROJECT_FOLDER/platforms/ios/PROJECT_NAME
PROJECT_FOLDER/platforms/ios/PROJECT_NAME.xcodeproj
PROJECT_FOLDER/platforms/ios/PROJECT_NAME.xcworkspace
PROJECT_FOLDER/platforms/ios/cordova
PROJECT_FOLDER/platforms/ios/CordovaLib   <------- here
PROJECT_FOLDER/platforms/ios/ios.json
PROJECT_FOLDER/platforms/ios/platform_www
PROJECT_FOLDER/platforms/ios/pods-debug.xcconfig
PROJECT_FOLDER/platforms/ios/pods-release.xcconfig
PROJECT_FOLDER/platforms/ios/www

【讨论】:

以上是关于在 Xcode 8.2.1 中找不到“Cordova/CDV.h”文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Xcode 项目中找不到 Firebase 文件

在 Xcode 中找不到 Flutter 模块

sh:gnuplot:在 Gnuplot + Xcode 中找不到命令

ld:在 Xcode 中找不到 -lFirebaseCore 的库反应原生

在带有框架的 XCode 5 中找不到文件

使用 xcode 5 在可可中找不到 AVKit