avatar
文章
204
标签
17
分类
0
首页
归档
标签
分类
关于
今是昨非的博客
首页
归档
标签
分类
关于

今是昨非的博客

RN布局
发表于2020-09-21
RN布局背景今年以来,公司新来的总监力推ReactNative,目标是做大前端,H5选用React,客户端用ReactNative,所以我要再“复习”一下网页布局。顺便把内容记录到自己的博客中,用宝儿姐的话来说:“机智的一bi”。 内容Flex布局:Flex是Flexible Box的缩写。设为Flex布局之后,子元素的float、clear、和verti-align属性将失效。 容器属性: 经常设置在容器上的属性有: 123456flexDirection // 主轴的排列方向flexWrap // 沿主轴排不下的时候,如何换行justifyContent // 项目在主轴上的排列方式alignItems // 项目在交叉轴上的排列方式alignContent // 多根轴线的对齐方式。如果只有一根轴线,该属性不起作用alignSelf // 允许单个项目有与其他项目不一样的对齐方式,可覆盖alignItems属性 每个属性的可设置的值如下: 123456flexDirection: 'colu...
iOS NSTimer不走的问题
发表于2020-08-19
iOS NSTimer不走的问题背景这个版本上线后,突然发现埋点数据直线下降,调试后发现是定时器上传的方法没有走,但是定时器的方法本期并没有修改过。代码如下 123456- (BOOL)initTimer() { self.uploadTimer = [NSTimer scheduledTimerWithTimeInterval:timerInterval target:self selector:@selector(handleUpload) userInfo:nil repeats:YES]; [[NSRunLoop currentRunLoop] addTimer:self.uploadTimer forMode:NSRunLoopCommonModes];} 排查这个handleUpload方法,怎么都不会走,但是在之前的版本中就是好的,排查了之后发现,是外层调用的地方加了一层异步。即调用的地方变成了 12345dispatch_async(dispatch_get_global_queue(0, 0), ^{ i...
iOS beta4崩溃修改
发表于2020-08-10
iOS beta4崩溃修改前言升级iOSBeta4后,有用户反馈使用我们APP时会崩溃,有登录的、查看详情的,都会出现崩溃。我们查看Bugly数据也发现崩溃率上升了0.02%,直接超出了指定的崩溃指标。虽然是由于升级beta版系统导致的,但还是要排查出具体原因,然后尽快适配。所以我说一下我发现的哪个API导致的,供大家参考一下。 排查由于崩溃是必现的,所以排查起来很容易,找一台升级了iOS14 beta4的手机,然后复现步骤,看具体崩溃的地方,即可我们APP是由于使用了SexyJson这个库,其中SexyJsonProtocol这个类第67行中sexyToValue()的方法里使用AnyRandomAccessCollection这个地方有强制解包属性,在之前的系统版本中,这个地方返回的值不为空,所以没有问题,但是在这个版本里,这个属性返回为空了,就导致了新系统中的崩溃。 如图所示位置: 修改由于是强制解包导致的,所以直接的修改就是,把这个地方的强制解包,改为if let的格式,修改后,运行,binggo,崩溃确实没了。但是在验证过程中,由于我们使用这个是把请求的对象转为参数...
iOS14适配一查找哪些SDK使用剪切板
发表于2020-07-12
iOS14适配一查找哪些SDK使用剪切板背景iOS14公测版发出之后,我们app出现了从后台唤起会弹出 读取剪切板的 提示,安全要求要赶紧查,全局搜索了我们APP,发现并没有读取剪切板的代码,比窦娥还冤,只能是第三方SDK的问题了,但是项目里集成了十几个第三方SDK,一个个排查删除,万一两个SDK都有,这个排列组合可能性就太多了。 脑壳疼了好几天,求助万能的V友和群友,然后找到了好的办法 步骤1: 用Xcode的Symbolic breakpoint,调试[UIPasteboard generalPasteboard],按照重现步骤,例如,我们APP是从后台唤起来会有这个提示,就打断点,然后走这个流程。 步骤2: 断点会停在调用到这个方法的地方,然后上下查看,如果还不能确认是哪个SDK的话,就单步向下走几步,然后就会出现调用方 步骤3:具体调用的类已经暴露了之后,怎么确定这是哪个SDK的呢?在工程目录中使用命令(来自群友的帮助):12find . -type f | grep -e ".framework" | xargs grep -s...
iOS 13 适配
发表于2019-10-07
iOS 13 适配转自iOS 13采坑记录iOS 13适配总结 UIViewController Present出来的样式修改 iOS 13默认的modalPresentationStyle是UIModalPresentationAutomatic,可能不符合我们的要求,改回之前的模式要用UIModalPresentationFullScreen. 新写一个UIViewController的Category,改变modalPresentationStyle的返回结果 1234567@implementation UIViewController(Category)- (UIModalPresentationStyle)modalPresentationStyle { return UIModalPresentationFullScreen; }@end “NSGenericException” -reason: “Accress to UITextField’s _placeholderLabel ivar is prohibited....
ProtocolBuf Swift 使用
发表于2019-10-06
ProtocolBuf Swift 使用环境搭建Mac安装swift-protobuf 1brew install swift-protobuf 使用Podfile集成Xcode再Podfile里添加 1pod 'SwiftProtobuf' 然后在此目录下打开terminal运行 1Pod install 使用新建BookInfo.proto 1234567syntax = "proto3";message BookInfo { int64 id = 1; string title = 2; string author = 3;} 在此文件同目录下执行下面命令,生成.swift文件 1protoc --swift_out=. BookInfo.proto 将.swift文件拖入工程,编译一下,使用 123456789101112131415161718192021// Create a BookInfo object and populate it:var info = BookInfo()i...
Mapping architecture armv7 to i386
发表于2019-09-28
最近项目里升级后,编译警告多了起来,看起来好碍眼,就想着改掉,先从Debug warning: Mapping architecture armv7 to i386.这个开始。 看了警告之后,知道是对应target下的Build Settings里architecture的问题,然后去检查对应target下,发现today widget、iwatch widget里Valid Architectures的Release跟Debug不一致,然后就手动修改为 $(ARCHS_STANDARD),编译,done,完美解决。
Embedded binary is not signed with the same certificate as the parent app
发表于2019-09-28
Embedded binary is not signed with the same certificate as the parent app背景Xcode 10之后New Build System变为默认,编译之后一直报错,报错信息:Embedded binary is not signed with the same certificate as the parent app. Verify the embedded binary target’s code sign settings match the parent app’s. eg: 但是在Legacy Build System下就没有问题。刚开始直接粗暴的改回Legacy Build System,一直没来得及查具体原因,最近得空了,仔细查了一下。 过程搜到的好多人说,是因为keyChain里证书的信任状态不对,要用系统默认,不能强制始终信任。but,我检查了之后,我的证书确实是系统默认的状态。 在stackoverflow上iOS error “Embedded binary is not signed ...
批量图片压缩 & 替换
发表于2019-09-15
批量图片压缩 & 替换背景最近产品提了个需求,要求把包压缩一下,而项目是OC&Swift混编,这期还加上了RN,还要包不能增大。脑壳疼。。。。他则不上天呢。但需求出来了,还是要做的。所以就想了下面几个方法: 先用LSUnusedResources分析项目中无用的图片和类,删除; 然后对项目中的图片进行压缩替换; 再接着分析linkMap文件,找出大的文件进行优化。 基于clang插件的一种iOS包大小瘦身方案 实现这篇就是关于第二步的,项目里大约有1600多张图片,之前几次压缩都是按大小排序,然后把大于10kb的图片一个个上传到tinypng上压缩,再下载替换。tinypng web最多支持一次20张,每次上传压缩,然后等,就问问烦不烦。。。。 图片批量压缩so,这次我终于受不了,我要找批量压缩的,还真给我搜到了图片批量压缩脚本(Python),这种使用方式GitHub上已经写得很清楚了,每月可以500张批量压缩,然后有一个输出文件夹: 使用这个脚本的时候,要注意: 安装Python 安装click和tinify 到此处申请 API key: https...
CocoaPods私有库生成
发表于2019-09-08
CocoaPods私有库生成
1…161718…21
avatar
今是昨非
技术分享、生活感悟
文章
204
标签
17
分类
0
Follow Me
公告
This is my Blog
最新文章
CodeBuddy Models Manager:用可视化界面管理 CodeBuddy 自定义模型2026-04-17
UnifySkillManager 一个统一的 AI 编程工具 Skill / Rule Manager2026-04-17
AI 开发的感悟2026-03-13
关于 AI 的一些很有意思的想法2026-03-06
拒绝 Stash 混乱:Git Worktree 助你开启“多线程”开发神技2026-03-06
标签
标签1 iOS iOS自动打包 iOS蓝牙 技术 随笔 ideas 标签2 Algorithem movies ReactNative 分享 books 算法 Flutter 生活 learning
归档
  • 四月 2026 2
  • 三月 2026 5
  • 二月 2026 3
  • 一月 2026 8
  • 十月 2025 1
  • 九月 2025 4
  • 八月 2025 4
  • 十二月 2024 1
网站信息
文章数目 :
204
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2026 By 今是昨非框架 Hexo 5.4.0|主题 Butterfly 5.5.3
日出江花红胜火,春来江水绿如蓝,能不忆江南