iOS13适配(部分问题,持续更新)

用作记录这次更新遇到的一些坑。目前有以下,持续更新:
蓝牙隐私权限
modal样式:modalPresentationStyle
(13.1.2上已修复)UIGestureRecognizer的delaysTouchesBegan与touchesBegan:
UITextField的UIKeyboardWillChangeFrameNotification通知
暂时不适配DarkMode的问题
关于UTI的一个小问题
待更新......


1. 蓝牙隐私权限

原本公司的app是请求了蓝牙权限Privacy - Bluetooth Peripheral Usage Description的,后来更新的时候也看到有这方面的问题但是没多想,结果就崩了。
解决:添加Privacy - Bluetooth Always Usage Description,而且老的还不能删貌似,否则iOS13以下的又不能用了。

2. modalPresentationStyle

其他分享里肯定也有说到这个,默认modal样式改了,需要手动设置对应的style,不过我发现了有两种说法:

// 说法一
self.modalPresentationStyle = UIModalPresentationOverFullScreen
// 说法二
self.modalPresentationStyle = UIModalPresentationFullScreen

目前知道的区别是选用UIModalPresentationOverFullScreen会导致dismiss以后前一个controller的viewWillAppear:不走。其他区别未深究。
解决:present控制器的时候添加x.modalPresentationStyle = UIModalPresentationFullScreen

3. (13.1.2上已修复)UIGestureRecognizer的delaysTouchesBegan与touchesBegan:

我有个view上同时添加了UITapGestureRecognizer和重写了touchesBegan:系列方法,之前为了防止tap的began与touchesBegan产生可能的冲突,我对手势的delaysTouchesBegan属性赋值了YES。在13之前没问题,但是在更新了13的设备上,总是先识别tap手势,只有在tap识别失败的时候才会调用touchesBegan:系列方法(虽然看苹果解释本来就是这样的,但是以前不会感觉有什么问题,而这次实测我手指触摸view手指都快抬起来了才走了touchesBegan),这样导致操作的时候看上去页面像卡住了一样。
我做了一些测试:

在iOS13上不注释delaysTouchesBegan:
a. 单次点击(期望是tap),tap被识别,触摸不被触发。
b. 触摸view,会先等tap手势识别失败,然后触发touches系列回调,等待手势失败的时间很长
在iOS13上注释delaysTouchesBegan:
a. 单次点击(期望是tap),会执行touchesBegan:touchesCancelled:和tap手势,并且触摸的began和tap同时执行,触摸的cancelled在began执行完后立即执行。
b. 触摸view,也是两种同时识别,touches正常执行,tap也如预期的失败
在iOS12上不注释delaysTouchesBegan:
a. 单次点击(期望是tap),如期。
b. 触摸view,跟上面的iOS13上的区别是等待时间很短

所以现在苹果也说一定要处理touchesCancelled:,原本我只期望在tap手势里执行的一些操作,现在由于touchesBegan-Cancelled也会走一遍,这个在我这里导致了一些问题,所以cancelled里要处理。

解决:我注释掉了delaysTouchesBegan,改在touchesCancelled:里处理操作。这个属性慎用,感觉苹果偷偷把时间延长了。

// tapGesture.delaysTouchesBegan = YES;
4. UITextField的UIKeyboardWillChangeFrameNotification通知

我有个页面有多个textField,在它们之间切换输入的时候,会多次收到UIKeyboardWillChangeFrameNotification,而13之前没这个问题,这个可能会导致布局上的问题。
连接手机调试的时候,在多个textField输入框之间快速来回点击,会出现CPU飙到95+的情况,观察到后面的banner都不滚动了,Time Profile里给出的信息:

屏幕快照 2019-09-24 14.48.47.png
但是单独手机打开app不会有这么明显的卡住的情况。

解决:关注一下键盘弹出收回操作时视图布局可能出现的问题。

5. 暂时不适配DarkMode的问题
  • 原本app里的某些文字颜色是自定义的一种深色,结果在设置了深色模式的设备上直接看不到了(应该是很浅的颜色?跟白色背景混一起了)。
  • 状态栏手动设置UIStatusBarStyleDefault的地方颜色会与期望的不一致
    解决:最好的解决办法当然是适配DarkMode了。对于暂时不适配的,我在info.plist里设置了User Interface Style = Light,然后在需要设置状态栏的地方分情况判断。
6. 关于UTI的一个小问题

app有自定义一个文件格式,原本conform topublic.content,在iOS13之前都没问题,在iOS13的设备上,从第三方app打开我这个自定义格式的文件,居然找不到我的app了,我怀疑是不是我原本对于public.content有哪里理解错了。
解决:自定义文件类型改成comforms topublic.data,现在看来没问题。

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

推荐阅读更多精彩内容