ios - 无法在本地编译 Phonegap 应用程序

标签 ios node.js cordova phonegap-build

我无法在本地为 iOS 编译我的应用程序,Android 运行正常。

我已经使用 npm install -g [...] 安装了 cordovaphonegap。我正在运行 OSX (10.7.5)。

两者的版本输出:

$ cordova -v
5.1.1
$ phonegap -v
0.9.4

我安装了 XCode (v 4.6.2)。我还安装了命令行工具。

cordova 和 phonegap 工具都无法构建,原因似乎相同。运行 phonegap build ios 输出:

$ phonegap build ios
  phonegap  detecting iOS SDK environment...
  phonegap  using the local environment
  phonegap  compiling iOS...
     error  ENOENT, no such file or directory '/Users/mike/apps/***/platforms/ios/__CLI__/config.xml'

这是同一 cordova 命令的输出:

$ cordova build ios
cp: copyFileSync: could not write to dest file (code=ENOENT):/Users/mike/apps/***/platforms/ios/__CLI__/config.xml

cp: no such file or directory: /Users/mike/apps/***/platforms/ios/platform_www/*

Parsing /Users/mike/apps/***/platforms/ios/__CLI__/config.xml failed
Error: ENOENT, no such file or directory '/Users/mike/apps/***/platforms/ios/__CLI__/config.xml'
    at Error (native)
    at Object.fs.openSync (fs.js:500:18)
    at Object.fs.readFileSync (fs.js:352:15)
    at Object.module.exports.parseElementtreeSync (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/util/xml-helpers.js:118:27)
    at Object.ConfigParser (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/configparser/ConfigParser.js:33:24)
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/prepare.js:115:32
    at Array.map (native)
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/prepare.js:70:40
    at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:787:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:816:30)

在我看来,应该有一些替代品在未发生的路径中运行在 __CLI__ 上,但这很难说。下面是生成的文件结构的屏幕截图:

FileStructure

我能够使用远程构建服务进行构建,但它非常费力,因为应用程序未正确加载,所以我需要进行大量调试才能解决这个问题。

Node 的安装版本为 0.12.5。 NPM 安装在 2.11.2 版本。

我已经重装了无数次平台,但总是出现这个错误。

最佳答案

这个问题有点老了,但我会抛出一些东西:

  1. 我有一个正在运行的 ios 平台的命令行构建 -- 它没有 __CLI__... 子目录。只是一个数据点。
  2. 我想知道 Xcode 与其构建路径相关的设置方式是否有什么奇怪之处。请参阅此答案以确保输出目录设置正确:still getting <Cordova/CDVViewController.h> file not found error in xcode .我在 Xcode 中设置了桌面和移动应用程序,我必须记得来回切换此设置。
  3. PhoneGap/Cordova 已逐步淘汰旧版本的 ios,推出新版本。如果 cordova 5.1.1 不支持 Xcode 4.6.2,我不会感到惊讶。您可能想尝试使用旧版本的 cordova 库。

关于ios - 无法在本地编译 Phonegap 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31243153/

相关文章:

node.js - nodeenv - 在 vi​​rtualenv 内部但安装到全局 Node 包

android - 从网络加载图像时收到“在收到完整 header 之前关闭连接

ios - NSMutableString replaceOccurrencesOfString 替换整个单词

iphone - iTunes 连接 : "Too few reports have been submitted for a report to be shown"

javascript - Sails.js 水线破坏 "lower or equal"标准

cordova - webaudio 无法在 Android 设备上使用人行横道与 ionic 配合使用

ipad - 了解(符号化)iOS崩溃日志

node.js - Angular 2 - 导入 html2canvas

ios - 使用新版本的 Cordova 更新旧的 Cordova/PhoneGap 项目

android - cordova build android 删除旧版本