坑:
iOS 中对字符串进行 parser 成 URL 时,2个及以上的 # 会解析为空,如图:

image

图上URL前面部分完全相同,只是后面 # 个数不同;

一般而言,问题不大,因为 string 解析成 nil 的 URL,常见的问题是不跳转、网页不加载等。

但是如果遇到系统内部调用 LSAppLink 的情况,就会出现崩溃。

场景:
富文本中设置 Link 的 URL 包含上述情况时,点击(长按) Link 会进行 URL 的跳转,此时因为 String.length 不为空,最后进入到了 LSAppLink 的调用流程。估计系统内部没有对 URL 是否为 nil 进行判断,最后崩溃:

image

解决方案为,text 相关类中,添加 URLInteract 相关的代理方法,在里面进行判断,比如用 textView 展示富文本时的结局方案如下:

- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange {NSLog(@"url:%@",URL);if (URL.absoluteString.length) {return YES;}return NO;
}

http://www.taodudu.cc/news/show-1912782.html

相关文章:

  • WKWebview的内存问题
  • iOS中的锁和线程同步
  • semaphore的几种用法
  • 难道栈空间有缓存?
  • iOS实例、类、元类
  • id和instancetype
  • Advanced Graphics and Animations for iOS Apps
  • ivar和property
  • bound、frame、position、anchorPoint
  • Java、OC、C/C++中的null
  • iOS:Tagged Pointer
  • sqlite3源码调试
  • 红黑树、B树、B+树各自适用的场景
  • 动态库的隐式链接和显示链接
  • iOS:懒加载符号绑定流程
  • 汇编:call和jmp
  • code review的一些思考
  • iOS:fishhook原理分析
  • mach-O文件结构分析
  • 设备唯一标志的解决方案
  • iOS:主流启动优化方案浅析
  • iOS:segment对齐原则
  • HTTP缓存机制及其在iOS中的应用
  • iOS:SideTable
  • iOS:isa指针
  • iOS底层:PAGEZERO的作用
  • iOS图形学(三):屏幕成像原理
  • iOS图形学(四):iOS中的绘图框架
  • Java基础(一):简介和基础数据类型
  • Java基础(二):面向对象

iOS中的坑:URL不识别##相关推荐

  1. 微信小程序中,需要注意ios系统的坑: 日期不识别横杠“-”符、输入框设置maxlength时,拼音也会被限制……

    1.小程序ios端,日期不识别横杠"-"符 在开发小程序的项目中,对接口返回的时间格式,有时为"2021-03-20 11:28:50",前端对该格式转为时间戳 ...

  2. JavaScript中Date对象在IOS中的坑及解决方案

    踩坑记录: 使用vant-ui库中DatetimePicker 时间选择,初始化时间列表或者动态赋值选择时间项时IOS报错: [Vue warn]: Invalid prop: custom vali ...

  3. 研究笔记:iOS中使用WebViewProxy拦截URL请求

    本文为阿里iOS开发工程师阳翼所作. 先说明下iOS中加载url的正常流程: 1.客户端发送NSURLRequest给server 2.server返回对应的NSURLResponse 如果被WebV ...

  4. 防止在iOS设备中的Safari将数字识别为电话号码

    转:防止在iOS设备中的Safari将数字识别为电话号码 在测试中发现iPad上的Safari总会把长串数字识别为电话号码,文字变成蓝色,点击还会弹出菜单添加到通讯录. 别的地方倒也罢了,如果在用户名 ...

  5. [html] 怎样去除iOS和Android中的输入URL地址的控件条呢?

    [html] 怎样去除iOS和Android中的输入URL地址的控件条呢? setTimeout(scrollTo,0,0,0); 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚 ...

  6. 关于 iOS 中 new Date()的坑

    这个坑弄了我一上午,真的是醉了. 首先是一个H5页面,要在微信中推广,当我 new Date()的时候在iOS中就会出现Date无效,这就尴尬了,找了好多也没找到.一般标准时间都是YYYY-MM-DD ...

  7. 在vue项目中 使用swiper轮播图的关于 在ios中图片白边闪屏踩坑记录

    场景描述: 近日,接到一个需求,改善APP首页的布局,需要在顶部添加一个可滚动的栏目导航,以切换栏目然后切换栏目内容类似于唯品会目前的切换效果.如下图 问题描述: 在切换顶部栏目的时候,下面内容页的b ...

  8. ios闪屏问题 vue_VUE前端界面在iOS中遇到的坑

    前段时间,公司用前端做了一个微型图片生成界面,通过考虑,选择使用vue多页面进行编写,在界面编写完成之后,本地浏览器进行测试,发现一切都很顺利,然后嵌入到APP端进行联合测试.前期,界面在Androi ...

  9. 移动端(ios and android)长按识别二维码(含js与原生互调)

    这篇文章就整理下移动端长按识别二维码的实现吧!实现方式可以分为三种 一.长按原生控件,直接获取控件中的图片数据(src或background) 二.长按原生控件,截图识别 三.长按web中的图片,ap ...

  10. ios 中的小技巧 - 总有你想要的 一

    UITableView的Group样式下顶部空白处理 在viewWillAppear里面添加如下代码: //分组列表头部空白处理 CGRect frame = myTableView.tableHea ...

最新文章

  1. 不存在从node到node*的适当转换函数_C++中参数需要类型转换,请不要用成员函数...
  2. Word中样式更新的两种方法!
  3. 数据结构 — 哈希表
  4. JavaScript判断设备类型加载对应网页并设置两端通用事件
  5. 通俗的讲,这就是容器CPU隔离的底层实现机制
  6. 零基础编程入门基础语句!小白必点,大牛绕道!
  7. C#LeetCode刷题之#13-罗马数字转整数(Roman to Integer)
  8. Python安装常见问题:ModuleNotFoundError: No module named ‘_ctypes‘ 解决办法
  9. CDN选择合适的回源策略很重要
  10. python opencv 识别圆角矩形_OpenCV—Python 轮廓检测 绘出矩形框(findContours\ boundingRect\rectangle...
  11. 电脑电池,笔记本电脑
  12. lsdyna如何设置set中的node_list_Redis 系列教程(二)Redis中的五种数据类型
  13. 遥感影像波段与波段合成
  14. matlab曲面拟合的算法,用Matlab 实现移动曲面拟合法生成DEM
  15. 改善编程体验: IdeaVimExtension介绍
  16. 矿大2019年 微机原理与接口考试题型
  17. grid图片展示 jquery_jquery.gridrotator实现响应式图片展示画廊效果
  18. Android:进程运行中被收回权限
  19. 基于PHP大学生旧货交易网站
  20. MongoDB全版本下载地址

热门文章

  1. 并发编程的挑战——sychronized锁
  2. Strut2 annotation配置时action到另一个action跳转参数传递
  3. 分享一份非常强势的Android面试题
  4. Linux现在已主导Azure
  5. mysql 取字段内容的第一个字符并大写
  6. 对Runtime的理解
  7. Pepperl+Fuchs收购德国手持RFID设备提供商Ecom仪器
  8. windows程序设计-王
  9. 受宠的背后:安全市场面临重新洗牌
  10. Discuz!NT 系统架构分析(以前的)