自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 修复WKWebView的白屏问题

公司的一个iOS app登录界面是原生开发,登录成功后打开一个webview加载web页面。第二次登录就看是否保存了token,如果有就直接打开webview加载。但是测试反应登录后在后台放一段时间,重新打开有一定几率出现白屏。调试发现打开后,webview显示已经加载完成,只是内容什么都没有。首先考虑缓存问题,在应用初始化时,清除webview的缓存。- (void)cleanWKWebView{ NSArray *types = @[WKWebsiteDataTypeMe

2021-09-15 15:57:56 3047

原创 安卓使用tbs浏览本地文件部分机型初始化失败

首先这些机型报错是提示插件初始化失败,请先检查网络,然后重启应用。查看代码发现是TbsState监听失败,所以考虑是不是权限请求问题,在android6.0前,所有的权限都只需要在Manifest中写,在6.0后推出了运行时权限。用户不必再安装软件时就授权所有的权限,而是在运行时需要用到什么权限就申请什么权限。所以我增加了运行时权限的代码,然后就可以了,但是打包到sit测试时,发现不能每次都成功,有时候还是会复现缺陷,然后得重装以后才能使用。查找资料发现很多人使用时遇到了坑。在Application

2021-09-02 18:13:57 947 2

原创 iOS个推连接电脑调试可以收到推送,但是打包测试收不到

在测试iOS推送时,测试机运行应用在前台、后台还有杀掉进程的情况下都是可以正常收到推送的。但是测试人员在测试时,只有app在前台或者进入后台时可以收到推送,杀掉进程以后就收不到了。杀掉进程后的推送都是走的苹果官方服务器的apns推送。开始我在排查是不是代码问题,但是后来想到在调试时我的推送环境是开发环境,但是测试人员下载的包是adhoc包,推送环境是正式环境,自然测试环境发的推送他们是收不到的。所以测试时也应该用正式环境的推送。综上,iOS的推送配置比较复杂,配置环境时需要细心。之前没有接入过个推,不够熟悉

2021-08-26 19:02:53 652

原创 个推iOS进入后台收不到消息,只有打开应用可以收到

在测试iOS推送时,发现在前台可以收到通知,但是回到桌面应用挂起后就收不到通知了,重新打开回到前台后又可以收到了。此时推送走得应该都是个推的服务器,而不是apns推送。查看控制台log,发现GeTuiSdkDidReceiveSlience: fromGetui: offLine: appId: taskId: msgId: fetchCompletionHandler:该方法透传的消息只有在前台才会打印,但是Background Mods设置中的Remotenotifications已经..

2021-08-26 18:40:49 1519

原创 github学习笔记

撤销修改:场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节

2021-08-26 18:29:33 85

原创 Mac下通过homebrew安装adb工具报错Unknown command: cask

如何在mac下安装adb呢?最简单的办法就是通过homebrew1.安装homebrewruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2.通过homebrew安装adbbrew cask install android-platform-tools网上一般都是这个命令,但是随着homebrew更新了,已经取消了cask命令,会报错所以..

2021-07-28 16:15:31 656 1

原创 iOS多线程浅析

首先需要我们明确几个概念:同步、异步和并发这里以一个网络请求来举例,也是我们平时用到多线程比较多的地方 同步:同步执行,所有的任务在同一个线程中执行。在ios中,UI的刷新都是在主线程操作的,如果你有一个网络请求,在网络请求的时间里就无法操作UI,因为线程被阻塞了异步:异步就是把网络请求放到了子线程中。便不会阻塞线程,你在等待网络请求数据的过程中,仍然可以点击按钮等空间并发:并发可

2017-06-25 15:52:26 307

转载 为什么不要工程中不要随意使用define定义常量

首先,预处理命令他不是一个常量!!!!我们来看一段代码#define avatar @"60" if (false) { #define avatar @"80" } NSLog(avatar);这段代码会输出多少,我们将“avatar”定义为了60,然后在一个永远不会执行的代码里面重新定义了“avatar”为80,if语句中的代码永远不会执行,但是在编译

2017-06-06 12:18:36 2785

原创 浅谈对property几个关键字的理解

看了许多教程,对assign, copy, strong的总结差不多如下:对于直接赋值的变量,如int,double,CGRect,使用assign;对于NSString,使用copy;对于对象类,使用strong(有时候是weak);(关于weak与strong:weak变量只是指向内存地址,并没有持有)但我个人使用NSString的时候写的修饰词一般是str

2015-09-19 17:31:49 394

原创 深度解析:C++传引用能否访问private成员?

今天实现一个矩阵类,重载相加运算符,我是这样实现的:Matrix Matrix::operator+(const Matrix& B)const{ if((row != B.row) || (col != B.col)) throw invalid_argument("The matrix should be matched"); Matrix& T

2015-04-16 21:23:17 2385

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除