在 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”文件的主要内容,如果未能解决你的问题,请参考以下文章
sh:gnuplot:在 Gnuplot + Xcode 中找不到命令