ionic preparing for ios 9
http://blog.ionic.io/preparing-for-ios-9/
iOS 9 is releasing next week, and with it comes some changes and bugs that Ionic developers need to be aware of. Even if your app was published for an earlier version of iOS, you might still need to make some fixes due to regressions released by Apple in the web browser.
Apple sent out an email last night (Friday 9/11/2015) encouraging developers to test and submit their apps NOW to make sure they are out in time for iOS 9 release next week: “To prepare, build your apps using Xcode 7 GM seed, and test with the GM seeds of iOS 9. Read the App Review Guidelines and use TestFlight to get feedback before submitting to the App Store.”
This would seem to indicate there’s time to make the iOS 9 roll out if you test, fix, and submit ASAP.
window.location bug
UIWebView, where Ionic, Cordova, and web content historically ran, introduced a regression with the way window.location works. Basically, the value doesn’t properly update synchronously anymore.
The impact of this is that Angular’s browser location detection behaves in unpredictable ways, which bubbles up through UI-Router and impacts Ionic.
There is a fix that must be applied in your Angular/Ionic app. Please read my post and use the patch created by Igor from the Angular team found in it.
Also, empty href links <a href="#"> will trigger your otherwise state, so test those and remove the empty href if necessary.
Radio button issue
UIWebView broke how tilde CSS selectors work. The impact of this change is probably quite widespread on the web, but has manifested itself in an Ionic bug with radio buttons. We’ve removed the need for the tilde selector and the issue is resolved.
To fix, add the new ion-radio-fix directive and corresponding CSS from this gist. Make sure to change any reference to <ion-radio> to <ion-radio-fix>.
Note: this fix is now in Ionic master. So, if you’re feeling adventurous, you could alternatively use a new release of Ionic to avoid having to apply the radio patch.
App Transport Security
iOS 9 introduces a new security feature that blocks non-HTTPS traffic in your app. However, this is a new feature that is only enabled for apps building with X Code 7 and iOS 9 SDK today. It will not break existing apps.
Since the changes above require recompilation, this will impact your development process and manfiest itself as a breaking change.
To fix, edit the MyApp-Info.plist file and add the contents of this patch.
Conclusion
iOS 9 introduces a number of new features, but also several regressions in the supplied UIWebView browser. These issues are not present in iOS Safari, so mobile websites built with Ionic will not break. They are also not present in WKWebView, the new web view environment in iOS.
There is some good news here: Cordova will soon support WKWebView on iOS, which will bring some great performance and feature improvements to Cordova and Ionic apps. We will move to this new feature as soon as it’s ready, and we hope that will happen some time this fall.
Thank you to everyone who helped isolate and fix these issues. It always sucks when breaking changes happen, and going forward we are going to tighten up our OS release testing process to make sure we catch these regressions early and also assume that regressions introduced in iOS betas will not be fixed in time for the GM releases. Unfortunately, we assumed these glaring bugs would be fixed in time but they were not.
ionic preparing for ios 9的更多相关文章
- 【ionic】Mac IOS下真机调试
模拟调试不能保证真机一定没问题,所以真机调试是非常必要的一步 IOS设备 启用设备调试 在IOS设备中(Iphone,Ipad)中开始web检测器 设备->safari->高级->w ...
- Ionic在线打包IOS平台应用
参见:http://docs.ionic.io/services/profiles/#ios-app-certificate--provisioning-profile Ionic云编译,需要注册.地 ...
- mac系统 Xcode打包ionic项目(iOS)
一.环境搭建 1. 安装Node.js,使用node -v 查询版本号: 2. 安装ionic: $ sudo npm install -g cordova(可以指定版本,如cordova@7.0.1 ...
- ionic 开发解决ios上qq客服链接不跳转或者跳转到appstore
不能跳转的情况需要 在ionic项目根目录下,打开config.xml文件,在<access origin="*" />后添加<allow-navigation ...
- ionic platform add ios, Error:spawn EACCES
RT: cordova ionic 环境搭建好之后,需要添加平台才能打包,添加平台如果出错:Error:spawn EACCES, 原因是因为没添加hooks, 请使用 ionic add hooks ...
- ionic 项目中ios上遇到的软键盘输入法自动弹出的问题
一. 安装插件 cordova plugin add ionic-plugin-keyboard 二. 软键盘显示监听 window.addEventListener('native.keyboar ...
- Mac下安装ionic和cordova,并生成iOS项目
为了开发HTML5,除了最新使用React Native等之外,目前首选的为稳定的ionic+Angularjs来开发iOS和android. Ionic(ionicframework一款接近原生的H ...
- ionic day01教程第一天之多平台运行(ios & android)
一.创建项目 创建项目 ionic start myApp 运行项目 (1)通过浏览器运行项目 进入项目,后运行ionic serve cd myApp ionic serve 浏览器运行效果 二.多 ...
- ionic ios 左滑 白屏
之前发现ionic在发布ios之后,左滑屏幕的时候会出现界面变白,但是画面原有的位置点击还是有效的,但是点击之后界面是不正确的,返回到上上一步 然后查找资料发现是ios系统内置的左滑动作造成了影响,修 ...
随机推荐
- c++ 如何实现,readonly
需求: 我要实现一个常量字段,只能赋值一次,赋值后不容许更改. 类似于c#的readonly或者java final #include <iostream> class A{public ...
- C# mongodb [上]
概述 MongoDB是一个高性能,开源,无模式的文档型数据库,使用C++开发.是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是 ...
- Unity3D脚本中文系列教程(十)
http://dong2008hong.blog.163.com/blog/static/4696882720140312627682/?suggestedreading&wumii Unit ...
- linux源代码阅读笔记 linux文件系统(二)
上一篇文章说到linux文件系统中分为超级块,inode块,block块.inode块给出文件的权限,修改时间,大小等信息. 但是实际上,文件的数据是存储在block块中的.而inode块中给出了存储 ...
- spark在eclipse上配置
环境:spark1.4.0,hadoop2.6.0 1.安装好jdk 2.在spark的conf目录下找到spark-env.sh.template,打开,在后面加上 export SCALA_HOM ...
- java基础知识回顾之java Thread类学习(十)--线程的状态以及转化使用的方法介绍
线程的概述: 线程是程序的多个执行路径,执行调度的单位,依托于进程存在.线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间叫做线程栈,是建立线程的时候由系 ...
- 使用预处理PreparedStatement执行Sql语句
/** * 使用预处理的方式执行Sql * @param sql Sql语句 * @param obj 变量值数组 * @return 查询结果 * @throws SQLException */ p ...
- Project Euler 87 :Prime power triples 素数幂三元组
Prime power triples The smallest number expressible as the sum of a prime square, prime cube, and pr ...
- lintcode 中等题:digits counts 统计数字
题目 统计数字 计算数字k在0到n中的出现的次数,k可能是0~9的一个值 样例 例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现 ...
- eclipse的设置和优化
转载:http://my.oschina.net/zhaoqian/blog/66545 1.eclipse下的编码设置: eclipse 中使用模板新建 JSP,xhtml等 文件时,默认的编码为: ...