- 博客(57)
- 资源 (2)
- 收藏
- 关注
原创 分析Unity崩溃日志(Android)
注意关键信息’arm64-v8a’ ABI: ‘arm64’ 这里是指arm64的崩溃,需要找arm64-v8a的符号表,其它符号表按照次逻辑查找。2、导出安卓工程的时候,选择Create symbols.zip,此时符号表压缩包会在导出安卓工程目录下面。aarch64-linux-android-addr2line 这个是arm64的。arm-linux-androideabi-addr2line 这个是arm32的。libunity指libunity.sym.so文件。1、项目目录下临时目录。
2024-01-17 11:54:36
1355
原创 Executable Not Found
Xcode编译项目报Executable Not Found的错误。今天在集成手动集成第三方SDK的时候,编译通过,但是运行就出现以下错误:DetailsExecutable Not FoundDomain: DVTMachOErrorDomainCode: 5Recovery Suggestion: /Users/apple/Library/Developer/Xcode/DerivedData/FinderTest-anocwgxmcukbupesulftryrmffaw/Build/Pr
2022-04-28 17:02:56
4667
原创 Sentry突然出现无法自动上传崩溃日志
近段时间在研究崩溃日志的获取方式,经过搜寻找到开源库PLCrashReporter和KSCrash。第三方则有Sentry、友盟、Bugly等。目前我们项目中使用了Sentry和PLCrashReporter。PLCrashReporterPLCrashReporter的集成pod 'PLCrashReporter', '~> 1.8.1'PLCrashReporter使用#import <CrashReporter/CrashReporter.h>PLCrashRepor
2021-06-07 15:57:37
1079
1
原创 二、iOS端实现sentry日志收集
至于为什么要搭建?目的是为了测试移动端程序上传符号表是否可以定位具体的崩溃代码。Sentry作为一款开源的日志跟踪平台。使我们能够快速定位到错误所在的文件和行号。集成SentryCocoaPods集成:pod 'Sentry', '~> 6.0.9'项目中使用#import <Sentry/Sentry.h>[SentrySDK startWithConfigureOptions:^(SentryOptions * _Nonnull options) {
2021-06-05 21:12:55
3523
原创 一、macOS搭建sentry
至于为什么要搭建,目的是为了测试移动端程序上传符号表是否可以定位具体的崩溃代码。Sentry作为一款开源的日志跟踪平台。使我们能够快速定位到错误所在的文件和行号。准备工作1、Python32、Docker 20.10.63、Sentry 21.5.1Python3为什么需要安装Python?因为自 2020 年 12 月 4 日起,Sentry 默认使用 Python 3。 Sentry 21.1.0 之后的版本不在支持 Python2。方式一brew install python
2021-06-05 20:01:07
1352
2
原创 FAIL: Required minimum RAM available to Docker is 3800 MB, found 1988 MB
最近在用docker安装sentry的时候,遇到了一个问题,在这里记录一下,以便以后的回顾和学习。当执行./install.sh后,出现以下错误:大致意思:说的docker分配给sentry的内存不足。解决方法:
2021-06-05 14:07:11
1969
原创 解决子视图超出父视图无法响应问题
前言在日常开发过程中,难免都会遇到子控件超过父视图的情况。超出父视图的部分是不能响应点击事件,但是总有些情况需要我们让超出的部分响应点击事件,那么就需要用到convertPoint。convertPoint相关的方法转换像素点// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;// 将像素point从view中转换到当前视
2021-04-27 17:41:26
1094
原创 iOS 弹出视图弹出问题
问题描述在从上向下弹出视图的过程中,会出现部分控件还在原来的地方显示,底部的视图已经收缩。解决方式:在弹出的View设置_alertView.clipsToBounds = YES;clipsToBounds:源码解释: @property(nonatomic) BOOL clipsToBounds; // When YES, content and subviews are clipped to the bounds of the view. Default is NO.
2021-04-12 20:31:12
310
原创 UICollectionView遇到的问题
问题1问题描述:在做顶部弹窗的时候,UICollectionView有两个Section时,如果两个Section的宽度不一致。点击某个item,调用[self.collectionView reloadData]时,会出现宽度错乱。目前解决方案:- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtI
2021-04-12 19:57:48
352
原创 iOS开发问题之unacceptable content-type: text/html}
问题:在对接第三方API接口时,向服务器端请求数据时,发生下面的错误:response.error.data:NSLocalizedDescription=Request failed: unacceptable content-type: text/html}我在iOS中是使用AFNetworking这个第三方网络框架,明明返回的是JSON格式的数据,为什么会出现unacceptable content-type: text/html这样的错误,经过在网络上查找,一个解释是这样的:这不是AFN
2021-04-12 19:32:01
980
原创 pod install遇到的问题
今天在pod install的过程中,遇到以下问题:解决这个问题Podfile.lock删除重新pod install
2021-04-12 19:14:26
324
原创 iOS之class方法和object_getClass方法的区别
源码分析// 类方法 返回自身+ (Class)class { return self;}// 实例方法 查找isa- (Class)class { return object_getClass(self);}Class object_getClass(id obj){ if (obj) return obj->getIsa(); else return Nil;}inline Class objc_object::getIsa() {
2021-03-25 19:54:50
1099
原创 OC项目引入swift第三方库(cocoapods)需要注意的问题
1、Podfile中添加 use_frameworks!2、swift第三方库指定swift版本4、在.h或者.m文件使用swift库需要使用@import
2021-03-25 18:22:14
2176
1
原创 组件化---CTMediator使用
简述CTMediatorCTMediator按照功能的结构来讲,使用时需要实现CTMediator的个三部分。1.CTMediator类:承担总枢纽,总调度的责任2.Target_(ModuleName)类:承担组件对外暴漏接口功能,组件要提供什么服务,主要在它的接口声明上进行体现3.CTMediator+(ModuleName)分类:主要供客户端使用,里面声明了可以调用的组件接口。1、CTMediator核心功能实现CTMediator主要采用target-action的方式实现组件间解耦
2021-01-18 13:58:50
1313
原创 组件化---创建私有Spec Repo管理项目公共组件库(下)
1、更新组件版本1、在我们之前的公共组件库添加一些组件,然后打上tag提交到git仓库。#提交到远程仓库sy@MacBook-Pro ~/D/HSPodLib> git add .sy@MacBook-Pro ~/D/HSPodLib>git commit -m '添加公共组件库'sy@MacBook-Pro ~/D/HSPodLib> git push origin master#设置tagsy@MacBook-Pro ~/D/HSPodLib>git tag -
2021-01-16 12:02:49
269
原创 组件化---创建私有Spec Repo管理项目公共组件库(上)
Spec Repo的概念理解CocoaPods对于一名iOS开发来说再熟悉不过了,它的工作原理就是在GitHub上面有个Spec Repo,它里面包括成千上万的podspec文件索引目录。然后我们在项目集成的时候可以通过它去找到我们需要的开源代码。其实CocoaPods的Spec Repo就是一个中介。1、创建私有 Spec Repo1、进入./cocoapods/repos 查看已经存在的spec repocd .cocoapods/repos/ls -la2、创建自己的私有spec
2021-01-16 10:34:06
555
原创 iOS fastLane 打包上传到AppStore
1、安装 Xcode command line tools: xcode-select —install2、安装fastlane brew install fastlane检查一下是否安装成功 fastlane --version3、fastlane 初始化首先需要cd到你的工程目录然后执行以下代码fastlane init4、初始化选项我选择是第3项在此期间需要输入苹果开发者账号和密码然后一直Enter就可以了。5、打包上传到AppStorefastlane rel
2020-11-18 11:38:28
590
原创 iOS fastlane打包上传蒲公英
1、安装 Xcode command line tools: xcode-select —install2、安装fastlane brew install fastlane检查一下是否安装成功fastlane --version3、fastlane 初始化首先需要cd到你的工程目录然后执行以下代码fastlane init4、初始化选项我选择是第4项一直按Enter。5、fastfile 文件配置default_platform(:ios)platform :ios
2020-11-18 09:56:31
319
原创 mac 上的jenkins 离线处理方法
当jenkins运行出现离线状态的时候,处理一下操作:1、vim/root/.jenkins/updates/default.json2 、将 "connectionCheckUrl":"http://www.google.com/" 改为 "connectionCheckUrl":"http://www.baidu.com/"3、 重启jenkins如果重启过后还是不行,尝试1、vim/root/.jenkins/hudson.model.UpdateCenter.xml2....
2020-11-03 11:35:32
320
原创 AFN 中的 Method swizzling
最终在研究AFN3.0 源码中无意发现了 “Method swizzling”。AFN3.0 源码中知识还是值得研究的。Method swizzling是什么?Method Swizzling是objective-c中的黑魔法,算是runtime中的一种实战使用模式,它允许我们动态的替换方法,实现Hook功能。Method swizzling可以干什么?Method swizzling字面意思就是方法交换。那它可以运用在那些场景呢?按钮的重复点击问题界面点击次数…Method Swizz
2020-07-10 14:06:05
272
原创 pod install和 pod update的区别
pod install该命令是在你第一次在项目中获取库的时候使用,并且每次对的Podfile文件编辑的时候(添加、修改、删除)使用。每次运行pod install命令后,都会下载安装新的库,并且会修改Podfile.lock文件中记录。Podfile.lock文件的作用就是追踪和锁定这些苦的版本的。运行pod install后,它只是仅仅安装Podfile文件中的指定版本的库而已。并不会去...
2020-03-22 13:21:33
892
原创 iOS打包Framework
1、创建Framework2、创建需要集成打包Framework中的文件。比如Bundle、Framework、.a、.h/.m3、配置参数将Mach-O Type设为Static LibraryBuild Active Architecture Only修改为NOiOS Deployment Target 静态库需要支持的最低版本,自己选择将你需要公开的头文件,放到Publi...
2020-03-22 12:36:52
1233
原创 iOS库的.a与.framework区别
摘自添加链接描述首先要说的.a 和.framework 都是库文件。什么是库?库是共享的代码。一般分为静态库和动态库。静态库和动态库区别?静态库:链接器链接的时候会完整拷贝到可执行文件中,如果被多次使用,就会多次被拷贝。那么会造成冗余。动态库:链接是不会复制,程序运行时由系统加载到内存,供程序使用。它只会加载一次,多个程序共用,节省资源。ios的静态库是:.a和.framework...
2020-03-21 11:35:02
265
原创 Other Linker Flags做了什么?
Other Linker Flags做了什么?今天在 研究静态库的时候,发现Other Linker Flags需要加上-Objc。就查阅资料一波。Other Linker Flags是干嘛的?Other Linker Flags到底是什么?实际就是ld命令除了默认参数以外的其他参数。ld命令实现的是链接器的工作。也许有的人不清楚链接器是什么?一个程序从简单的代码到可执行的文件,大致需要...
2020-03-21 11:21:53
330
原创 iOS .a文件的打包过程
废话不多说。直接干。1、新建一个工程,选择Static Library2、文件参数配置"Build Active Architecture Only"设置NO。Yes No的区别:Yes,是只编译当前Architecture版本,是为了编译速度加快。一般我们是在Debug下设置的。No,系统会编译所有的Architecture版本。Architecture 代表架构。armv6:...
2020-03-20 15:05:55
800
原创 lipo命令解析
lipo是管理Fat File的工具,可以查看cpu架构,提取特定架构,整合和拆分库文件。lipo -info xxxx.framework/xxxx或/xxxx.a查看信息,支持的cpu架构列表lipo -create xxxx xxxx -output xxxx整合成Fat文件lipo xxxx -thin cpu(armv7/arm64等) -output xxxx提取特定的cp...
2020-03-20 14:24:46
673
原创 MailCore2 过程中的问题
最近我在MailCore2的时候,获取网易的邮箱的INBOX内容的时候,一直报这个错误。Error Domain=MCOErrorDomain Code=11 “The requested folder does not exist. Folder selection failed” UserInfo={NSLocalizedDescription=The requested folder d...
2020-03-20 10:09:20
548
原创 __unsafe_unretained的使用
__unsafe_unretained的使用我们一般很少用到__unsafe_unretained修饰词。但是在开源项目就会见到。在介绍这个__unsafe_unretained之前,我们先来介绍下__weak。__weak 表示的是对象的弱引用关系,__weak修饰的对象被释放后,指向对象的指针会自动置为空,也就是指向nil。__unsafe_unretained表示的是弱引用关系,__...
2020-03-19 17:32:10
1184
原创 研究SDWebImage原理重新认识NSMapTable
NSMutableDictionary分析我们都知道NSMutableDictionary/NSMutableArray,也会经常使用。大部分都知道NSMutableDictionary/NSMutableArray对里面的对象是强引用的。我们先看官方文档怎么说?- (void)setObject:(ObjectType)anObject forKey:(KeyType <NSCopy...
2020-03-19 15:16:15
381
原创 Xcode快捷键汇总
Xcode快捷键汇总文件Command + N: 新建文件Command + Ctrl + N 新建空文件Command + Shift + N 新建项目Command + O 打开Command + S 保存Command + Alt + S 保存所有文件Command + Shift + S 另存为Command + W 关闭窗口Command + Q 退出XcodeCo...
2020-03-19 11:56:46
259
原创 iOS压缩图片
这里我用的二分法进行图片压缩的#pragma mark - 图片压缩- (NSData *)resetSizeOfImageData:(UIImage *)sourceImage maxSize:(NSInteger)maxSize { //先判断当前质量是否满足要求,不满足再进行压缩 __block NSData *finallImageData = UIImageJPEGR...
2020-03-19 11:05:19
261
原创 Flutter 拍照或选择照片
一般的项目中,我们都会用到拍照或者使用照片,这里我们就介绍下flutter的插件。image_picker在pubspec.yaml中添加依赖dependencies:image_picker: ^0.6.2+3You can install packages from the command line:with Flutter:$ flutter pub get对于iOS的开发者...
2020-01-08 10:54:01
695
原创 Flutter 实现圆角裁剪
通常情况下,我们都知道使用Container widget 的BoxDecoration可以实现圆角效果。但是今天我遇到了一种情况:就是Container 需要背景颜色,又需要进行圆角。我尝试用Container进行圆角与设置背景颜色。具体代码如下:Container( height: 20, padding: EdgeInsets.fromLTRB(10, 0, 10,...
2019-12-30 15:35:24
2563
2
原创 Flutter | 使用BottomNavigationBar快速构建底部导航
前言Google推出flutter这样一个新的高性能跨平台(Android,ios)快速开发框架之后,被业界许多开发者所关注。我接触了flutter之后,确实发现它的一些优越性。今天我来给大家分享的是底部导航功能的实现。废话不多说开工啦。学到知识?1.拆分组件2.构建简单布局3.创建底部导航最终效果如下:这也是我刚开始接触的,学到的知识,如有错误,请指教。搭建布局1. 绘制布...
2019-12-23 15:54:05
340
原创 修改 UITabBar的背景颜色
今天为了适配 iOS13的深夜模式。系统的UITabBar的背景颜色随着深夜模式变成了黑色。因此我想让其保持白色。网上找了好几种方法:1 、[[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"tabBarBackgroundImage"]];[UITabBar appearance].translucen...
2019-10-28 11:32:52
2710
原创 Swift 验证码倒计时问题(后台持续计时)
今天遇到倒计时问题,需要后台也一直计时。我思考了一下,总计了两种思路。第一个思路是通过苹果自带的后台任务进行倒计时。第二种思路是记录当前进入后台的时间,以及再次进入前台的时间。计算两者的时间间隔,然后通过进入后台时刻的秒数减去这个时间间隔。就是真实的倒计时。具体代码如下:希望能帮到需要的人,也给自己记录一下。...
2019-09-19 14:32:49
1099
原创 The request was denied by service delegate (SBMainWorkspace) for reason: Unspecified.
今天运行项目的时候,发现一个bugThe request was denied by service delegate (SBMainWorkspace) for reason: Unspecified.尝试了好久都没有解决问题。尝试/用户/sy/资源库/Developer/CoreSimulator/Devices 删除下面的所有文件,也是报错。然后又把删除的文件复原。...
2019-07-17 19:49:49
3624
原创 iOS hash值 和 java hash值 问题
在用socket通信过程中,为了给数据加密,我们用到了hash值的RSA。然而后台java的hash值算法和iOS本身的hash值是不一样的。java的hash值的算法是然而试了好久。long hash = 0; long seed = 31; //转asicc list const char *ch = [str cStrin...
2019-07-13 11:20:44
527
原创 react-native 运行报错
Showing Recent Messages:-1: Build input file cannot be found: '//node_modules/react-native/Libraries/WebSocket/libfishhook.a'解决方法是:移除之前的,重新添加libfishhook.a即可解决...
2018-11-08 12:33:31
796
原创 react-native 在新版Xcode(10+)中运行出现的问题: node_modules/react-native/third-party/glog-0.3.4 , C compiler ca
解决方法是:github 问题地址 https://github.com/facebook/react-native/issues/19774I had the same issue but manually triggering configure script (cd ./node_modules/react-native/third-party/glog-0.3.4 &...
2018-11-08 12:24:42
7005
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人