- 博客(79)
- 资源 (3)
- 收藏
- 关注
原创 Mac 记录之 终端隧道配置
配置环境支持(开启VPN, 确认端口)终端配置Bash查看配置文件vim ~/.bash_profile文件末尾添加代理服务器信息 # proxy (1080为上方sock端口号,请根据各自设备填写) alias proxy='export all_proxy=socks5://127.0.0.1:1080' alias unproxy='unset all_proxy'重置配置 source ~/.bash_profilezsh终端查看配置文件vim ~/.zs
2020-11-30 13:56:46
1816
原创 Mac 记录之 Homebrew换源
问题国内环境使用Homebrew安装软件很慢或者说卡死在Updating homebrew步骤,如下:Updating Homebrew .. #速度很慢或者说卡死方法更新三个关键仓库地址为Alibaba提供的地址brew.githomebrew-core.githomebrew-bottlesbrew.git 替换/还原# 替换成阿里巴巴的 brew.git 仓库地址:cd "$(brew --repo)"git remote set-url origin https://mi
2020-11-30 13:41:57
454
原创 Shell 学习之 语法
概述整个语法体系语法Shell 变量命名规则字母数字下划线(首字母不能用数字)不能使用标点符号前缀不能用$符号($符号在shell中代表使用的意思)不能使用bash中关键字中间不能有空格,可以使用_(下划线)变量使用# 1 格式:${变量名} # (其他格式不推荐)# 2 可以二次定义同一变量名,即:Myurl="dddd"Myurl="aaaa" # 这中形式合法# 3 只读限制readonly Myurl="dddd"# 等同于Myurl="dddd"
2020-10-26 19:50:31
275
原创 Shell 学习之 概述
概述遇到技术瓶颈了,玩玩其它有意思的东西… Shell(Shell script)记录1 Shell是什么Shell 是用C语言实现的程序,Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。2 Shell Script 是什么Shell 脚本(shell script),是一种为 shell 编写的脚本程序。3 Hello World#!/bin/bashecho "hello world
2020-09-30 17:16:39
175
原创 iOS 认识之 应用内评分
阐述记得很久之前,应用刷榜还是挺火的,高榜意味着高流量,最近苹果对这块抓的有点紧了,大家只能找招来满足这部分需求,应用内评分则是很好一招。调研使用场景:无需离开APP即可执行打分和评论操作。限制: 1标准化提示最多在 365 天内使用三次 2 iOS 10.3+开发使用 StoreKit 中 SKStoreReviewControlleriOS10.3之前的则需要根据产品方案设定注意:1 开发模式下,调用此方法,可以...
2020-08-31 19:46:26
794
原创 WARNING 处理之 <PBXResourcesBuildPhase UUID=...> attempted to initialise an object with an unknown UUID
闲言从北京到上海着实适应了不少时间,“放纵”了半年,也应该重拾自己的笔头了。勿意他人,心安即可。简单记录点东西吧...现象团队合入代码并执行pod install 的时候,如果之前有成员合入不当,会出现 <PBXResourcesBuildPhase UUID=...> attemp … WARNING, 这着实让人难受。解决产生这个原因其实是Pod资源合入紊乱, 即成员B本地安装Pod B的时候(无感知成员A更新),另外成员A引入了 Pod A并提到了仓库中,此..
2020-07-31 22:03:13
752
原创 iOS 认识之 Git拔高篇
简述认识-身份证(用户信息)git config user.name --globalgit config user.email --global帮助系统跟踪是谁做的修改和提交 配置用户名和用户邮箱 一般作用是配置后续对仓库提交时带上的备注信息配置文件的作用域1 local 针对某一个仓库, 若是Git指令带修饰符 --local 则必须,则当前环...
2019-12-31 22:01:24
122
原创 iOS 记录之 Swift协议可选方法(多环境)
阐述新公司,新层次,接触到新的东西。进入喜马后,由于主站APP与当前APP技术基础不太一致,故代码从设计时就需要考虑同时支持两种环境(Objective-C与Swift)。之前呢,只是单纯为指定环境开发,如在Swift环境下以Swift为主设计并封装代码。一般来说也就是说单纯使用 Swift 的 Protocol 进行相互的约定。现在则需要考虑一下,如何反相支持Objective-C了。...
2019-11-30 16:07:25
497
原创 iOS 认识之 defer关键词 (梗概)
阐述一句话概括: defer包裹的代码会在函数return之前执行。(无论函数是从哪个分支return, 或 throw, 或自然执行到最后一行)认知1 使用场景1-1 do-catch 结构a defer在do-catch结构中的do代码块中,defer会在do代码块执行完就执行defer代码b defer在do-catch结构中的do代码块外,defer会在函...
2019-10-31 22:08:12
329
原创 Mac 记录之 WiFi图标卡死
阐述macOS Mojave 最近抽风似的不断弹出“获取定位权限”弹窗,关掉之后继续弹出来,不厌其烦…索性在系统设置中将所有需要定位权限的应用关掉,弹窗没有再出来,不过出现了一个大问题。每当MacBook Pro 从盒盖状态唤醒至正常Finder桌面下,电脑WiFi竟然不好使了…最可恶的是鼠标点击上方WiFi图标时,系统提示 SystemUIServer 卡死…What ...
2019-09-29 18:49:32
1121
原创 iOS 探讨之 设置文件iCloud不同步
阐述从业务层次来说,每个人都希望给用户提供更快更好的产品。由此,研发过程中会涉及到缓存这一技术。对于客户端研发来说,缓存写入沙盒后需要考虑的不简单是CRUD,还应包括缓存的安全性,这一点在用户信息上尤为突出。缓存安全性一方面可以从数据加密角度处理,另一方面可以从限制数据获取渠道角度处理。探讨由于iOS系统自带iCloud同步功能,沙盒中的文件默认又是开启iCloud同步能力的,所以从限...
2019-08-30 11:40:24
1238
原创 iOS 记录之 CGContext 透明背景
阐述大部分业务情形下UI设计师会指定控件的背景颜色,但为了更好的封装,开发的时候往往将背景调整为透明以便适配更多的场景。一般情况使用UIView简单叠加封装方式对调整颜色并不具有多大的难度,但在使用 CGContext 自定义控件时,调整背景还是有些“小坑”,这里记录一下相关的注意事项。记录1 背景通常我们使用 CGContext 自定义控件时,会使用 .setFillColor ...
2019-07-28 11:01:43
1733
原创 iOS 记录之 获取网络类型 (2G、3G、4G、WIFI)
阐述One Team,One Style。 新产品团队着实让我们费了老大劲,有些东西看似简单,但真正实现下来还是需要下一番功夫。此版本搞了一个阅读状态器,里面包含电池信息、网络类型等设备相关信息。网络类型蜂窝相关的如果不细拆分 (2G、3G、4G) 则感觉并不那么费劲,毕竟官方已经给出了相关Demo。不过,在产品团队要求下还是做精做细,故记录一下整个功能探坑历程。记录0 调研Sch...
2019-06-29 18:12:05
1552
原创 Xcode 配件之 InjectionIII
阐述现有项目体量有点庞大,每次Run都可以边浏览新闻边享受一杯浓浓的Coffee。想过分主体开发,但现有的模式改动成本有点大,版本迭代周期短,先寻求额外的插件来稍微弥补一下即可。在浏览戴铭大师的专栏时,看到一个方案,实践并记录一下。实验1 环境macOS Mojave 10.14.5 + Xcode 10.22 移植2-1 安装 InjectionIII...
2019-05-27 15:19:55
687
原创 iOS 探讨之 UIButton State 神坑
简述对于一些平常不太关注的事情来说,我们认为其的发生是理所当然,当问题蹦出后,“我靠( ‵o′)凸,按道理不应该这样啊 ~ ” 随之而出。这次,我就被 UIButton 的 State 狠狠调戏了一番。探讨初次认知 UIButton 的时候我就会被其的各种状态折磨得头昏脑涨,后来随着见面次数的增加,慢慢了解到其的状态实际上是位的枚举集合。那么,首先我们来瞜一眼苹果官方D...
2019-04-30 15:25:15
1368
原创 iOS 探讨之 dispatch_source 定时器
阐述前面已经介绍 CADisplayLink、mach_absolute_time 都可以在定时这块进行封装,当然NSTimer也是可以的,这次我就梳理一下dispatch_source 版本的定时。NSTimer 受 RunLoop 的影响, 由于 RunLoop 需要处理很多任务,所以其精度不高。 CADisplayLink精度低的原因类似,具体原因放在最后解释。如果我们对定时器...
2019-03-26 20:23:38
2263
原创 iOS 记录之 isExclusiveTouch
阐述梳理现公司代码时发现 isExclusiveTouch 出现很多次,但是对其不是很熟悉,学习并记录一下。 记录1 官方介绍A Boolean value that indicates whether the receiver handles touch events exclusively.Setting this property to true causes ...
2019-02-25 19:42:45
2196
原创 iOS 探讨之 mach_absolute_time
阐述去年在与大厂的交手中,碰到了如何测量函数耗时这类的问题。最近正好有点空余时间供我研究并整理它们,希望这次整理出的东西能给大家带来一点帮助。 探讨测量函数耗时所用的方法有很多种,这次我们先来介绍 mach_absolute_time() 相关。 什么是Mach?Mach是一个用于支持操作系统研究的操作系统内核,后来被开发成UNIX中BSD的替代内核。Mach名称野...
2019-01-28 16:29:14
2944
原创 iOS 探讨之 初探SiriKit
阐述最近研究了一下SiriKit,感觉有点意思,记录并与大家探讨一下。工欲善其事必先利其器,在研究SiriKit模块时苹果官方介绍通篇充斥着Intent、Resolve、Confirm等词汇,让英语未过六级的我感到无比吃力。感觉词汇还是有必要给大家介绍一下,顺便统一单词说法以便大家能够看懂后续内容。 词汇确认: (箭头后为文章所用含义)Intent 意...
2018-12-17 11:13:46
2693
原创 iOS 记录之 通过 Apple Configurator 截取IPA包
阐述很早之前我们可以通过 iTunes Store 来直接获取程序IPA包,但最近 iTunes Store 不再提供获取程序IPA包的能力了。一番努力寻找后,发现可以通过 Apple Configurator 软件来间接获取程序IPA包,下面是对应的步骤。 记录原理利用 Apple Configurator 具有更新手机软件的功能,在程序下载完毕并准备更新的时候进行程序I...
2018-11-26 16:36:09
1262
原创 iOS 探讨之 CADisplayLink
概述“金九银十”,九月底我选择离开待了四年的公司。在与一些大厂的“交手”中,发现自己的确忽略了很多点。从这个月开始,逐步的把那些点一一补充完整。Let’s get it。 探讨1 Overview官方话: 一个定时对象,该对象同步当前应用的渲染刷新频率。(人话就是设备屏幕每刷新一次,该对象绑定的方法就会调用一次) 2 上下文与渲染相关的类 CADis...
2018-10-29 14:24:24
831
原创 ERROR 处理之 Xcode 10 项目迁移 Multiple commands produce...
现象对于创立于Xcode10版本前的项目,在环境升级到Xcode10后,会出现"Multiple commands produce..." 的错误。 现象如下: 处理重新设置当前项目工作空间(Workspace)的编译选项(Build System),选择之前开发环境所遗留的编译系统(Legacy Build System)。Step 1 - 在ToolBar上依次点击 F...
2018-09-25 09:24:55
1427
原创 iOS 填坑之 WKWebView字体自适应
阐述WKWebView作为“新来”的则必然代表它有些“特殊”,这次我们先不讨论它俩的区别,我们来适配一下WKWebView所展示内容。最近搞了一个产品,因合同条款后期需要动态修改,故用了一个链接来实现。但问题也就随之而来,加载出来的文字大小与在浏览器选择手机模式时的不一致。故网上寻求解决方法并填之。 记录群众推荐的方法1 让前端小哥添加在前端小哥忙碌的时候,你是...
2018-08-31 09:21:53
3770
原创 iOS 记录之 math.h
阐述研究绘图时才发现,math.h中的好多函数没有了解过,借着这个机会梳理一下。 记录1 宏定义#define INFINITY HUGE_VALF无穷 2 三角函数三角函数已经忘记差不多,基本知识复习一下 正弦函数 余弦函数 正切函数 反正弦函数 反余弦函数 反正切函数 ...
2018-07-31 12:04:50
540
原创 iOS 探讨之 代码混淆
阐述没有绝对安全的系统,也没有黑客破不掉的系统,所需要的只是时间而已… But,当时间成本大于收益成本,聪明人是不会进行尝试。为了所谓的“相对安全”,研究代码混淆也是必要的。探讨Step 1创建 confuse.sh、 func.list终端(Terminal)可以键入touch confuse.shtouch func.shStep 2将 confuse.sh 、func.list 添加到工程中...
2018-06-29 09:43:14
1204
原创 ERROR 处理之 Couldn't communicate with a helper application.
阐述闲来无事,感觉电脑有点点卡卡的,于是乎CleanMyMac就上场了。But ~ 清理完后 Xcode 运行项目弹出 “Couldn’t communicate with a helper application.”,各种不能执行啊。处理尝试一根据多年被苹果坑的经验,哪出问题就强制关闭并重启哪个软件… 但是这一次不太好使 ==。==尝试二谷哥哥和度娘上弥漫着如下的方案,试一下吧终端(Termin...
2018-05-31 15:04:25
5483
原创 iOS 记录之 寻找dSYMs
阐述随着Xcode版本的不断迭代,一些常规操作变得难道找寻,这次我们来确认 Xcode 9.3下的 dSYM找寻。记录总所周知dSYM是系统编译后的函数信息符号表,每次Archive都对应着不同的文件,而这些文件是我们在处理产品线上崩溃时所使用到的。也就是说dSYM的相关配置是存在于Xcode开发环境中的,那么我们就需要了解它这些的“控制开关”。相关配置Xcode 的 Build Settings...
2018-04-30 10:20:36
2269
原创 iOS 探讨之 "最后的挽留" - 消息转发
阐述在被虐中向前一点一点前进着…这是最近的概况。有个问题一直没能静下心来研究它,最近被它狠狠地往心口里刺了几下,故狠下心来解析它 --- 消息转发(最后的挽留)。
2018-03-31 19:37:16
215
原创 iOS 探讨之 ObjC类初始化
阐述近期发现iOS黑魔法中许多神奇的操作都是在类初始化的时候,之前玩的方式都是在对象实例化的时候,感觉发现了一片新大陆玩耍一下。探讨NSObject 作为大多数类的基类(NSProxy特殊)我们首先去IDE中寻求与类初始化有关的信息。在NSObject 的介绍信息中,关于类初始化这方面官方提到了两个方法: + initialize、 + load 。也就是说我们可以在这两个方法中搞一些有"意思"的...
2018-02-28 09:23:08
718
原创 iOS 探讨之 cellForRow/cellForItemAtIndexPath 函数不执行
阐述日常开发中总能遇见一些奇葩的状况,事后发现都是因一些“小忘记”而产生,不过有一些是挺奇葩的。估计大家刚看标题 "cellForRow/cellForItemAtIndexPath函数不执行" 第一反应就是数据源(dataSource)未设置或者是数据源中的数据总量为零。大家的反应都是合理的,但我今天想提出的情景是当视图尺寸(Size)宽(width)或高(height)为零的时候表
2018-01-30 15:33:56
12375
原创 iOS 探讨之 百度推送 "证书无效"
阐述最近有许多证书将要过期,趁着有时间赶紧将公司的证书全部梳理一遍。在对百度推送进行证书更新时,出现了“证书无效”的错误(去年更新的时候也没出现问题),折腾好几天才解决掉。记录一下,并辟谣许多错误的说法(不让大家走弯路)。探讨首先感谢一下 “控记我记几”,在他的博文中所提出的解决方法很有效果。- openssl 版本问题博主指出百度推送不接受 openssl 版本高于0.9.8 所生成的pem, ...
2017-12-19 10:57:26
2157
1
原创 iOS 记录之 Git介绍篇
阐述正如每只猴子都有一根尾巴,每个程序猿都有一个GitHub账号。但是很多人只是有之而不是尽之,Git、GitHub、SVN这些概念都没有理清,故理之录之。(此篇为介绍篇,指令使用部分没有详细介绍)
2017-11-30 10:14:32
385
原创 iOS 探讨之 NSPredicate构造 之 格式字符串
阐述提升产品的性能,一方面可以从界面构造上入手,另一方面可以在业务处理上优化。 业务优化中,数据的筛选是很大一部分,这个过程中遇见了”NSPredicate”,感觉这个东西还是很不错的,初步探讨一下,毕竟东西有点多。探讨NSPredicate 翻译过来,是谓词的意思。在百度中,对谓词描述如下: 谓词,用来描述或判定客体性质、特征或者客体之间关系的词项。谓词:在计算机语言的环境下,谓词是指条件表达式的求值返回真或假的过程。在Apple官方文档,对NSPredicate的描述如下:A de
2017-10-31 10:18:41
706
原创 Xcode 探讨之 LLDB的基本使用
阐述在LLVM中有一段对LLDB的介绍:1. The LLDB project builds on libraries provided by LLVM and Clang to provide a great native debugger. It uses the Clang ASTs and expression parser, LLVM JIT, LLVM disassembler, etc so that it provides an experience that "just works".
2017-09-28 13:29:25
618
原创 iOS 探讨之 Keychain Services
阐述数据安全性对于各阶段的程序猿来说都是很重要的,最近因产品需要提升安全性,研究了一下Keychain并记录之。
2017-07-28 14:45:51
763
原创 iOS 探讨之 动态行为 UIDynamicItem
阐述 动是一种追,静是一种态度,你中有我,我中有你,缺一不可。苹果为开发者提供了几种“动”,研究一下,让App更加美好。
2017-06-28 10:28:43
1351
原创 iOS 探索之 UIDebuggingInformationOverlay私有类
阐述逛掘金的时候,发现大家都在研究 UIDebuggingInformationOverlay 私有类,之前没见过这个类,尝尝鲜。
2017-05-31 13:35:59
1264
原创 iOS 探讨之 IPA瘦身
闲谈最近忙着研发产品,研究技术的时间愁呐,挤了半天也是因为需要这块才能静下心整理一下...上面下了一个要求:新版本安装包体积要比之前的小。哎,优化之,记录之…
2017-04-26 16:27:14
1239
原创 iOS 审核之 Performance - 2.5.2 被拒 dlopen(), dlsym(), respondsToSelector:, performSelector
前段时间界内掀起一阵热更新浪潮,然后苹果大大就发火了,然后呢... 所有包含下载远程脚本、动态加载其他库这种操作嫌疑的App都被警告了。本以为自己App内没有上面这种东西,可以放心度过此劫,可是没想到一大早就发现 iTunes Connect 给自己发的邮件。苦逼中…经历了大大小小四次提交审核,苹果大大终于放我通关了。 哎,记录一下,给后面的兄弟一点帮助。
2017-03-24 12:02:22
13837
iOS 弹幕封装
2015-08-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人