以下是我遇到并修复的问题:
代码签名:下载
xcode8.js
Hook 并将以下内容添加到build.json
,按照 http://www.dpogue.ca/articles/cordova-xcode8.html :"ios": { "debug": { "developmentTeam": "VZ4B5XSP9U" }, "release": { "developmentTeam": "VZ4B5XSP9U", "codeSignIdentity": "iPhone Developer" } }
在我的 Mac 上,删除了
~/.taco_home/node_modules/taco-remote-lib/2.2.1
和.../2.2.0
文件夹,每https://github.com/Microsoft/remotebuild/issues/5 .在我的 Mac 上,尝试卸载并重新安装
remotebuild
以及不同版本的node
和npm
(0.12.9 和 4.6 ,以及各自的npm
版本)。在 Visual Studio 中,尝试更改 objective-c ordova 版本:6.3.1、6.2、6.1.1,然后返回到 5.4.1。
无论我做什么,构建都会永远陷入extracted - 从上传的构建请求中提取的应用内容
或building - 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 键(NSCameraUsageDescription
和 NSMicrophoneUsageDescription
) ,然后它就完全停止工作了。
任何人都可以告诉我应该使用哪些组件的最新版本才能使其再次工作吗?一些消息来源建议在 Mac 上使用 Node 0.12.9,其他消息来源建议使用 0.12.7;大多数人声称,对于 Cordova >= 5.3.3,任何 Node 版本都应该足够,但是使用 Node 4.6 也不起作用。
预先感谢您的帮助!
更新:按照 Jordan 的建议执行 brew 更新等
后,远程部署可以正常工作,但构建将项目的“常规”选项卡下的“主界面”设置设置为“NSMainNibFile~ipad”,这会导致应用程序在启动时崩溃,直到我在 Xcode 中打开项目并清除该字段,然后增量构建会创建一个正常运行的应用程序。
最佳答案
这是 Apache Cordova 6.3.1 的一个已知问题,对于 Visual Studio 工具,我们一直在致力于修复此问题。要暂时解决此问题,您需要执行以下步骤:
- 添加
developmentTeam
属性(property)ios
在项目的build.json
中build设置文件(示例如下)。 - 设置
build.json
文件的codeSignIdentity
属性为静态值iPhone Developer
. - 设置
before_compile
Hook 您的项目以复制developmentTeam
属性(property)进入项目的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
如上所示的示例。要使用此 Hook ,请复制示例 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
关于node.js - VS 2015 TACO - 在 Xcode 8/iOS 10 上构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40091788/