cordova 从xcode7迁移到xcode8
环境以开发流程
当前项目使用的cordova环境
cordova 6.1.1
cordova-ios 3.9.2(vs15自动装的不知道在哪能改,所以考虑升级到vs17,能够手动指定)
cordova-android 5.1.1
当前开发环境 windows 10 + vs15
编译环境 mac + xcode 7.3.1 + remotebuild
在windows上发出编译指令,vs帮忙打包发送数据到mac,remotebuild接受到数据,使用xcode打包完成之后,vs把打好的包下载回来并解压好,如果需要再帮忙给安装到设备上(vs安装过程会先删除设备上的app然后再安装,这个过程会上设备中的app数据也被删掉,所以我一般不用。我使用itools手动覆盖安装)
起因
之前插件中有swift写的,当时只能在xcode7上进行开发测试,所以只能选用低版本的swift。开发完成之后用归档的方式进行打包,安装到设备上会出现闪退的问题,由于时间问题,插件项目搁置。
近期又需要开发ios插件,对objective-c实在无爱,所以再次预选了swift。然后就开始测试swift插件在xcode8上能否成功通过。
windows环境准备
vs 17不多说,没啥曲折的。
jdk要求8或更高,64位的也能用了
在config.xml中可以修改cordova-ios的版本,我选择的是次新版本4.3.1(测试时最新版本是4.4.0)。cordova版本6.3.1未作修改。
然后配置build.json 。这个是重点,是能在xcode8上自动编译成功的关键。主要是 developmentTeam 参照下面地址
http://cordova.apache.org/docs/en/7.x/guide/platforms/ios/index.html#signing-an-app
我们的项目使用的sass,如果报错说找不到某个版本的 binding.node ,来这里找 https://github.com/sass/node-sass/releases
mac环境准备
删除已有的xcode7.3.1,在https://developer.apple.com/download/more/(需要登录)找到xcode 8.3.2(当前最新,要求系统在10.12以上)并下载,我直接放到桌面双击进行安装。
升级remotebuild到最新版本。
像我没有使把xcode安装到默认位置的需要执行下面命令,不然remotebuild找不到xcode
sudo xcode-select --switch /…/Xcode.app/Contents/Developer
下面的问题忘记错误详情是啥了,碰到问题后要仔细查看错误日志。
拷贝PackagesApplication到/…/Xcode.app/Coneten/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
并加执行权限
chmod +x PackagesApplication
vs cordova项目升级
vs15的cordova项目使用vs17(我的版本15.2 26430.4)打开就会提示要不要升级过来,点击是就升上来了。
cordova-simulate问题
vs15用的是ripple,但这个项目已经停止维护了。cordova-simulate是微软开发的替代版本,功能大致相同,都是在浏览器中模拟设备,方便开发调试。
这里还有几个已知的问题关于 cordova-simulate 的问题。
1、当动态添加header标签时,会有异常,并阻断js执行。已经提了issue https://github.com/Microsoft/cordova-simulate/issues/237。 可用div来替换。
2、模拟器进行屏幕转向。这个应该算是缺失的功能吧,可用 chrome 的 device toolbar 来替代。
other
把插件用的swift语法都改成3.0版本的,用归档的方式打包没有闪退,功能待进一步测试。
在改语法的过程中编译的错误,拿着详情google,不是百度,google,能解决大部分问题。
附件
cordova 从xcode7迁移到xcode8的更多相关文章
- xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)
xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题) 前两天为了适配 iOS10 的系统 我将xcode 7.3 升级到了 xcode 8.0 但是 ...
- iOS:xCode7版本运行xCode8.0的代码
怎么在xCode7版本上运行xCode8.0的代码? 1.右键你的"LaunchScreen.sb"文件并用编辑器打开sb 2.删掉"<capability nam ...
- 使用Xcode过程中遇到的问题
前言:记录一下使用Xcode过程中遇到的问题 1.关于开发者的Team的问题,是选用自己的个人Team还是选用公司的付费的Team(本机环境:Xcode9 + iPad :iOS11.0.3) 问题: ...
- WWDC2016-session401-CodeSign大改版
自动签名机制和手动签名都明显看起来很好用. 自动签名有log 手动签名有具体的错误提示信息. session401 Xcode Signing. 亲,你的眼睛好大 相声演员吗? Yeah,You ar ...
- Swift2.3适配Swift3.0时出现的各种问题
昨晚上一波手贱把我的小5s升到iOS10.如此配套的话,Xcode7.3升级Xcode8.1看来也是势在必行了.公司程序是Swift2.3的,出于对苹果的恐惧迟迟不敢升级.但丑媳妇儿总要见公婆,借这个 ...
- xcode7 打开工程错误 This Document requires xcode8.0 or later.
xcode7 打开工程错误 This Document requires xcode8.0 or later. 场景: xcode7创建的工程,后来安装了xcode8.0,用8打开7的工程跑了一下: ...
- Xcode同时兼容Xcode7和Xcode8,两个版本并存,也适用于先升8再安装7
先吐槽一下之前看到的一个教程,如下: 先在应用程序内,拷贝一份之前的xcode,然后再安装新版本,发现这种安装完成就是在之前上面迭代了 有木有?等于没任何作用 我这边就是不小心先升级了8,然后再安装 ...
- Xcode8中Swift3.0适配问题
写在前面 收到一些小伙伴的来信,觉得可能下边没有表达清楚,先把大家关心的要点在此进行总结,有兴趣的可以看看下边的研究过程,没兴趣的直接看这段即可. Xcode8支持Swift2.3和Swift3.0两 ...
- xcode8.0升级之后公司项目遇到的问题
xcode8升级之后项目遇到了问题,由于这个项目是我中途接手的,遇到的第三方也是自己没有用过的, AQGridViewCell,这个第三方的类主要是用于处理图片的问题,xcode开发工具升级过后,报这 ...
随机推荐
- BZOJ4898/5367 Apio2017商旅(分数规划+floyd)
如果要在某点买入某物品并在另一点卖出,肯定是走其间最短路径.于是预处理任意两点间的收益和最短路径,连完边二分答案判负环即可,可以全程floyd.注意inf大小. #include<iostrea ...
- 测试开发面试的Linux面试题总结之一:vim使用方法
现在做测试没有说不用到linux,大部分公司都会涉及到,作为测试经常使用linux最常见手段就是查看日志,帮助开发定位问题,这是目前最常见的测试当中使用linux方法,今天就讲一讲vim文本编辑器的使 ...
- 康托展开&康托逆展开 的写法
康托展开 康托展开解决的是当前序列在全排序的名次的问题. 例如有五个数字组成的数列:1,2,3,4,5 那么1,2,3,4,5就是全排列的第0个[注意从0开始计数] 1,2,3,5,4就是第1个 1, ...
- redis的Pub/Sub功能
Pub/Sub功能(即Publish,Subscribe)意思是发布及订阅功能.简单的理解就像我们订阅blog一样,不同的是,这里的客户端与server端采用长连接建立推送机制,一个客户端发布消息,可 ...
- go日期时间函数+常用内建函数+错误处理
日期时间函数 // 时间日期函数包 import "time" // 1. 当前时间 time.Now()-->time.Time类型 // 2. now:=time.Now ...
- ps裁剪一寸照片及换背景色
1.打开ps,把图片拖进去编辑 2.选魔棒工具,在途中选中背景色,鼠标右键,选选择反向 效果如下: 3.按 快捷键 ctrl + j 可以在右侧看到新建出了一个图层 4.选文件,新建,填写长宽,如果 ...
- PID控制算法的C语言实现八 变积分的PID控制算法C语言实现
变积分PID可以看成是积分分离的PID算法的更一般的形式.在普通的PID控制算法中,由于积分系数ki是常数,所以在整个控制过程中,积分增量是不变的.但是,系统对于积分项的要求是,系统偏差大时,积分作用 ...
- Codeforces Round #384 (Div. 2) A B C D dfs序+求两个不相交区间 最大权值和
A. Vladik and flights time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- 徒手创建一个 jsp 项目
在开始之前,先回顾一下 jsp 和 servlet,jsp 和 servlet 本质是一样的,因为 jsp 最终必须编译成 servlet 才能运行. 因为 jsp 的那些标签 jvm 是无法直接运行 ...
- 13.UiAutomator 辅助APK的使用
一.在测试中弹出提示框 UiAutomator无法直接实现,,但是可以通过让辅助APK接受UiAutomator发送的指令信息来实现,使用am命令 实例: 1.新建辅助apk,用来接收Uiautoma ...