Cordova iOS - 未找到新的 Xcode 配置/CDVViewController.h

Posted

技术标签:

【中文标题】Cordova iOS - 未找到新的 Xcode 配置/CDVViewController.h【英文标题】:Cordova iOS - New Xcode Configuration / CDVViewController.h Not Found 【发布时间】:2016-02-17 21:54:18 【问题描述】:

在为 Cordova 项目创建新配置时,我收到“Cordova/CDVViewController.h”文件未找到构建错误。我确实尝试按照许多论坛的建议将“$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include”添加到项目标题搜索路径中,但没有运气。

我正在使用:

科尔多瓦 3.4.1 Xcode 7.2.1

重现步骤:

    创建一个新的 Cordova 项目 添加ios平台 打开 Xcode 项目 运行项目只是为了验证它的构建和工作 转到项目构建设置并通过复制“Debug”创建新配置,我将我的称为“DEV” 编辑默认方案以使用运行、测试、配置文件、调试、发布的新配置 再次运行项目 咔嚓! - 找不到“Cordorva/CDVViewController.h”文件

提前感谢您的帮助。

【问题讨论】:

好像和配置名有关。我删除了原来的“Debug”配置,并将“DEV”配置重命名为“Debug”,它可以工作了。所以现在我只保留名为“Debug”和“Release”的配置。 【参考方案1】:

我有几个星期遇到同样的问题。现在我找到了答案here

如果您想通过复制例如“调试”来添加新配置以更改某些构建设置,则必须将相同的配置添加到 CordovaLib 子项目。您必须确保 CordovaLib 子项目与您的主项目具有相同的配置集。否则,Cordova 项目的构建文件夹与主项目的构建文件夹不同。因此找不到像 CDVViewController.h 这样的文件。

    选择 CordovaLib 子项目 点击项目图标(目标上方) 选择信息标签 扩展配置

添加与主项目相同的配置集:

    单击 + 按钮 根据需要选择重复的“发布”配置或“调试”配置 为配置提供正确的名称。从主项目设置中复制粘贴。

将“$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include”添加到项目标头搜索路径只能解决归档发布版本的问题。

【讨论】:

您的建议非常有意义并且效果很好。对于遇到这种情况的其他人,请确保您也清理项目,否则您将继续遇到问题。 谢谢!答案的主要思想是“在 CordovaLib 项目中创建与主项目中相同的配置类型。”【参考方案2】:

在我的情况下,添加 ios 平台时出现了问题(我缺少图像文件)。我删除了平台:

ionic platform rm ios

然后将其添加回来:

ionic platform add ios

如果这不起作用,请确保您已安装最新的 Xcode(使用应用商店更新)、Cordova 和 Ionic。

npm uninstall -g cordova ionic
npm install -g cordova@latest ionic@latest

如您所见,我将 Ionic 与 Cordova 一起使用,如果您不使用,请将 'ionic' 替换为 'cordova' 或在上面的命令中忽略它。

【讨论】:

【参考方案3】:

对我来说,$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include 已经在 Header Search Paths 中(使用 XCode 8)。然后,我在 User Header Search Paths 中添加了 CordovaLib 文件夹的特定路径,并启用了 recursive 选项(对于像我这样没有经验的 XCode 用户,在树视图(第一个节点)中选择项目请参阅“构建设置”!!)

但要注意空格!在丢失了很多之后,从查找器窗口中拖动文件夹会更安全,它填充为$(SRCROOT)/..(续),这不是预期的,但确实有效..

同样在XCode/Preferences/Locations/Custom Paths 中,我添加了一个CORDOVALIB 名称,该名称与之前的文件夹相同,方式相同(这次使用的是完整路径,没有$(SRCROOT) 的东西) .

我花了好几个小时才弄清楚...

【讨论】:

以上是关于Cordova iOS - 未找到新的 Xcode 配置/CDVViewController.h的主要内容,如果未能解决你的问题,请参考以下文章

使用 WatchKit 扩展扩展 iOS Phonegap 构建 - 未找到 Cordova/CDV.h

新的 ios7 更新和 xcode 5 未找到设备

Cordova 5 未在 XCode 中处理新的 ios 应用程序目标

iOS8 Xcode 6 Cordova 状态栏未正确隐藏

如何修复错误 Xcode。词法预处理器问题 Cordova/CDVJpegHeaderWriter.h' 文件未找到

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