iOS14适配相关

1.UITableViewCell 的 contentView 会置于自定义控件的上层。

在 iOS14 beta 中,UITableViewCell 中如果有直接添加在 cell 上的控件,也就是使用 [self addSubview:] 方式添加的控件,会显示在 contentView 的下层。
contentView 会阻挡事件交互,使所有事件都响应 tableView:didSelectRowAtIndexPath:方法,如果 customView 存在交互事件将无法响应。如果 contentView 设置了背景色,还会影响界面显示。
此改动在官方文档中并未说明,存在正式版发布时作为 bug 修复的可能性。但是在此前关于 contentView 的声明注释中,官方已经明确建议开发者将 customView 放在 contentView 上,使 contentView 作为 UITableViewCell 默认的 superView。

// Custom subviews should be added to the content view.
@property (nonatomic, readonly, strong) UIView *contentView;

2.UIDatePicker 更新 UI 样式

iOS 14 中,UIDatePicker UI样式更新了

UIDatePickerStyleInline API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos),
iOS14默认弹出样式
inline样式点击日期后效果

并且为默认样式。如果想使用原来的播轮样式,需要设置。

 pickerView.preferredDatePickerStyle = UIDatePickerStyleWheels;

preferredDatePickerStyle 为 iOS 13.4 新增属性

修改完后成为之前的样式


好运原始样式

3、地理位置

在 iOS13 及以前,App 请求用户定位授权时为如下形态:一旦用户同意应用获取定位信息,当前应用就可以获取到用户的精确定位。


位置授权对比(左侧:iOS13,右侧: iOS14)
  • iOS14 新增了 精确定位模糊定位 的概念。
 @available(iOS 14.0, *)
 open var accuracyAuthorization: CLAccuracyAuthorization { get }
public enum CLAccuracyAuthorization : Int {
    case fullAccuracy = 0
    case reducedAccuracy = 1
}

模糊定位 误差大约5km/时间误差大约20分钟。

///官方描述
Location estimates will have a horizontalAccuracy on the order of about 5km
///官方描述
Applications should be prepared to receive locations that are up to 20 minutes old.
  • 如果功能强依赖精确定位,可以在需要的时候调用 [CALocationMnanger requestTemporaryFullAccuracyAuthorizationWithPurposeKey:] 单独请求一次精确定位
@available(iOS 14.0, *)
open func requestTemporaryFullAccuracyAuthorization(withPurposeKey purposeKey: String, completion: ((Error?) -> Void)? = nil)

@available(iOS 14.0, *)
open func requestTemporaryFullAccuracyAuthorization(withPurposeKey purposeKey: String)

前提是在info.plist文件中设置NSLocationTemporaryUsageDescriptionDictionary(位置临时使用描述),其中purposeKeyrequestTemporaryFullAccuracyAuthorization(withPurposeKey purposeKey: String)方法中的参数purposeKey对应。

<key>NSLocationTemporaryUsageDescriptionDictionary</key>
 <dict>
 <key> purposeKey </key>
 <string>This app needs accurate location so it can verify that you're in a supported region. </string>
 <key> AnotherPurposeKey </key>
 <string>This app needs accurate location so it can show you relevant results.</string>
</dict>

这样app会获取到临时的精确位置权限直至下次冷启动。当然这个授权也可能被用户无情拒绝。

iOS14临时获取精准位置权限
  • 对于地理位置不敏感的App 来说,iOS14 也可以通过直接在 info.plist 中添加 NSLocationDefaultAccuracyReduced 为 true 默认请求模糊位置。
    这样设置之后,即使用户想要为该 App 开启精确定位权限,也无法开启。

    设置NSLocationDefaultAccuracyReduced 为 true 时位置授权弹窗

  • CLLocationAccuracy新增类型kCLLocationAccuracyReduced,已满足对位置不是很敏感的App的使用。

@available(iOS 14.0, *)
public let kCLLocationAccuracyReduced: CLLocationAccuracy

如果将CLLocationManager的desiredAccuracy属性设置为该值,则为响应startUpdatingLocation或requestLocation而传递给代理的位置的精度将降低。您收到的位置将与您的应用程序收到的位置相匹配,前提是用户决定不授予您的应用程序的精确位置授权

  • 需要注意的是,当 App 在 Background 模式下,如果并未获得精确位置授权,那么 Beacon 及其他位置敏感功能都将受到限制

4、相册权限

iOS14 新增了Limited Photo Library Access 模式,在授权弹窗中增加了 Select Photo 选项。用户可以在 App 请求调用相册时选择部分照片让 App 读取。从 App 的视⻆来看,你的相册里就只有这几张照片,App 无法得知其它照片的存在。

5、剪切板

  • 在 iOS14 中,读取用户剪切板的数据会弹出提示。


    341598511337_.pic.jpg
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • iOS14 的适配,很重要的一环就集中在和方面。 在 iOS13 及以前,当用户首次访问应用程序时,会被要求开放大...
    vicentwyh阅读 2,775评论 0 5
  • 开发中遇到的问题, iOS14已经发布,记录一下开发中遇到的问题.不定时更新,欢迎大家评论补充. iOS14适配总...
    香橙柚子阅读 8,597评论 20 44
  • 悄然而来的iOS14,没有罗列太多.在这里我们稍微了解一下需要做的更新. 适配1: Cell点击无效 在14上可能...
    coenen阅读 12,914评论 0 8
  • 1. 隐私适配 iOS14最重要的更新之一:用户隐私和安全。 (1) 广告标识符IDFA 广告标识符IDFA全称I...
    hazydream阅读 4,654评论 0 13
  • 黑色的海岛上悬着一轮又大又圆的明月,毫不嫌弃地把温柔的月色照在这寸草不生的小岛上。一个少年白衣白发,悠闲自如地倚坐...
    小水Vivian阅读 3,093评论 1 5