iOS11-beta
iOS11 预览版安装体验笔记。
写在前面
毕竟beta版,升级需谨慎。目前来看体验上还是有点卡的~~😂
卡顿让我实在无法忍受,并与6.15号重置回iOS10.3.2 。。。
9.13 GM出来了,再安装~~
适配有先后,iOS11马上就要发了,而iPhoneX还需要等一小段时间。所以iOS11的适配比iPhoneX有更高的优先级~
API
失效的automaticallyAdjustsScrollViewInsets
iOS11 版本中 __立即失效__。
最容易出问题的就是无导航的顶部刷新会莫名其妙的缩不进去~~
还有就是如果没有使用这个automaticallyAdjustsScrollViewInsets
,为了达到那种戳进去的代码直接设置frame.y = 0
。这种操作不但会出现导航栏莫名其妙的戳出来,还有UITableView.section.header
莫名错位的问题。
API 声明:
1 | 2.0, *) (iOS |
相应的的替换方案:
1 | 2.0, *) (iOS |
decisionHandler(.allow)
was called more than once
崩溃信息:
1 | #0 Thread |
这是WebViewJavascriptBridge在iOS11上的一个Issues#302。
据同事说可以通过如下代码解决:
1 | if WebViewJavascriptBridgeBase().isWebViewJavascriptBridgeURL(url) { |
测试了一下确实不崩溃了,但是具体的解决方案还要看作者的在Issues#302中的回复。
照片存储时候某些设备必crash
崩溃信息:
1 | 2017-09-29 11:36:17.338816+0800 Demo-iOS11-crash-save-photo[636:139456] |
是的,这个Demo还有一个crash的提示。但是在大工程中,我并没有看到这样的玩意输出出来。。我做的复现操作较简单:
1 | let img = UIImage(named: "278.jpg") |
就这么多代码,不管是打没打Swift Error
、All Exceptions
都无法定位到上面代码块,这才是最坑的。
上面代码漏了一句关键的代码:
1 | guard ALAssetsLibrary.authorizationStatus() == .authorized else { return } |
需要注意的是上面代码之判断了是否有权限,但是在iOS11上并不会弹出什么授权提示。就算在Info.plist
中添加NSPhotoLibraryUsageDescription
依旧无济于事。
目前来看,iOS11中只有添加NSPhotoLibraryAddUsageDescription
才可以。
navigationItem.titleView 点击区域偏移
所设置的View需要实现:
1 | @implementation DNImageFoldTitleView |