
iOS
dengjiangszhan
终点开始
于此,梵高成了我最钟爱的英雄
牛逼,某一天
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
为什么要造一个 UILabel ?( 复习两丫技术 )
为什么要造一个 UILabel ?主要参照 YYKitYYKit 博大精深,就像少林武功原创 2022-07-19 18:26:31 · 438 阅读 · 0 评论 -
总结阅读器与直播的奇怪交互:复习双迪技术
进行一个阅读器项目的开发时,遇到了一个问题, 需要在点击绿色区域时弹出一个菜单,因此在该区域加了一个View,然而,当在这个区域滑动时,滑动手势被绿色区域拦截,手势无法传递到下面的 UIPageViewController 的 View 上...原创 2022-07-17 19:28:39 · 284 阅读 · 0 评论 -
野指针问题: 复习橙其技术
橙其第一篇,提高野指针的出现 crash 的概率因为野指针引起的崩溃,不是必现原创 2022-07-17 01:04:37 · 338 阅读 · 0 评论 -
iOS 灵活的 模块化 Lotusoot 的动态思路
组件化的要点,在于约定个人觉得例如,URL 路由的注册,就是把约定的信息,传过去。作为服务。原创 2022-07-15 02:52:18 · 326 阅读 · 0 评论 -
印象: Swift 指针
对照 Objective-C* swift 的 unsafeMutablePointer: OC 的 T ** swift 的 unsafePointer: OC 的 const T ** swift 的 unsafeRawPointer: OC 的 const void ** swift 的 unsafeMutableRawPointer: OC 的 void *原创 2022-06-14 17:23:48 · 414 阅读 · 0 评论 -
E 00 ,面试题答案
计算机网络对于大前端类,计算机网络主要考量的还是传输层和应用层部分的知识。浏览器输入url到网页显示经历了什么过程?浏览器会把 url 做,百分号编码,http 层发请求,tcp 层加上端口号,IP 层加上 ip 地址,走路由器,dns 解析,到达对方服务器,拿到 html js css 包,到达设备,通过设备号,找到浏览器,浏览器解析,渲染...原创 2022-05-30 17:04:27 · 151 阅读 · 0 评论 -
OC 编译: symbol stub
symbol stub符号打桩把我们的应用程序,编译成汇编代码,执行外部库的函数,就成了跳转地址 ( symbol stub )原创 2022-05-16 00:40:45 · 458 阅读 · 0 评论 -
OC 实例对象:
OC 实例对象,是objc_object , 8 字节objc_object 持有 class 的 isaSwift 的 class 实例,16 字节,有一个 8 字节的 metadata,多了一个 8 字节的 refcount 的指针原创 2022-05-16 00:01:25 · 309 阅读 · 0 评论 -
IM 开发常识
一般有一个置顶联系人的功能( 置顶会话 )原创 2022-03-29 21:23:31 · 1480 阅读 · 0 评论 -
云信公屏与私聊
私聊消息,比较公屏消息,相对简单。分为文本, 图片,与动图商店的 emoji 和 gif, 礼物和宝箱。不需要携带用户个人基础资料普通文字聊天,来源用户输入使用云信自带消息同云信文档String text = "this is an example";// 创建一个文本消息IMMessage textMessage = MessageBuilder.createTextMessage(account, sessionType, text);图片消息 ,来源用户相机、相册使用云信自带原创 2022-03-28 19:12:54 · 5368 阅读 · 0 评论 -
后端不成熟的设计
后端,不理解业务贵族专属 、 购买、续期,这些具有唯一性,给一个类型数字,就好了结果,后端不成熟,给什么,是不是贵族,买了没有七七八八 { buyCount = 10; coin = 0; expireDate = 0; expireDay = 7; img = ""; isBuy = 1; isUse = 1; name = "\U5e78\U8fd0\原创 2022-03-24 12:03:11 · 2532 阅读 · 0 评论 -
Xcode umbrella framework
So what is an umbrella framework? Why is it used?Umbrella frameworks are frameworks which contain frameworks within. This can be used in several situations.When you are developing a custom network class which require a different parsing logicor need to原创 2022-03-22 21:57:53 · 2968 阅读 · 0 评论 -
语音房开发简单总结
语音房开发, 这里使用的是声网和网易云信声网提供连麦的功能,网易云信处理消息的同步1, 待验证1.1 加入房间注册好网易云信,再去注册声网的服务 let request = NIMChatroomEnterRequest() // NIMSDK.shared().chatroomManager.enterChatroom(request) { error, chat原创 2022-02-27 03:43:47 · 1099 阅读 · 1 评论 -
iOS 方面的代码混淆技巧
1, 类名混淆2, 方法混淆3, 混淆资源名、混淆资源hash值4, 翻新项目UUID5, 属性混淆原创 2022-02-10 21:05:49 · 1416 阅读 · 0 评论 -
飘屏,IM 动画队列的简单例子
简单介绍:IM 应用中,动画的成分比较重,例如: 秀场应用打赏主播,为了体现土豪,需要来一个游艇动画因为秀场里面的动画,使用户驱动的。用户送了礼物,就得播放动画效果。先送,先播放,体现了队列的特性本文介绍,屏幕上的飘屏动画例如,游戏获奖等本文来一个,简单的 demo,留言飘屏类似弹幕,比弹幕简单并,有些不同基本实现: 分为动画视图,和动画队列视图1, 动画视图 , FloatingView动画, 从左往右拉,动画使用 CAKeyframeAnim原创 2022-01-27 02:11:30 · 2229 阅读 · 0 评论 -
svga 学习
svga 播放https://www.xahhty.cn/原创 2022-01-26 19:02:39 · 400 阅读 · 0 评论 -
TDD 的威力
1, 之于无法复现的 bug通过查看源代码,根本上,杜绝相关的可能性2, 任意切换流程对于流程的组成环节,非常熟悉原创 2022-01-21 22:21:26 · 1292 阅读 · 0 评论 -
iOS 图片处理学习: 实现点九切图
先来一个例子: 一张图片,保留中间, 拉伸两边看效果原始图片easy处理后调用代码 view.backgroundColor = UIColor.white let imgViewWidth: CGFloat = 300 let imgView = UIImageView(frame: CGRect(origin: CGPoint(x: 50, y:原创 2022-01-19 04:03:27 · 2928 阅读 · 0 评论 -
git 撤销 commit , 作为新的提交
git 撤销 commit , 作为新的提交不影响原本的历史Reverting a merge commitgit revert -m 1 <merge_commit_sha>舍弃,好久以前的一条 commit逆转一次git revert -m 1 21183How do I revert a Git repository to a previous commit?...原创 2021-12-31 16:44:24 · 426 阅读 · 0 评论 -
IM 自定制的思路:例子是 NIMKit 的源码
发消息,有发送的触发界面,一般是输入框,及相关按钮有展示消息的列表NIMKit 设计挺好的面向协议,结构上的便于替换本文主要探讨,展示消息IM 自定制,一般的理解是自定义消息,分为数据和界面,两部分自定义消息的数据结构// 自定义消息解析NIMCustomObject.registerCustomDecoder(IMMsgDecoder())自定义消息的界面我们看到的聊天记录,就是一个消息列表 , UITableView// 布局管理器NIMKit.shar.原创 2021-12-26 02:23:03 · 711 阅读 · 0 评论 -
WKWebView 修改 HTML ,稍微有点技术含量
WKWebView 修改 HTML 界面元素,很简单就是加载完网页后,func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!)调用方法,webView.evaluateJavaScript(script) { result, error in }执行下脚本,拿到元素window.document.querySelector("#root > div > div.top > div:nt原创 2021-12-21 19:44:57 · 807 阅读 · 0 评论 -
WKWebView 的简单知识:修改 dom
1, 修改 dom, 隐藏元素场景描述:iOS 的 UINavigation Controller 导航到一个 Controller , 里面是 H5决定采用 Navigation Bar 上面的返回按钮,抹去 H5 自带的返回按钮解决: 注入脚本,配置 css相关脚本:var styleTag = document.createElement("style");styleTag.textContent = 'element.class{display:none;}';document原创 2021-12-21 12:14:09 · 591 阅读 · 0 评论 -
Mac 进程,端口嗅探技术
Mac 进程,端口嗅探技术原创 2021-11-26 00:10:18 · 324 阅读 · 0 评论 -
Android Studio 常用操作
原创 2021-11-25 20:44:10 · 1469 阅读 · 0 评论 -
WKWebView 的 url 技术
URL这样不成,myURL 真的为 nil可能因为,字符串里面含有空格var one = "https://www.sobot.com/chat/h5/v2/index.html?sysnum=hahaha&remark=uid: 8660009 ,男," // guard let one = one else{fatalError()} let myURL = URL(string: one) if var destination = my原创 2021-11-25 00:13:51 · 1305 阅读 · 0 评论 -
iOS 数据解析,困难
安卓这样搞Android:public static String decompress(String data) throws UnsupportedEncodingException { String decodeTmp = URLDecoder.decode(data, "ISO-8859-1"); return decompress(decodeTmp, "ISO-8859-1"); }怎样转化为 iOS ?...原创 2021-11-19 20:45:45 · 1219 阅读 · 0 评论 -
语音房间实现的一种方式
语音房间,通过声网,来实现聊天室语音房token , 虽然是通过服务端下发,也可以写为固定token, 写成 “”具体的房间,通过 app id 和 room id ,来匹配到来 match声网,安卓的 app id, 和 iOS 的, 一致user id , 对声网,不重要uiduser id , 对我的业务,重要user id , 对声网,只是用来,做一个用户区分一个用户,加入了,某一个房间,声网记录下,当这个用户,重复加入原创 2021-11-19 17:42:09 · 3358 阅读 · 0 评论 -
设计模式,结构型,桥接模式
设计模式,结构型,桥接模式bridge pattern我的理解,面向接口,面向协议,( 协议规定具体的功能 )而不是,面向实现具体的类这样,替换方便config提供满足 protocol的 imp 类的对象,去办事情...原创 2021-11-16 13:20:02 · 264 阅读 · 0 评论 -
网易云信,修改会话界面布局
这个是, 关键类@interface NIMSessionLayoutImpl@interface NIMSessionInteractorImp文件的- (void)resetLayout{ [self.layout resetLayout];}@interface NIMSessionLayoutImpl()文件的- (void)adjustTableView{原创 2021-11-15 19:01:55 · 315 阅读 · 0 评论 -
继承的重要性,在于协作
我和同事使用,网易云信同事直接使用网易云信, std 控制器我需要使用网易云信, std 控制器原创 2021-11-15 18:54:15 · 224 阅读 · 0 评论 -
网易云信 UI 开发
@interface NIMSessionViewController ()<NIMMediaManagerDelegate, ChatInputDelegate>没有直接引入,他的头文件,通过#import “NIMSessionConfigurator.h”来间接导入原创 2021-11-15 17:53:20 · 315 阅读 · 0 评论 -
声网 demo 中的 RxSwift 代码
func dismiss(controller: BaseViewContoller) { controller.dismiss(dialog: self) .subscribe() .disposed(by: disposeBag) }这里的.subscribe()建立订阅,啥事不做这里的.subscribe()等价于 .subscribe(onNext: { .原创 2021-11-15 13:19:24 · 433 阅读 · 0 评论 -
网易云信的自定义消息开发
自定义消息开发:1, 自定义消息的附件2, 自定义消息的解析器原创 2021-11-14 17:04:22 · 726 阅读 · 2 评论 -
声网的实例代码 iOS 配置
声网的实例代码 iOS 配置报错:Error: subscribe1 MEMBER error:LCError(code: 119, reason: "该操作已被禁止,请变更应用选项『启用 LiveQuery』。")原创 2021-11-13 15:11:07 · 835 阅读 · 0 评论 -
苹果个人开发者账号,的协同
苹果的公司级开发者账号,拉人,给权限,就完了苹果的个人级开发者账号,拉人,给权限,还不够需要,那个账号,登一下,协同开发者的 Xcode才能 run 起来Charles 的作用,1, 抓包,看数据2, 手机浪出去的需要充分得到,同事的认可,最重要( 就是,充分尊重同事 )...原创 2021-11-08 19:53:10 · 290 阅读 · 0 评论 -
Texture 安装 cocoapods
Texture 安装 cocoapodsTexture.podspecspec.subspec 'PINRemoteImage' do |pin| pin.dependency 'PINRemoteImage/iOS', '~> 3.0.0' pin.dependency 'PINRemoteImage/PINCache' pin.dependency 'Texture/Core' end原创 2021-11-04 09:33:06 · 137 阅读 · 0 评论 -
cocoaPods 查看当前源
cocoaPods 查看当前源➜ ASCollectionView pod repomaster- Type: git (remotes/origin/master)- URL: https://gitee.com/mirrors/CocoaPods-Specs.git原创 2021-11-04 00:43:46 · 1236 阅读 · 0 评论 -
RN 安装 pod install boost 1.76.0
RN 安装 pod install 1.76.0非常的慢DNS 大法好修改 DNS8.8.8.8 真是有毒啊可参考DNS 外RN 项目启动,RCT-Folly 这个库的问题出现重复time.h 文件中, 注意 __IPHONE_12_0改#if MACH && ((!defined(TARGET_OS_OSX) || TARGET_OS_OS原创 2021-11-03 09:55:50 · 2085 阅读 · 4 评论 -
RN pod boost 怀疑人生
pod 下载分析:➜ ios pod install --verbose-> Installing boost (1.76.0) > Http download $ /usr/bin/curl -f -L -o /var/folders/_v/2vxf79x96vz29nyx53kr43200000gn/T/d20211102-1473-1ny6mww/file.tbz https://boostorg.jfrog.io/artifactory/main/release/原创 2021-11-02 16:17:20 · 1325 阅读 · 1 评论 -
React native 安装困难
➜ 111 npx react-native init MyApp --template react-native-template-typescript✔ Processing template✖ Installing dependencieserror Error: Command failed: yarn installerror Couldn't find package "domexception@^2.0.1" required by "jsdom@^16.4.0" on the原创 2021-11-02 15:12:35 · 759 阅读 · 0 评论