Xcode 7.2:在“存档”中:遇到问题:“Cordova/CDVViewController.h' 文件未找到”。虽然在构建应用程序时没有这样的问题
Xcode 7.2: In “Archive”: Getting the issue: “Cordova/CDVViewController.h’ file not found ”. While there is no such issues in building the app
在iOS,我更新了7.2。我可以毫无问题地将我现有的项目构建到我的设备上。然而,当需要存档项目以准备提交到应用程序商店时,我遇到了构建错误 - Cordova/CDVViewController.h 文件未找到。我几乎遍历了所有未发现 Stack Overflow 的 fix/workaround,并且 Google 和 none 对我有用。如果我回到 Xcode 6.4,我可以构建和存档没问题,但我现在无法构建到我的设备,因为它是 运行ning iOS 9.1.
我猜这是新 Xcode 版本设置的某个地方的配置问题。还有其他人 运行 参与其中吗?同样,通常的嫌疑人(首选项 > 位置 > 派生数据 > 高级 > 唯一),Header 搜索路径等似乎都很好。
谢谢,
阿迪舍舒
由于搜索 path/include.
,此问题似乎出现在 Xcode 7.2 中
按以下方式解决:
Select 你的 [projectName]
在 Xcode TARGETS.
转到构建设置选项卡。
确保过滤器设置为 "All" 而不是 "Basic"。
搜索"Header Search Paths"
双击并将此路径添加到 "Debug" 和 "Release":$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
现在清理项目并重新启动Xcode.
能够制作 Build 和 Archive.
就这些了。
同时在构建设置中设置 ENABLE BITCODE = NO
我也遇到了这个问题,但对我来说添加 Header 搜索路径还不够。我已将 CDVViewController.h 添加到 "public" 部分到子项目 CordovaLib.xcodeproj -> CordovaLib(target) -> Build Phases -> Headers -> Public
您应该将项目的 Cordova iOS 版本更新为 3.9.2(截至 2016 年 3 月 11 日的最新版本 3)。我在使用 3.8.0 时遇到了同样的错误,它已在 3.9 中修复。
或者,您可以升级到 Cordova iOS v4.1.0 (bleeding edge as of 3/11/16) but be aware you lose support for iOS 6 and 7, and cordova-plugin-screen-orientation isn't updated to use 4 yet 因此您必须以纵向或横向锁定您的应用程序。
编辑:
无需升级,您可以在 XCode 中手动修复此问题。前往
构建设置 -> Header 搜索路径:
变化:
$(OBJROOT)/UninstalledProducts/include
至:
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
如果添加此行:
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
headers-search-path(如'im3r3k'答案中所述)没有解决这个问题,还设置了这个:
Build Settings -> Architectures -> Build Active Architecture Only -> YES
在尝试了所有解决方案都没有成功后,我 运行:
cordova platform update ios
这对我来说已经解决了。
(XCODE 7.3.1,科尔多瓦 6.3.0)
参考:
我遇到了同样的问题,所以我只是从配置文件中删除了 <icon src="icon.png" />
。然后我使用 cordova platform remove ios
然后 cordova platform add ios
删除并添加了 IOS 平台
补充回复。添加
"$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"
不要替换看起来相似的现有行,仍然需要向后兼容 Xcode 7 和 Xcode 6.4。
对我来说,$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
已经在 Header 搜索路径 中(在 El Capitan 中使用 XCode 8)。然后我将 User Header Search Paths 添加到 CordovaLib
文件夹的特定路径,启用 recursive
选项(对于没有经验的 XCode 用户像我一样,select树状视图中的项目(第一个节点)看到"Build Settings"!!)
但要注意空格!在遗漏了很多之后,从取景器 window 中拖动文件夹会更安全,它会填充为 $(SRCROOT)/..
(续),这出乎意料,但确实有效..
我还在 XCode/Preferences/Locations/Custom Paths
中添加了一个 CORDOVALIB 名称,其文件夹与以前相同,方式相同(这次使用了完整路径,没有 $(SRCROOT)
东西)。
我花了好几个小时才弄清楚...
这为我修复了它:
- 在 Xcode
中打开您的项目
- 转到首选项 -> 位置 -> 高级
- 选择 "Unique" 作为构建位置的选项
- 产品 -> 清洁
- 产品 -> 构建
以上解决方案对我不起作用。
In my case, when I build my iOS platform, CordovaLib folder was not included.
1. Delete existing CordovaLib.xcodeproj
2. Add existing files. Add CordovaLib.xcodeproj from CordovaLib folder
3. Add dependencies and select CordovaLib
4. Add link Binaries with library and select libCordova.a
就是这样!
对我来说,以下工作
Xcode 8.1 ios 10.x
(目标 -> 构建设置 -> Header 搜索路径)
"${PODS_ROOT}/Cordova/CordovaLib/Classes/Public"
作为
“${PODS_ROOT}/Headers/Public”文件夹为空
我在删除和 re-added 项目时遇到了这个问题,找不到一些资源文件,例如图标或启动画面,导致项目根本无法创建。
我使用的是 xcode 7.3,我遇到了同样的问题。在我的例子中,错误是由于执行 "cordova platform add ios" 时发生的错误,因为在 res 文件夹中找不到图像而发生错误,这是为了避免 cordova 平台添加 ios 完成正确。
- 在您的 Xcode 项目设置中 select TARGETS
- 在 TARGETS select 构建设置选项卡中
- 在 sub-options 的 Build Settings 选项卡下,确保 select All
- 向下滚动到“搜索路径”部分
- 找到 Header 搜索路径
- 将以下配置添加到 Release 选项(作为其自己行上的新值):$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
- 清理项目:Command + Shift + K
- 重启Xcode
以下屏幕截图演示了在执行步骤 1 到 6 后您应该在 Xcode 7.2 中看到的内容(以蓝色突出显示的行显示添加的配置):
CDV.h 文件存在于 CordovaLib/CordovaLib.xcodeproj/public 中。你可以给我这条路,为我工作。
不知道怎么给相对路径。所以我 dragged/dropped 文件并将其放入 ""
和 #import
中,例如:
#import "dragged file full path"
卸载并重新安装 Cordova 平台
cordova platform rm ios
cordova platform add ios
我遇到的问题之一是插件 cordova-plugin-inappbrowser
。确保您的插件已更新。
在iOS,我更新了7.2。我可以毫无问题地将我现有的项目构建到我的设备上。然而,当需要存档项目以准备提交到应用程序商店时,我遇到了构建错误 - Cordova/CDVViewController.h 文件未找到。我几乎遍历了所有未发现 Stack Overflow 的 fix/workaround,并且 Google 和 none 对我有用。如果我回到 Xcode 6.4,我可以构建和存档没问题,但我现在无法构建到我的设备,因为它是 运行ning iOS 9.1.
我猜这是新 Xcode 版本设置的某个地方的配置问题。还有其他人 运行 参与其中吗?同样,通常的嫌疑人(首选项 > 位置 > 派生数据 > 高级 > 唯一),Header 搜索路径等似乎都很好。
谢谢, 阿迪舍舒
由于搜索 path/include.
,此问题似乎出现在 Xcode 7.2 中按以下方式解决:
Select 你的
[projectName]
在 Xcode TARGETS.转到构建设置选项卡。
确保过滤器设置为 "All" 而不是 "Basic"。
搜索"Header Search Paths"
双击并将此路径添加到 "Debug" 和 "Release":
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
现在清理项目并重新启动Xcode.
能够制作 Build 和 Archive.
就这些了。
同时在构建设置中设置 ENABLE BITCODE = NO
我也遇到了这个问题,但对我来说添加 Header 搜索路径还不够。我已将 CDVViewController.h 添加到 "public" 部分到子项目 CordovaLib.xcodeproj -> CordovaLib(target) -> Build Phases -> Headers -> Public
您应该将项目的 Cordova iOS 版本更新为 3.9.2(截至 2016 年 3 月 11 日的最新版本 3)。我在使用 3.8.0 时遇到了同样的错误,它已在 3.9 中修复。
或者,您可以升级到 Cordova iOS v4.1.0 (bleeding edge as of 3/11/16) but be aware you lose support for iOS 6 and 7, and cordova-plugin-screen-orientation isn't updated to use 4 yet 因此您必须以纵向或横向锁定您的应用程序。
编辑:
无需升级,您可以在 XCode 中手动修复此问题。前往
构建设置 -> Header 搜索路径: 变化:
$(OBJROOT)/UninstalledProducts/include
至:
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
如果添加此行:
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
headers-search-path(如'im3r3k'答案中所述)没有解决这个问题,还设置了这个:
Build Settings -> Architectures -> Build Active Architecture Only -> YES
在尝试了所有解决方案都没有成功后,我 运行:
cordova platform update ios
这对我来说已经解决了。 (XCODE 7.3.1,科尔多瓦 6.3.0)
参考:
我遇到了同样的问题,所以我只是从配置文件中删除了 <icon src="icon.png" />
。然后我使用 cordova platform remove ios
然后 cordova platform add ios
补充回复。添加
"$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"
不要替换看起来相似的现有行,仍然需要向后兼容 Xcode 7 和 Xcode 6.4。
对我来说,$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
已经在 Header 搜索路径 中(在 El Capitan 中使用 XCode 8)。然后我将 User Header Search Paths 添加到 CordovaLib
文件夹的特定路径,启用 recursive
选项(对于没有经验的 XCode 用户像我一样,select树状视图中的项目(第一个节点)看到"Build Settings"!!)
但要注意空格!在遗漏了很多之后,从取景器 window 中拖动文件夹会更安全,它会填充为 $(SRCROOT)/..
(续),这出乎意料,但确实有效..
我还在 XCode/Preferences/Locations/Custom Paths
中添加了一个 CORDOVALIB 名称,其文件夹与以前相同,方式相同(这次使用了完整路径,没有 $(SRCROOT)
东西)。
我花了好几个小时才弄清楚...
这为我修复了它:
- 在 Xcode 中打开您的项目
- 转到首选项 -> 位置 -> 高级
- 选择 "Unique" 作为构建位置的选项
- 产品 -> 清洁
- 产品 -> 构建
以上解决方案对我不起作用。
In my case, when I build my iOS platform, CordovaLib folder was not included.
1. Delete existing CordovaLib.xcodeproj
2. Add existing files. Add CordovaLib.xcodeproj from CordovaLib folder
3. Add dependencies and select CordovaLib
4. Add link Binaries with library and select libCordova.a
就是这样!
对我来说,以下工作
Xcode 8.1 ios 10.x
(目标 -> 构建设置 -> Header 搜索路径)
"${PODS_ROOT}/Cordova/CordovaLib/Classes/Public"
作为
“${PODS_ROOT}/Headers/Public”文件夹为空
我在删除和 re-added 项目时遇到了这个问题,找不到一些资源文件,例如图标或启动画面,导致项目根本无法创建。
我使用的是 xcode 7.3,我遇到了同样的问题。在我的例子中,错误是由于执行 "cordova platform add ios" 时发生的错误,因为在 res 文件夹中找不到图像而发生错误,这是为了避免 cordova 平台添加 ios 完成正确。
- 在您的 Xcode 项目设置中 select TARGETS
- 在 TARGETS select 构建设置选项卡中
- 在 sub-options 的 Build Settings 选项卡下,确保 select All
- 向下滚动到“搜索路径”部分
- 找到 Header 搜索路径
- 将以下配置添加到 Release 选项(作为其自己行上的新值):$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
- 清理项目:Command + Shift + K
- 重启Xcode
以下屏幕截图演示了在执行步骤 1 到 6 后您应该在 Xcode 7.2 中看到的内容(以蓝色突出显示的行显示添加的配置):
CDV.h 文件存在于 CordovaLib/CordovaLib.xcodeproj/public 中。你可以给我这条路,为我工作。
不知道怎么给相对路径。所以我 dragged/dropped 文件并将其放入 ""
和 #import
中,例如:
#import "dragged file full path"
卸载并重新安装 Cordova 平台
cordova platform rm ios
cordova platform add ios
我遇到的问题之一是插件 cordova-plugin-inappbrowser
。确保您的插件已更新。