- 博客(489)
- 资源 (9)
- 收藏
- 关注
原创 SourceTree撤销Commit提交
提交Commit:由极其不稳定的编译状态转入较为稳定的硬盘缓存区(该Commit状态本身并未推送至云端☁️),本地->本地指令(撤销当前提交产生的效果,恢复提交前模式)git reset HEAD^1
2020-05-14 14:11:41 5058 1
原创 6大原则(库设计)
(类)构造器降低复杂度、提高可读性、提高可维护性、提高扩展性、降低了变更引起的风险。UIView:为CALaler提供显示的内容,负责事件传递、事件响应。继承体系:旧Sel(重写IMP)+旧Sel基础IMP。组合体系:新Sel(新IMP)+旧Sel基础IMP。CALayer:动画和视图的显示。开:开放出接口供外部调用。闭:采用继承/组合体系(
2024-04-17 00:20:00 187
原创 Catagory(rt)
继承(IMP融合):支持super命令码;继承推荐重写分类(IMP替换):不支持super命令码;分类推荐组合//替换(原来没了/破坏掉原来IMP/分类(替换特性))情况1: 自封装(组件化)开源库>分类推荐组合情况2:逆向分析> 有意替换>分类IMP替换#import "CatagoryViewController.h"#import "Game.h"#import "Game+Additional.h"@interface CatagoryViewController
2024-04-16 19:35:30 126
原创 Specs satisfying the `xxx` dependency were found, but they required a higher minimum deployment targ
dependency were found, but they required a higher minimum deployment target.更高的下阈值部署目标(环境)
2024-04-15 22:22:08 176
原创 自动化 单元测试Test
测试断言:XCTest提供断言API供验证结果(XCTAssertTrue()/XCTAssertFalse()/XCTAssertEqual() )。XCTest测试框架(单元测试XCTests、性能测试XCPPerformanceTests、用户界面测试XCUItests)集成和运行:可直接从Xcode工具的测试导航器运行(XCTest集成在Xcode中)。用户界面测试XCUItests:测试用户与应用的UI交互(如点击按钮、滑动屏幕)。2.测试(环境)文件夹 xxTests/xxUITests。
2024-04-10 17:53:54 543
原创 Crash日志文件的收集和解析
用户操作:(用户的)线上设备->设置->隐私->诊断与用量->诊断与用量数据(iOS8以下在通用中设置) ->‘自动发送’(通过苹果的服务器提供给开发者)。>通过公司自有的文件上传API接口>上传到公司的后台服务器(私服)>运营(Web)中台>(中台)日志信息的UI渲染展示>工程师查看。4.若有线上产品.ipa包>找到对应的dSYM(调试符)文件>逆向拆解>‘.crash’崩溃日志文件>crash日志信息。1、找到之前打包上线.dSYM和二进制文件及app的.crash文件。十六进制文件的解析工具。
2024-04-10 15:38:17 1129
原创 MLeaksFinder报错
1.报错:FBClassStrongLayout.mm 文件:layoutCache[currentClass] = ivars;原来indirect_symbol_bindings[i]=cur->rebindings[j].replacement;解决:替换为layoutCache[(id)currentClass] = ivars;2.编译正常但运行时出现crash。终端重新pod install。
2024-04-10 14:08:12 647
原创 处理OOM(内存溢出)
4.dsym文件的查看(GitHub有插件根据可以逆向解析文件)实际开发中出现OOM比较常见场景:强引用或图片处理时循环操作。3.GitHub提供有开源插件可以引入项目中进行检测提示。2.系统本身提供有检测工具,可以查看内存的大概使用情况。5.wiseAPM监控可视化展示。1.据经验人工快速定位。
2024-04-08 16:08:39 99
原创 性能优化角度
6.通过开源的loop监控sdk+日志埋点,可监控线程对应环路的休眠/唤醒时间间隔,优化卡顿。5.耗时较多需求,根据业务情况进行线程异步处理。4.配合并要求后端进行接口API整合。7.尽量避免离屏渲染场景(优化卡顿)2.数据缓存角度比如历史信息联想。
2024-04-08 16:00:53 350
原创 Flutter Engine引擎概念
3.FlutterEngine框架由Skia图形库、Dart运行时、Flutter框架代码组成。Skia是用于图形绘制和文本显示的2D图形引擎库,Dart虚拟机负责运行Dart代码。2.本身由C++编写并兼容iOS(底层C++)/Android(底层C++)平台的FlutterEngine框架负责UI渲染、数据转移、调用DartVM虚拟机。4.FlutterEngine框架与平台无关,可兼容不同的平台。1.Flutter是Google提供的开源框架。
2024-04-05 19:37:25 461 1
原创 flutter message.runtimeType == SendPort 类型判断不起作用
在Flutter中,message.runtimeType == SendPort 检查类型无法正常生效是因为 runtimeType 属性表示实际运行时的类型,而不是编译时的类型。如果 message 是 SendPort 类型或其子类的实例,即使它是从另一个Isolate传递过来的,runtimeType 可能不等于 SendPort,因为它可能是一个不同的类型的实例,继承自 SendPort的子类。
2024-04-05 18:38:10 385 1
原创 Invalid argument(s): Illegal argument in isolate message: object is unsendable
2024-04-05 18:16:51 136
原创 UITabBarController管理FBFlutterViewContainer首次页面空白
FBFlutterViewContainer可能是Flutter的一个视图容器,而在iOS开发中,UITabBarController的初始化和视图加载是有先后顺序的。如果你是在Storyboard中使用UITabBarController,请确保在Storyboard中已经正确地设置了FBFlutterViewContainer的视图控制器,并且在对应的视图控制器类中,在viewDidLoad方法或者其他适当的地方完成了Flutter引擎的初始化和视图的创建。
2024-04-03 17:06:25 703
原创 The connection errored: Failed host lookup: ‘sj.abbpt.com‘
错误表明Flutter应用程序在使用Dio库进行网络请求时,无法解析主机名’sj.abbpt.com’。这通常意味着设备无法通过DNS服务找到与该主机名相关联的IP地址。确认设备的网络连接是否正常,可以通过浏览器尝试访问’sj.abbpt.com’看是否能够正常打开网页。如果是在模拟器或真机上测试,请确保设备的网络设置没有错误,并且没有被防火墙或网络安全软件阻止。如果是在公司网络或者使用了VPN,确认是否需要特殊的DNS服务器来解析该域名。如果以上都不行,可能是’sj.abbpt.com’的。
2024-04-03 12:45:47 339
原创 Flutter Don‘t use ‘BuildContext‘s across async gaps.
Flutter提示Don‘t use ‘BuildContext‘s across async gaps.的解决办法—flutter里state的mounted属性
2024-04-02 19:58:34 494
原创 Flutter 关键字
part/part of: 进行命令码抽调,项目的结构分层更清爽(可读性高)(part/part of 成对映射出现)(填写import命令码所在文件的上级文件夹下的文件(库)相对路径))(受到import命令码所在文件的。//源于pub.dev (//自定义文件(库)(show:选择性的引入已导入文件(库)里面的部分内容。hide:选择性的屏蔽已导入文件(库)里面的部分内容。as:对已导入的文件(库)进行。)//(未别名化时)
2024-04-02 14:29:09 479
原创 flutter Got socket error trying to find package nested at
报错信息:“Got socket error trying to find package nested at” 通常出现在Flutter尝试从pub.dev获取依赖包时,由于网络问题导致无法连接到pub.dev或者无法正确解析包的路径。
2024-03-27 17:21:07 532
原创 Flutter页面生命周期
Flutter 中文网 ( 非官方 , 翻译的很好 ) : https://flutterchina.club/ , http://flutter.axuer.com/docs/Flutter 相关问题 : https://flutterchina.club/faq/ ( 入门阶段推荐看一遍 )Flutter 开发文档 : https://flutter.cn/docs ( 强烈推荐 )Flutter 实用教程 : https://flutter.cn/docs/cookbook。
2024-03-26 17:32:06 300
原创 AutoReleasePool
受AutoreleasePool结构所管控的变量会被释放延迟直至1.被管控的变量离开autoreleasepool的作用域{}后才会被释放2.被管控的变量所在runloop进入休眠时被管控变量才会被释放。正常情况下,声明的变量本身所在的作用域消失则变量本身立即释放。
2024-03-13 00:46:09 108
原创 Flutter does not exist
通过配置文件查到Flutter SDK在本地的存放位置FLUTTER_FRAMEWORK_DIR=/Users/haijunyan/Documents/flutter/bin/cache/artifacts/engine/ios。系统flutter底层文件夹(安装包)的访问路径配置至全局变量配置文件。原因:Generated.config 配置文件内路径缺失。(支持)系统flutter底层文件夹(安装包)至目标目录。处理方案:重新下载FlutterSDK。原因:Flutter SDK缺失。
2024-03-11 14:44:28 350
原创 GitHubDesktop
汉化补丁官网:https://github.com/robotze/GithubDesktopZhTool。GitHub Desktop官网:https://desktop.github.com/
2024-03-10 21:52:34 229
原创 The current Dart SDK version is x.x.x
DartSDK系统包版本将伴随FlutterSDK系统包版本的升级做对应的变更升级(FlutterSDK未升级则DartSDK也无法升级)分析:当前DartSDK版本为3.0.6无法实现对mockito插件包的5.4.4版本(高版本)的支持。举例:mockito: ^5.4.0。2.提升DartSDK版本(不推荐)AndroidStudio工具平台中。
2024-03-08 17:29:39 492
原创 Kotlin dist downloading failed
打开AndroidStudio工具平台>Tools>Kotlin>Configure Kotlin in Project>弹窗中选择All modules。从提示内容看属于Kotlin相关的依赖性问题,我怀疑是Android项目中使用Kotlin时对Flutter项目的Kotlin环境产生影响。分析:Flutter项目组认为这是AndroidStudio工具平台本身的问题非Flutter的问题。在使用AndroidStudio编写Flutter项目时总是在工具的右下角提示错误信息。
2024-03-08 14:41:15 431
原创 mac录屏
系统自带QuickTimePlayer录制。打开QuickTime Player,选择“文件”>“新建屏幕录制”。在录屏面板上,找到并点击录制按钮旁边的下拉菜单,选择“内置麦克风”或相关选项。点击录制按钮开始录制屏幕,录制期间,Mac将同时录制内置声音.
2024-03-04 21:18:23 225
Fsearch.zip
2020-10-14
ITools.zip
2020-10-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人