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
Cordova 5 未在 XCode 中处理新的 ios 应用程序目标