2

以下是我遇到并修复的问题:

  1. 代码签名:下载xcode8.js钩子并将以下内容添加到build.jsonhttp://www.dpogue.ca/articles/cordova-xcode8.html

    "ios": {
        "debug": {
            "developmentTeam": "VZ4B5XSP9U"
        },
        "release": {
            "developmentTeam": "VZ4B5XSP9U",
            "codeSignIdentity": "iPhone Developer"
        }
    }
    
  2. 在我的 Mac 上,按照https://github.com/Microsoft/remotebuild/issues/5~/.taco_home/node_modules/taco-remote-lib/2.2.1删除了和.../2.2.0文件夹。

  3. 在我的 Mac 上,尝试卸载并重新安装remotebuild和 的不同版本(0.12.9 和 4.6,以及各自的node版本)。npmnpm

  4. 在 Visual Studio 中,尝试更改目标 Cordova 版本:6.3.1、6.2、6.1.1,然后改回 5.4.1。

不过,无论我做什么,构建都会卡在extracted - Extracted app contents from uploaded build request. 或building - Updating platform永远卡住。

早些时候,当我尝试在 Mac 上的 Xcode 中打开 Xcode 项目时,它成功地构建了应用程序并将其部署到了设备上。然后我遇到了使用 WebRTC(使用cordova-plugin-iosrtc)的问题,它给了我侵犯隐私的例外情况。我尝试在尝试访问联系人时cordova-custom-config添加插件和适当的 Cocoa 键(NSCameraUsageDescriptionNSMicrophoneUsageDescription)每个应用程序崩溃 __CRASHING_DUE_TO_PRIVACY_VIOLATION__ ,然后它完全停止工作。

谁能告诉我应该使用哪些最新版本的所有组件来使其再次工作?一些消息来源建议在 Mac 上使用 Node 0.12.9,另一些建议使用 0.12.7;大多数人声称使用 Cordova >= 5.3.3,任何 Node 版本都应该足够了,但是使用 Node 4.6 也不起作用。

提前感谢您的帮助!

更新:按照乔丹的建议执行后brew update etc.,远程部署工作,但构建将项目“常规”选项卡下的“主界面”设置设置为“NSMainNibFile~ipad”,这导致应用程序在启动时崩溃,直到我打开项目Xcode 并清除该字段,然后增量构建创建一个正常运行的应用程序。

4

1 回答 1

4

这是 Apache Cordova 6.3.1 的一个已知问题,对于 Visual Studio 工具,我们一直在努力解决此问题。要暂时解决此问题,您需要执行以下步骤:

  • 在项目文件的构建设置中添加一个developmentTeam属性(示例如下所示)。iosbuild.json
  • build.json文件的codeSignIdentity属性设置为静态值iPhone Developer
  • 在您的项目中设置一个before_compile挂钩以将developmentTeam属性复制到项目的platforms/ios/cordova/build.xcconfig文件中。

项目的build.json文件应如下所示:

{ "ios": { "debug": { "developmentTeam": "DEVELOPMENT_TEAM_NAME" }, "release": { "developmentTeam": "DEVELOPMENT_TEAM_NAME", "codeSignIdentity": "iPhone Developer" } } }

为了简化该过程,Darryl Pogue发布了一个示例挂钩,该挂钩根据上面显示的示例对项目build.xconfig文件进行了所需的更改。build.json要使用此钩子,请将示例xcode8.js文件复制到项目的hooks文件夹中,然后config.xml使用以下代码修改项目以在编译步骤之前执行它:

<platform name="ios"> <hook type="before_compile" src="hooks/xcode8.js" /> </platform>

创建分发版本

此时,Cordova 构建过程开始工作,您可以运行、测试和调试您的应用程序。不幸的是,该应用程序没有使用分发所需的正确开发证书进行签名。为了使用分发证书对其进行签名,您需要按照以下说明创建应用程序存档:将您的应用程序上传到 iTunes Connect

iOS 10

为 iOS 10 构建 Cordova 应用程序的开发人员可能会遇到以下错误:

Http 404: Error mounting developer disk image Http 500: No devices found to debug. Please ensure that a device is connected and awake and retry.

这是由于 Mac 开发环境需要更新多个模块造成的。要解决此问题,请在 Mac OS 上打开终端窗口并发出以下命令:

brew update && brew upgrade libimobiledevice --HEAD && brew upgrade ios-webkit-debug-proxy ideviceinstaller

于 2016-11-03T16:19:01.933 回答