Meteor cordova ios项目pch错误

Posted

技术标签:

【中文标题】Meteor cordova ios项目pch错误【英文标题】:Meteor cordova ios project pch errors 【发布时间】:2015-01-07 22:21:55 【问题描述】:

我一直致力于使用 Cordova 构建 ios 应用程序的 Meteor 项目。它工作了一段时间非常顺利,然后突然间我开始收到此错误:

❯❯❯ meteor run ios         

Error while running for mobile platforms: Error running
/Users/chet/.meteor/packages/meteor-tool/.1.0.37.19du6bc++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/cordova-scripts/cordova.sh
2014-12-23 13:35:00.970 xcodebuild[46060:3143193] error: InputFile    /Users/chet/Code/meteor/5cmenu/.meteor/local/cordova-build/platforms/ios/5C Menu/5C
Menu-Prefix.pch 0 1418992636 959 33188... malformed line 9; 'InputFile' should have exactly five arguments

如果我在.meteor/local/cordova-build/platforms/ios/ 中打开.xcodeproj,项目运行正常。但是,它是我的流星应用程序的旧版本。

我尝试删除.meteor/local,然后删除meteor run ios。我犯了同样的错误。当我打开.xcodeproj 时,当我尝试运行它时它就起作用了。

我也试过meteor remove-platform ios 然后meteor add-platform ios。然后我跑了meteor run ios。我得到了同样的错误,但同样,当我打开 .xcodeproj 时,它起作用了。

有一个类似的[发布在这里的问题](https://github.com/meteor/meteor/issues/3105 )。

我尝试过的几件事是 deleting the Xcode DerivedData folder,并通过运行 cmd+shift+K 为项目清理我的 Xcode 构建缓存,这对于这个问题似乎完全没有必要。

我也 found a similar issue here 说这是一个“非致命错误”。

任何想法如何解决这个问题?

【问题讨论】:

【参考方案1】:

因此,重置 Xcode 构建的方法之一是使用 rm -rf .meteor/local/。然后meteor run ios-device 将构建一个新项目。但是,当您这样做时,由于某种缓存,您最终会遇到他的 PCH 错误。

你会在你的错误中找到一个看起来像这样的路径

/var/folders/x5/mdr8syvj7lsb_sg_pr0j7y_h0000gn/C/com.apple.DeveloperTools/6.1.1-6A2008a/Xcode/SharedPrecompiledHeaders/

注意SharedPrecompiledHeaders 部分。删除以您的应用名称开头的应用。然后从头再来

rm -rf .meteor/local/
meteor run ios-device

每次都有效

【讨论】:

你可以用meteor reset代替rm -rf .meteor/local/ 不确定是否会做同样的事情......我认为重置只会抛出 mongo 在当前文档中除了删除数据库之外没有指定任何内容但确实删除了您的本地构建,您可以检查自己重置后,.meteor/local/ 不存在。【参考方案2】:

你的路径中有一个空格,它被解释为另一个参数。

/Users/chet/Code/meteor/5cmenu/.meteor/local/cordova-build/platforms/ios/5C菜单/5C

更多信息在这里:https://github.com/meteor/meteor/issues/3105#issuecomment-75580362

【讨论】:

以上是关于Meteor cordova ios项目pch错误的主要内容,如果未能解决你的问题,请参考以下文章

Meteor + Cordova + iOS:不允许上传文件

Meteor Cordova App:如何在 iOS 或 Android 上运行不同的代码

为啥客户端 HTTP.get() 调用在 Cordova (Meteor 0.9.3) 中不起作用?

Meteor 开发人员 - 有没有人修复 Meteor 无法在 iOS 10 iPhone 6 Plus 上运行的问题?

cordova/exec 在流星项目中失败

如何让 Cordova 通过插件自动嵌入自定义 iOS 框架?