iOSBlog icon indicating copy to clipboard operation
iOSBlog copied to clipboard

微博@iOS程序犭袁 的blog

Results 29 iOSBlog issues
Sort by recently updated
recently updated
newest added

![](https://tva1.sinaimg.cn/large/007S8ZIlly1gem5xwp0rpj31k40m1jw2.jpg) 根据 @iTeaTime(技术清谈) 群里的反馈将最近 UIWebView API 被拒情况汇总一下,希望对大家上架有帮助 2020-05-09 13:15:54更新: UIWebView API 被拒情况汇总: - 新APP上架 (v1.0) 有 UIWebView API 机审不通过 移除包含 UIWebView API 的SDK 重新上传上架成功 - 老APP迭代 (比如从v1,0到v2.0) 上一版本(v1.0) 有 UIWebView...

![](https://tva1.sinaimg.cn/large/007S8ZIlly1gelg6tmz98j31k40m8q6s.jpg) 基于 Web 的IDE(下文简称 WebIDE )的确方便不少,但仅仅限于前端应用里的简单场景,复杂场景并不适合。更不可能取代 VSCode 等桌面IDE,别听风就是雨。 如果有一天 WebIDE 完全取代 VSCode 等桌面 IDE 真的发生了,我们至少还需要几代人的时间来实现,很明显我们现在还是第一代(史称前浪)。 ### WebIDE 的优点 首先 WebIDE 很有用,毋庸置疑。好处比如: 1) 没有跨机同步的麻烦。可以在云存储和本地存储之间无缝同步。 2) 不需要安装工具链来工作或恢复工作--只需要一个浏览器和一个连接就可以了。浏览器无疑是现在普及率最高,并且支持最好的、功能最丰富的GUI工具箱之一。 3) 易于团队合作,在线开发环境一致。 4) 易于部署。 5)...

# iOS 防 DNS 污染方案调研 --- Cookie 业务场景 对应的GitHub仓库镜像地址在[这里](https://github.com/ChenYilong/iOSBlog/blob/master/Tips/DNS污染方案调研/iOS防DNS污染方案调研---Cookie业务场景.md) ,欢迎提PR进行修改。 ## 概述 本文将讨论下类似这样的问题: - WKWebView 对于 Cookie 的管理一直是它的短板,那么 iOS11 是否有改进,如果有,如何利用这样的改进? - 采用 IP 直连方案后,服务端返回的 Cookie 里的 Domain 字段也会使用 IP 。如果...

note

![](https://tva1.sinaimg.cn/large/007S8ZIlly1ge1s6euyxoj31hc0u0gm1.jpg) 开篇先给大家讲个冷笑话, 暖场一下: ![](https://tva1.sinaimg.cn/large/007S8ZIlly1ge1tvw7r8cj30pt0nv76y.jpg) 下面正式开始吧. ## 进制基础 在网上找到一个讲进制讲得比较清楚的视频, 分享给大家. [视频地址 ]( https://mp.weixin.qq.com/s/Ocgwn9T7bqJeuWT8NZtd6g "") 分几个章节: ```Java ./ ├── 01_进制基础知识 ├── 02_R进制到十进制的转换 ├── 03_十进制到R进制的转换 ├── 04_进制间的快速转换 ├── 05_Java内置的进制转换 ├── 06_有符号数据表示法 ├── 07_强制转换之数据溢出...

# IM 即时通讯技术在多应用场景下的技术实现,以及性能调优(iOS视角) 演讲视频(上下两部,时长将近2个半小时)以及 PPT 下载:链接: http://pan.baidu.com/s/1i5oH6LZ 密码: 4ayq 2016年9月份[我](https://github.com/ChenYilong)参加了 MDCC2016(中国移动开发者大会), ![2016年9月份我参加了 MDCC2016(中国移动开发者大会)](http://ww2.sinaimg.cn/large/006tNbRwjw1f9bkx4tiuqj30qo0zk0vd.jpg) 在 MDCC2016 上我做了关于 IM 相关分享,会上因为有50分钟的时间限制 ,所以有很多东西都没有展开,这篇是演讲稿的博文版本,比会上讲得更为详细。有些演讲时一笔带过的部分,在文中就可以展开讲讲。 ![图为我正在演讲](http://ww4.sinaimg.cn/large/006tNbRwjw1f9bkx4u3oqj30qo0zkq4h.jpg) 注: - 本文中所涉及到的所有 iOS 端相关代码,均已100%开源(不存在 framework ),便于学习参考。 - 本文侧重移动端的设计与实现,会展开讲,服务端仅仅属于概述,不展开。 -...

note

博客文章 - [前言](#%E5%89%8D%E8%A8%80) - [实现原理](#%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86) - [优化:降低50%以上误报机率](#%E4%BC%98%E5%8C%96%E9%99%8D%E4%BD%8E50%25%E4%BB%A5%E4%B8%8A%E8%AF%AF%E6%8A%A5%E6%9C%BA%E7%8E%87) - [对原有API设计的几点优化意见](#%E5%AF%B9%E5%8E%9F%E6%9C%89api%E8%AE%BE%E8%AE%A1%E7%9A%84%E5%87%A0%E7%82%B9%E4%BC%98%E5%8C%96%E6%84%8F%E8%A7%81) - [1. 机制状态应当用枚举来做为API透出](#1-%E6%9C%BA%E5%88%B6%E7%8A%B6%E6%80%81%E5%BA%94%E5%BD%93%E7%94%A8%E6%9E%9A%E4%B8%BE%E6%9D%A5%E5%81%9A%E4%B8%BAapi%E9%80%8F%E5%87%BA) - [2. 关键数值应当做为初始化参数供用户设置](#2-%E5%85%B3%E9%94%AE%E6%95%B0%E5%80%BC%E5%BA%94%E5%BD%93%E5%81%9A%E4%B8%BA%E5%88%9D%E5%A7%8B%E5%8C%96%E5%8F%82%E6%95%B0%E4%BE%9B%E7%94%A8%E6%88%B7%E8%AE%BE%E7%BD%AE) - [3. 修复、上报逻辑应当支持用户异步操作](#3-%E4%BF%AE%E5%A4%8D%E4%B8%8A%E6%8A%A5%E9%80%BB%E8%BE%91%E5%BA%94%E5%BD%93%E6%94%AF%E6%8C%81%E7%94%A8%E6%88%B7%E5%BC%82%E6%AD%A5%E6%93%8D%E4%BD%9C) - [什么时候会出现该异常?](#%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E4%BC%9A%E5%87%BA%E7%8E%B0%E8%AF%A5%E5%BC%82%E5%B8%B8) - [连续启动 crash 自修复技术实现与原理解析](#%E8%BF%9E%E7%BB%AD%E5%90%AF%E5%8A%A8-crash-%E8%87%AA%E4%BF%AE%E5%A4%8D%E6%8A%80%E6%9C%AF%E5%AE%9E%E7%8E%B0%E4%B8%8E%E5%8E%9F%E7%90%86%E8%A7%A3%E6%9E%90) ## 前言 > 如果 app 连续...

note

-------------------------------------------- -------------------------------------------- 【使用 Heap-Stack Dance 替代 Weak-Strong Dance,优雅避开循环引用】Weak-Strong Dance这一最佳实践的原理已经被讲烂了,开发者对该写法已经烂熟于心。有相当一部分开发者是不理解 Weak-Strong Dance 的原理,但却写得很溜,即使没必要加 `strongSelf` 的场景下也会添加上 `strongSelf`。没错,这样做,总是没错。 有没有想过从API层面简化一下? 介绍下我的做法: 为 block 多加一个参数,也就是 self 所属类型的参数,那么在 block 内部,该参数就会和 `strongSelf` 的效果一致。同时你也可以不写 `weakSelf`,直接使用使用该参数(作用等同于直接使用 `strongSelf` )。这样就达到了:“多加一个参数,省掉两行代码”的效果。原理就是利用了“参数”的特性:参数是存放在栈中的(或寄存器中),系统负责回收,开发者无需关心。因为解决问题的思路是:将 block...

note

-------------------------------------------- -------------------------------------------- ## 前言 在开发中 `unrecognized selector sent to instance XXXXX` 是非常常见的 crash 类型。 例如调用以下一段代码就会产生crash ```Objective-C [[NSNull null] performSelector:@selector(fooDoesNotRecognizeSelector1)]; ``` 具体 crash 时的表现见下: ```Objective-C 2018-01-11 16:28:04.433573+0800 CYLSwizzleMainDemo[13252:156773356] -[NSNull fooDoesNotRecognizeSelector1]: unrecognized...

note

源地址:https://www.weibo.com/1692391497/Hkpc4iStj 《如何让 Xcode10 与模拟器同时进入分屏模式》因为模拟器默认不支持全屏,所以没法跟 Xcode 一起分屏,断点时候屏幕跳来跳去就很烦,不过下面的操作可以开启模拟器的全屏支持。 Xcode9 上分屏模式的命令,在 Xcode10 上已经不奏效了,原因跟显示器没关系。在 Xcode10 上必须要先禁用系统的 SIP 功能才可以实现。 所以这个 feature 应该是Apple的 A/B-Testing,估计会在将来放开。 视频里演示了步骤。Apple 在 Xcode10 去掉了 Xcode9 上隐藏菜单 Internal 和手动开启模拟器分屏选项的显示,但按照视频这个操作可以自动开启分屏模式。用到的命令按顺序分别是: $ csrutil disable $...

note

# iOS 防 DNS 污染方案调研 --- 302等 URL 重定向业务场景 ## 概述 302等 URL 重定向业务场景需要解决的问题: 302 等重定向状态码,如何正确执行跳转逻辑,要求跳转后,依然需要执行 IP 直连逻辑,多次302,也能覆盖到。 302等 URL 重定向业务场景问题主要集中在 POST 请求上,解决方案的方向大致有几种: - 将请求方式统一替换为 GET - 解决 POST 请求时的重定向问题...

note