
工具
HaiJunYa
积极认真 好记忆烂笔头
展开
-
BundleIdentifier (MultipleValues)
General->Signing&Capabilities原创 2021-06-07 14:36:13 · 883 阅读 · 2 评论 -
pod setup/pod install
原创 2021-01-05 15:13:45 · 437 阅读 · 0 评论 -
架构之观察者模式
观察者模式:当广播站点对象和观察者对象间存在一对多关系(单个广播站点对象绑定多个观察者对象)时使用观察者模式(行为型模式)(Observer Pattern)。当一个广播站点对象被修改(发送信息)时,则会自动通知所有相关的听众观察者对象。观察者模式使用:一个对象(广播站点对象)的状态发生改变,所有相关的依赖对象(观察者对象)都将得到通知并响应,进行广播通知。观察者模式优点:听众观察者和被观察者广播站点对象是抽象耦合的。建立一套触发通知机制。观察者模式缺点:如某个被观察者广播站点对象有...原创 2020-12-20 13:34:09 · 159 阅读 · 1 评论 -
svn更新提交冲突异常
finder+项目工程侧边栏+pbxproj+回滚上个版本+工作副本管控文件里面=== <<< >>> ||||冲突位置(1)只保留mine其余删除(2)只保留别人的删除mine(3)mine和别人的都保留原创 2020-12-18 11:35:24 · 141 阅读 · 0 评论 -
iPhone连接mac电脑频繁断开问题
打开终端Terminal sudo killall -STOP -c usbd命令Enter即usbd进程关闭。重插上iPhone正常连接问题解决。原创 2020-12-18 10:39:10 · 1642 阅读 · 0 评论 -
Create Git repository on my Mac
本地端新建某个项目工程时☑️勾选Create Git repository on my Mac选项,项目文件夹既有普通文件夹的内容身份也有本地端映射库身份不勾选Create Git repository on my Mac选项,项目文件夹只有普通文件夹的内容身份...原创 2020-12-11 13:40:18 · 3267 阅读 · 0 评论 -
GitHub解析 项目管理
云库相对应关联的本地映射库结构层次:不支持通过Cocoapods引入(普通开源项目/没进行构建开源三方库所需各种配置)支持通过Cocoapods引入(开源项目/构建开源三方库所需各种配置)搭建方式:构建开源三方库远程端云库:...原创 2020-12-11 12:44:33 · 128 阅读 · 0 评论 -
xib画布:备注提示名
原创 2020-12-10 17:32:11 · 103 阅读 · 0 评论 -
SVN设置忽略文件
.DS_Store,build/,.pbxuser,!default.pbxuser,.mode1v3,!default.mode1v3,.mode2v3,!default.,mode2v3,.perspectivev3,!default.perspectivev3,!default.xcworkspace,xcuserdata,profile,.moved-aside,DerivedData,.idea/,.xcscmblueprint,.xcshareddata,.xcuserdatad,.xcscmb原创 2020-12-09 21:08:24 · 393 阅读 · 0 评论 -
General->Identity->Version
//结果对应General->Identity->Version值+(NSString *)appVersion{ return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];}原创 2020-11-17 22:29:22 · 174 阅读 · 0 评论 -
日志查看方案
场景:ios移动端应用发生闪退同时没有源码工程无法进行debug调试解决:日志查看1.用itools看,在本机应用里点进去 崩溃日志找到应用Documents/APICloud/SaveFile/exceptionInfo这个文件;或者用XCODE查看日志,手机连接电脑后,点XCODE的菜单Window->Devices,可以查看手机控制台的日志;ios还可以点击设置 - 隐私 - 分析- 分析数据,拉倒最后UZapp开头的文件,最新的日期文件名字就是ios崩溃日志;备注:Ma原创 2020-11-12 21:10:57 · 1762 阅读 · 0 评论 -
bash: sudo: command not found
Mac电脑控制台终端输入命令时,曾经可以使用的sudo管理员执行命令异常提示-bash: sudo: command not found//bash解析:管理员执行 命令查找失败原因:.bash_profile这个bash解析配置文件内容出错正确配置:1.打开控制台终端输入命令cd /Users/haijunyan切换至系统用户下个人主页路径2.输入命令open /Users/haijunyan打开系统用户下个人主页路径对应的文件夹3. 查看个人主页路径文件夹是否存在.bash_profi原创 2020-11-05 22:22:42 · 10800 阅读 · 0 评论 -
Shell分析
Linux/Unix操作系统。壳Shell脚本的语言采用命令式风格,构建出(主名称.sh)壳shell脚本程序文件,该壳shell脚本程序文件内事先按照可为操作系统识别的特定规则/预留坑位放入各种命令指令,一旦该shell脚本程序文件被打开,将会按照文件的排布规则触动相应的各种指令产生一次性执行的效果(方便管理员进行统一设置或管理或配置)。壳Shell脚本程序文件里面的命令符号直接来源于Linux/Unix操作系统的汇编层,缩短了与机器码之间的逻辑距离执行效率更高。shellScript文件利用shel原创 2020-11-05 20:55:53 · 764 阅读 · 0 评论 -
兼容共用Flutter(关注源码文件)
兼容共用Flutter体系中文网(条件筛选分支化UI增量支持体系包)。Flutter是谷歌公司提供的移动端UI渲染框架,可以快速的在iOS和Android设备显示屏上渲染出高质量的原生界面效果层。 Flutter体系其实相当于钥匙(触发点/类似代理概念下领导/提业务提需求不具体干活的/触发提出需求真正执行的指令依旧为底层包封装的OC/Swift/Studio),所以flutter体系下的源码与现有的苹果iOS代码一起合并生效。Flutter体系代码正被越来越多的开发者和组织使用,并且Flutter体系的底层原创 2020-10-20 17:27:27 · 185 阅读 · 0 评论 -
methodSwizzling原理分析
最近看了一些关于iOS逆向工程的基础知识和某些开源代码。根据越狱CydiaSubStrate关于MSHookMessageEx挂钩信息功能补充部分API介绍:Objective-C提供了好用的high_level runtime API,允许开发者使用class_getInstanceMethod, method_setImplementation和更强大的method_exchangeImpletation来swizzle四维索引重排方法并改变替换功能执行。虽然API非常好用但API却不能胜任更复杂原创 2020-10-04 21:24:02 · 354 阅读 · 1 评论 -
.pbxproj文件出现异常
原创 2020-09-29 10:56:23 · 233 阅读 · 0 评论 -
Xcode编译器切换
原创 2020-09-29 10:23:25 · 870 阅读 · 0 评论 -
Xcode工具中补全指令的标记 M,C,T等含义
C: class 类T: typedef 通常是枚举类别的定义E: enum 枚举Pr:protocol 协议M:method 方法V:value 值P: property 属性K: 枚举 、常量G: global全局变量f: 函数#: #define指令原创 2020-09-27 10:07:42 · 368 阅读 · 0 评论 -
git工具常用操作指令
//切换路径至目标项目工程cd /Users/haijunyan/Desktop/mdb_ios//本地端修改的内容临时暂存至缓存区git stash//临时暂存至缓存区的本地端修改的内容从缓存区复原弹出git stash pop//切换路径至目标项目工程cd /Users/haijunyan/Desktop/mdb_ios//撤销提交操作git reset HEAD~//切换路径至目标项目工程cd /Users/haijunyan/Desktop/mdb_ios//删除本地端R20原创 2020-09-24 19:16:51 · 142 阅读 · 0 评论 -
Xcode断点始终无效无法调试的一个问题
Xcode断点动作始终无效无法进行断点调试根据经验,试了各种方式:1、Debug->Debug workflow->always show Disassembly 取消选中(不进入反汇编模式)2、项目工程->Targets->BuildSettings->GenerateDebugSymbols设置为YES(支持调试/NO不支持调试)3、Product->Scheme->Edit Scheme->Run(Debug)->BuildConfigur原创 2020-09-22 14:03:30 · 3553 阅读 · 0 评论 -
调试反汇编窗口
原创 2020-09-21 16:02:20 · 438 阅读 · 0 评论 -
@available关键字导致旧版本Xcode编译出错
用@available关键字导致旧版本Xcode编译出错。在Xcode11的SDK工程的代码里使用@available关键字判断当前移动端系统版本,打包的静态库拖入较低版本Xcode中编译,会出现以下错误:Undefine symbols for architecture i386:“__isPlatformVersionAtLeast”, referenced from:…ld: symbol(s) not found for architecture i386从错误信息来看,是 __isPl原创 2020-09-21 14:39:31 · 1301 阅读 · 0 评论 -
assetcatalog管理图片资源
AssetCatalog资产目录.xcassetsasset catalog是苹果在2014年也就是iOS7系统上引入的用于APP内资源管理的辅助文件,我们可以把之前扔到bundle或者文件夹的图片或者其他资源放入asset catalog中,由它来帮我们管理资源,除了管理上的便利意外,它还能够带来另一个很大的实惠:他能帮助我们实现APP瘦身(APP Thinning)。目前主要通过两种途径来实现瘦身:首先,使用asset catalog能为不同的平台、不同设备甚至相同类型的设备但是不同的配置(比如内原创 2020-09-17 13:26:59 · 381 阅读 · 0 评论 -
免证书真机调试
原创 2020-08-26 15:37:54 · 331 阅读 · 0 评论 -
Xcode项目工程构建.ipa包方式
打包方式1打包方式2打包方式3备注:打包方式1和打包方式2采用截获.app文件包进行手工压缩(打包方式1得到的.ipa包的容积远大于打包方式2得到的.ipa包容积)。打包方式2和打包方式3在初期操作相同,直到.app文件包被构建出来后开始走不同路线:打包方式2在.app文件包的基础上进行手工压缩获得.ipa包;打包方式3在.app文件包的基础上进行自动归档压缩获得.ipa包...原创 2020-08-19 22:55:21 · 548 阅读 · 0 评论 -
gitlab创建SSH协议体系 Key公私钥组过程
从github或gitlab上clone项目或参与项目时,需要证明我们的身份。github、gitlab支持使用SSH协议进行免密登录,而SSH协议采用了RSA算法保证了登录的安全性。我们要做的是在本地生成一对RSA的密钥组(公私钥组),并且将公私钥组中的公钥暴露给远程主机云服务器。在登录时,远程主机云服务器会向我们本地端发送一段随机字符串,我们用自己本地端存储的私钥进行加密并在加密后再发回远程服务器端去,远程主机云服务器端会用之前已经储存的已持有的公钥进行逆向解密,如果解密后匹配成功,则允许登录。(关键之原创 2020-07-02 11:32:57 · 587 阅读 · 0 评论 -
Xcode真机联调启动配置方案Scheme
1.XX.app:默认启动(优先推荐使用方案)2.默认启动失败(可以尝试)ask on launch: 启动时预询问原创 2020-06-30 14:34:44 · 519 阅读 · 0 评论 -
SourceTree工具 Git文件冲突
SVN版本管理工具发生文件冲突:直接拉取下来,出现>>><<<____—等等,自行合并并修复即可。SourceTree工具 Git文件冲突解决方案:原创 2020-06-01 17:36:59 · 253 阅读 · 0 评论 -
64位码系统和32位码系统电脑分析
32位码电脑系统和64位码电脑系统什么意思?1、32位码和64位码是处理器CPU单次能处理的最大位数数据地址;2、32位码系统的最大寻址空间是2的32次方=4294967296(bit)= 4(GB)左右;3、64位码系统的最大寻址空间为2的64次方=4294967296(bit)的2的32次方倍,数值大于1亿GB。(寻址空间最大值增大,范围区间增大)32位码和64位码区别呢?1、CPU要求不同。CPU有32位码和64位码之分,32位码的CPU只能安装32位码系统,而64位码的CPU既可以安装3原创 2020-05-28 00:06:06 · 1050 阅读 · 0 评论 -
不需要通过git推送至云端的文件
本地玩耍不需要推送至云服务器平台的文件原创 2020-05-24 14:43:28 · 173 阅读 · 0 评论 -
stdc++
链接:https://pan.baidu.com/s/19vLxHSWQ_md27MVgCXk30g 密码:4tgd原创 2020-05-18 19:01:41 · 487 阅读 · 0 评论 -
SVN常用技巧命令
原创 2020-05-18 10:19:21 · 152 阅读 · 0 评论 -
failed with exit code 9
原创 2020-05-18 10:15:33 · 1992 阅读 · 0 评论 -
debug区断点调试
原创 2020-05-17 11:48:27 · 166 阅读 · 0 评论 -
A主机箱数据映射至B图形化屏幕显示器(反应度较高(推荐))
一台电脑主机箱内的数据映射至另外一台电脑的原创 2020-05-16 23:17:48 · 196 阅读 · 1 评论 -
Mob元器件平台踩过坑
Mob踩过坑:(移动客户端(Android/iOS)、公司服务器端、Mob三方平台的数据云服务器端、Mob三方平台的web前端设备端及前端服务端)1.进入管理控制后台添加前端应用元组件项目(添加的前端应用元组件项目名称不能含有中文字符,否则iOS端无法接收到验证码,名称最好为英文字母组合)2.客户端info配置有2处,分别在xx项目对象的info配置表内以及info.plist文件内。3.验证码每天每号的获取存在数目上限4.可接受验证码所属地区范围设置以及接收验证码格式有效时间的设置5.对手机客户原创 2020-05-14 15:11:22 · 212 阅读 · 0 评论 -
日常汇总制
#if #elif #else #endif 运行时不会触发(运行时稳定不变)(编译时预设值)If 运行时条件语句(运行时触动执行)多个硬件设备之间进行通信,设备与设备之间通信流程研究,要想实现通信必然存在协议会话通道(遵循某种协议的数据流管道,数据流管道中可以直接传送的数据格式只能是01二进制码流包,堆栈内存区本身对应的对象本身无法通过数据流管道传送)<##宏符号名称(行参0,行参1,…)##><##替换内容(行参指令内容)##><##批量定义声明非空NONNULL原创 2020-05-14 15:09:42 · 116 阅读 · 0 评论 -
Debug模式 控制台调试指令
Xcode断点->控制台调试指令(lldb编译器调试指令)p 打印基本数据类型值/打印对象持有的地址po 打印基本数据类型值/打印对象的详细信息expression 打印基本数据类型值/打印对象持有的地址/点击下一步重新启动执行之前,构建实时表达式指令并实时执行生效(已存在的成员名)call 调用一行OC代码指令并实时执行生效bt 回溯追踪栈信息(地址)breakpoint list 打印断点元素列表thread list 打印线程列表image list 列出所有依赖库当程序c原创 2020-05-14 15:07:28 · 1298 阅读 · 0 评论 -
kill9/三方库查找失败
解决方案:原创 2020-05-14 11:19:57 · 125 阅读 · 0 评论 -
denied the launch request
原因:手机设备缓存区中缓存有同一个项目工程的启动信息脏数据(某个之前使用的BundleIdentifier识别信息因某种原因一直缓存在相应的BundleIdentifier存储区),应用程序启动之前需要从相应的BundleIdentifier存储区中读取信息进行权限验证而当下读取到的信息为之前残留的脏数据信息故只能启动之前残留的脏数据BundleIdentifier对应的项目工程应用程序产品包。解决方案:.xcproj->Targets->项目分支->General->Bundl.原创 2020-05-14 11:16:00 · 201 阅读 · 0 评论