iOS版存档时未findPhonegap CDVViewController.h文件
我目前正在使用Phonegap 2.0在XCode中开发iOS应用程序。 该应用程序在仿真器中以及在testing设备上build立并运行良好。
当我尝试存档分发的应用程序时出现问题。 存档失败,并显示以下消息:
未findCDVViewController.h文件。
有任何想法吗?
Xcode 6.x
将$(OBJROOT)/UninstalledProducts/include
到BuildSettings-> Header Search Paths
Xcode 7.x
将$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
到BuildSettings-> Header Search Paths
1.双击<multiple values>
,你可以添加它。
2.将$(OBJROOT)/UninstalledProducts/include
更改$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
在Xcode 7.1中 ,您需要将$(OBJROOT)/UninstalledProducts/include
header search paths
字段更新为$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
您可以在build settings
– > search paths
下findheader search paths
search paths
pipe理解决它。
这些在我的TARGET设置的构build设置中的“标题searchpath”中缺失:
"$(TARGET_BUILD_DIR)/usr/local/lib/include" "$(OBJROOT)/UninstalledProducts/include" "$(BUILT_PRODUCTS_DIR)"
从多个来源获取解决scheme:
升级Cordova iOS(从31开始) http://docs.phonegap.com/en/2.0.0/guide_upgrading_ios_index.md.html#Upgrading%20Cordova%20iOS
错误报告https://issues.apache.org/jira/browse/CB-1122
讨论groups.google.com/forum/?fromgroups=#!topic/phonegap/IcR8-ijrUfk
讨论groups.google.com/forum/?fromgroups=#!topic/phonegap/PzqZEm8QKmc
对于未来的参考:
我只是为自己解决这个确切的问题。
如果您正在使用Cordova cli,并更新config.xml,则可以将ios作为平台删除,然后将其添加回去。 然后再从XCode存档。
cordova platform remove ios cordova platform add ios
希望有所帮助,为我完美工作,
我遇到了完全相同的问题。 我相信可能是因为我在用Cordova的工具创buildXcode项目之后移动了Xcode项目的位置。 或者,也可能是我没有正确设置cordovaiOS工具集 – 也许我没有运行安装程序包(我已经重build了这台机器几次)。 而且,我在Google上发现的所有相关答案都表明,我需要更换cordova的一些核心课程 – 我不愿意这样做。
我的解决scheme是使用Cordova create
命令来构build一个全新的Xcode项目。 我将原来的项目的www
目录复制到新项目中,然后重新configuration新项目以匹配原始项目的设置。
使用相同的插件,框架和构build设置的新项目成功构build了一个存档,而原始项目不能。 这不是一个理想的解决scheme – 但它的工作。
当我的项目复制到另一个文件夹时,我面临同样的问题。 我正在使用Phonegap 2.0.0。 在尝试了几个解决scheme但没有成功之后,我运行了产品 – >清理,一切正常。 不要问我为什么,但这条道路已经解决了我必须处理的几个小问题,即更改飞溅和图标文件,谁没有更新设备上。 希望这个帮助。
有时候,一个被接受的解决scheme可能不会帮助每个人都有类似的,但也许不相关的问题。
我的观察是类似的(CDVViewController.h未find)。 首先确保目标设置包括如上所述的“标题searchpath”。
然后按照这个链接,为我工作: http : //outof.me/embedding-cordovalib-in-your-iosphonegap-app-project/
基本上我需要重新链接cordova作为目标依赖关系,然后将其链接到我的库。
那么,如果你迁移到cordova2.5.0,你可能会碰到一个问题,吐出类似于这个:“_ALAssetPropertyDate”,引用:
___23-[CDVFile getMetadata:]_block_invoke in libCordova.a(CDVFile.o) ___27-[CDVFile getFileMetadata:]_block_invoke in libCordova.a(CDVFile.o)
“_OBJC_CLASS _ $ _ ALAssetsLibrary”,引用自:
objc-class-ref in libCordova.a(CDVFile.o) objc-class-ref in libCordova.a(CDVFileTransfer.o) objc-class-ref in libCordova.a(CDVURLProtocol.o)
“
如果os,添加AssetLibrary框架,并有一定的安宁。
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
将其添加到“构build设置”中的“searchpath”部分可以很好地工作。
XCode构build设置中的searchpath
您可能需要更新您的CordovaLib子项目参考。
启动terminal转到您在bin子文件夹中安装Cordova的位置。 例如/Users/Shared/Cordova/phonegap-2.2.0/lib/ios/bin
运行下面的命令,其中第一个参数是项目的.xcodeproj文件的path:
./update_cordova_subproject /path/to/your/project
Xcode 7.2有点不同
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
需要放在标题searchpath中进行debugging和发布。
- PhoneGap – 强制横向导向
- 如何使用手机扫描条形码
- 在android webview(android 4.4,kitkat)中inputHTML文件
- Cordova 3.5.0安装错误 – 请安装Android Target 19
- 在普通桌面浏览器中的Phonegapnetworking应用程序
- 不使用推送通知的cordova应用程序:“缺less推送通知权利”
- 连接并缩小cordova / phonegap插件文件
- 用Phonegap创build一个Android服务? (即使在closures的情况下也可以运行phonegap应用
- 通过Cordova config.xml添加条目到iOS .plist文件