VS 2015 TACO - 在Xcode 8 / iOS 10上构建破解

时间:2016-10-17 16:54:49

标签: node.js visual-studio-2015 xcode8 visual-studio-cordova taco

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

  1. 代码签名:已下载xcode8.js摘要,并按照http://www.dpogue.ca/articles/cordova-xcode8.html将以下内容添加到build.json

    "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以及不同版本的nodenpm(0.12.9和4.6以及各自的npm版本)。

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

  5. 无论我做什么,构建都会永远停留在extracted - Extracted app contents from uploaded build requestbuilding - Updating platform上。

    之前,当我尝试在Mac上的Xcode中打开Xcode项目时,它成功构建并将应用程序部署到设备。我当时正面临使用WebRTC(使用cordova-plugin-iosrtc)的问题,并且它给了我隐私违规例外。我尝试按App crashes with __CRASHING_DUE_TO_PRIVACY_VIOLATION__ when trying to access contacts添加cordova-custom-config插件和相应的Cocoa键(NSCameraUsageDescriptionNSMicrophoneUsageDescription),然后它完全停止工作。

    任何人都可以告诉我应该使用的所有组件的最新版本是什么让它再次运行?一些消息人士建议在Mac上使用Node 0.12.9,其他人使用0.12.7;大多数人声称使用Cordova> = 5.3.3,任何Node版本都应该足够,但是使用Node 4.6也不行。

    提前感谢您的帮助!

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

1 个答案:

答案 0 :(得分:4)

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

  • developmentTeam属性添加到项目的ios文件中的build.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发布了sample hook,根据上面显示的build.xconfig示例对项目的build.json文件进行了必要的更改。要使用此挂钩,请将示例xcode8.js文件复制到项目的hooks文件夹,然后使用以下代码修改项目的config.xml以在编译步骤之前执行它:

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

创建分发构建

此时,Cordova构建过程可以正常运行,您可以运行,测试和调试您的应用程序。遗憾的是,该应用程序未使用分发所需的正确开发证书进行签名。要使用分发证书对其进行签名,您需要按照以下网址中的说明创建应用归档:Uploading Your App to 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