自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iOS在手动kill进程时,再次调用了main函数的初始化流程问题排查

iOS 应用在手动kill进程时,却再次调用了main函数的初始化,进而调用了AppDelegate的相关方法,进一步调用了部分页面的生命周期;现象:app启动时没有调用部分接口,而是kill进程时调用了,再一些业务场景内是不能满足业务需求的排查原因如下:app的通知角标显示清除功能相关代码造成- (void)bk_clearBadge { // 注释iOS11及以上代码,在iOS11及以上的APP沙盒内查看启动次数 if (@available(iOS 11.0, *))

2021-04-23 16:54:14 342

原创 什么短信隐私政策

【特别提示】请您仔细阅读我们的《什么短信隐私政策》并确定了解我们对您个人信息的处理规则。阅读过程中,如您有任何疑问,可及时与我们取得联系。如您不同意协议中的任何条款,您应立即停止访问或使用什么短信功能。生效日期:2020年3月18日一、我们处理个人信息的总原则什么短信不收集、存储、上传您的任何信息,永不会让应用使用网络权限,亦称为什么短信是一款完全离线的应用。此外,如果您希望将自己的短信提供给我们,会通过该应用以外的方式提交给我们,我们会将您提交的短信进行脱敏处理,不会泄露您任何信息。二、本隐私政策

2021-01-02 22:00:52 383

原创 cocoapods-ybin二进制源码映射使用教程

一、背景  随着项目业务的不断迭代和新增,每个业务线负责不同的功能模块,组件化势必是需要进行的工作。业界内,无论是哪种组件化方案,目的是一样的,分离业务和功能。  组件化虽好,但是组件化只是将不同的业务分离或者不同的功能分离和分层,实际上还是在一个代码池里每次 build 需要进行编译、汇编、链接等过程。每次编译的占用的时间还是挺奢侈的,在编译速度上并没有提升。pod install 来回切换二进制和源码也更是一件可行不可取的开发模式。  cocoapods-ybin 解决二进制和源码之间的映射问题,

2020-09-05 01:02:07 695

原创 Mac 上如何正确的安装Python2.7和Python3

一、Python 介绍Python介绍Python3在2008年12月3日正式发布, 但是有很多library还是使用Python2.7,所以需要在Mac里面同时装这两个版本,并且和系统所使用的Python区分开来呢?今天要写的是如何第一次就正确安装好,并且切换预设版本,不在误用系统的Python。二、安装STEP 1 安装Xcode安装完成后 安装 Xcode comma...

2018-03-14 15:50:38 37347 3

原创 iOS横向滚动的scrollView和系统pop手势返回冲突的解决办法

原理:scrollView的pan手势会让系统的pan手势失效,所以我们只需要在系统手势失效且scrollView的位置在初始位置的时候让两个手势同时启用就可以了1.首先自定义一个scrollView,比如:CustomScrollView,遵守协议,然后在实现文件中写如下代码:-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestur...

2018-03-14 14:33:56 1136 1

原创 iOS链接跳转到App

可行的方案大概有三种:一、直接使用URL Scheme。(优点:十分简单,在plist文件中配置一个scheme,点击短信中的scheme或者将scheme输入到浏览器中就可以直接跳到App中。 缺点:当手机上没有安装App时,短信中点击scheme会没有反应,浏览器中会访问失败。而且在微信和QQ中这种方式是被禁用的)。二、使用iOS9之后的新特性,通用链接(Universal Links...

2018-03-14 13:45:30 9638 2

原创 教你深刻理解Runtime机制

教你深刻理解Runtime机制什么是Runtime?概念Objective-C是基于C语言加入面向对象特性和消息转发机制的动态语言,这就是说它不仅需要一个编译器,还需要Runtime系统动态的创建类和对象,进行消息发送和转发。关于Runtime概念众说纷纭。理解Runtime,我们从源码开始…. 源码介绍 Runtime在实际开发中,其实就是一组C语言函数。官方介绍:官方文...

2018-03-13 18:20:44 1521

原创 runtime如何实现weak变量的自动置nil?

runtime 对注册的类, 会进行布局,对于 weak 对象会放入一个 hash 表中。 用 weak 指向的对象内存地址作为 key,当此对象的引用计数为0的时候会 dealloc, 在这个 weak 表中搜索,找到所有以a为键的 weak 对象,从而设置为 nil。weak 修饰的指针默认值是 nil (在Objective-C中向nil发送消息是安全的)...

2018-02-26 14:19:20 772

原创 能否想编译后的类中添加实例变量,能否像运行时创建的类添加实例变量?

1.不能向编译后得到的类增加实例变量2.能向运行时创建的类中添加实例变量原因:a.编译后的类已经注册在runtime中,类结构体中的objc_ivar_list实例变量的链表和instance_size实例变量的内存大小已经确定,runtime会调用class_setvarlayout或class_setWeaklvarLayout来处理strong weak引用.所以不能向存在的...

2018-02-26 14:17:28 1245

原创 objc在向一个对象发送消息时,发生了什么?

objc在向一个对象发送消息时,runtime库会根据对象的isa指针找到该对象实际所属的类,然后在该类中的方法列表以及其父类方法列表中寻找方法运行,然后在发送消息的时候,objc_msgSend方法不会返回值,所谓的返回内容都是具体调用时执行的objc中向一个nil对象发送消息将会发生什么?如果向一个nil对象发送消息,首先在寻找对象的isa指针时就是0地址返回了,所以不会出现任何错误。...

2018-02-26 14:10:32 2826

原创 3种类型的block

根据isa指针,block一共有3种类型的block_NSConcreteGlobalBlock 全局静态_NSConcreteStackBlock 保存在栈中,出函数作用域就销毁_NSConcreteMallocBlock 保存在堆中,retainCount == 0销毁...

2018-02-26 14:01:13 784

原创 iOS多线程—线程间的通信

介绍线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信线程间通信的体现1个线程传递数据给另1个线程在1个线程中执行完特定任务后,转到另1个线程继续执行任务线程间通信常用方法(void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL...

2018-02-26 14:00:49 546

转载 iOS中,@dynamic关键字和@synthesize关键字是用来做什么的?

@synthesize:如果不实现setter和getter方法,将按照编译器的规则自动生成setter和getter方法.@dynamic:直接或动态的执行setter和getter方法.通常自己实现setter和getter方法,我们基本上不会用到.@dynamic 关键词的场景,之前@dynamic只在NSManagedObject的子类中遇到过,因为NSManagedObjec...

2018-02-26 10:27:27 1214

原创 MVC、MVVM和MVP的区别

MVCMVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最早由Trygve Reenskaug在1978年提出[1] ,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式...

2018-02-26 10:00:01 261

原创 为什么说Objective-C是一门动态的语言?

什么叫动态静态静态、动态是相对的,这里动态语言指的是不需要在编译时确定所有的东西,在运行时还可以动态的添加变量、方法和类Objective-C 可以通过Runtime 这个运行时机制,在运行时动态的添加变量、方法、类等,所以说Objective-C 是一门动态的语言其他说法Objective-C 是C 的超集,在C 语言的基础上添加了面向对象特性,并且利用Runtime 这个运...

2018-02-26 09:51:59 4118

转载 Elasticsearch 和插件 elasticsearch-head 安装详解

一、Elasticsearch 安装什么是 Elasticsearch ? Elasticsearch 是一个基于 Apache Lucene(TM) 的开源搜索引擎。无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。并通过简单的 RESTful API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。Elasticsearch

2018-01-30 11:21:27 335

原创 git小技巧:git blame && git show 查看某一行代码的修改历史

先查看某行代码由谁写的,在哪个commit中提交的:git blame file_name其显示格式为: commit ID | 代码提交作者 | 提交时间 | 代码位于文件中的行数 | 实际代码 类似于下面这样:从而获得commit ID,我们就可以知道commit ID了,然后使用命令:git show commitID来看

2017-12-20 11:31:00 14008 1

原创 android基本架构

Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。 Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行。android分为四个层,从高层

2017-12-19 20:50:18 483

原创 Python pip install requests产生的错误

错误Exception:Traceback (most recent call last): File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main status = self.run(options, args) File "/Library/Py

2017-12-16 11:09:10 2229

原创 UIViewAnimation动画过程中的手势响应

UIView动画以下方法在动画过程中手势交互默认是关闭的。+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^ __nullable)(BOOL finished))completion NS_AVAILABLE_IOS(4_0);

2017-12-15 14:57:47 1090

原创 IntelliJ IDEA 编译报错:Error:java: Compilation failed: internal java compiler error

报错内容:Information:Using javac 1.8.0_73 to compile java sourcesInformation:java: javacTask: 源发行版 1.8 需要目标发行版 1.8Information:java: Errors occurred while compiling module 'EZSonar'Information:Module "EZ

2017-12-14 14:23:35 625

转载 一个故事让你彻底理解 Https

一些教程经常提到 POST 比 GET提交数据更安全,真正从安全的角度来说,只要是 Http 请求,都不安全 。(补充 @王泥煤 的回复 post的确比get更安全,这一点与https无关。因为用get方式传密码会被日志系统记录下明文,或者被第三方的referer带出去,即便你采用了https)如果你连一个公共场所的 wifi,连接该 wifi 的所有人都可以嗅探你发的网络请求的明文数据,包括用户名

2017-12-11 17:24:12 574

原创 joda-time的使用

Home:http://joda-time.sourceforge.net/ JavaDoc:http://joda-time.sourceforge.net/apidocs/index.html package com.yan.joda; import java.util.Calendar; import java.util.Date; import java.util.Locale;

2017-12-11 15:18:57 178

原创 commons.lang中常用的工具

一、前言Java码农不识Apache,敲尽一生也枉然。旗下的开源项目众多,各个都是吊炸天。今日且说Commons,轻轻点击此链接进入Apache Commons主页,Logging、Pool、Net、ONGL、EL、IO、DBCP、Email、Collection、Lang……等等项目中常用到的包。而这篇文章的主角Lang则是我们最常用的工具作为jdk的补充,怎能不去详细探究一番!二、字符串的处理类

2017-12-11 14:16:31 173

原创 org.apache.commons.lang3功能演示

代码import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Calendar; import j

2017-12-11 11:56:20 469

原创 Maven的pom.xml介绍

简介  pom.xml文件是Maven进行工作的主要配置文件。在这个文件中我们可以配置Maven项目的groupId、artifactId和version等Maven项目必须的元素;可以配置Maven项目需要使用的远程仓库;可以定义Maven项目打包的形式;可以定义Maven项目的资源依赖关系等等。对于一个最简单的pom.xml的定义必须包含modelVersion、groupId、artifact

2017-12-11 11:10:18 170

原创 为什么你申请微信支付收到的邮件中没有PaySignKey?

微信支付现在分为v2版和v3版2014年9月10号之前申请的为v2版,之后申请的为v3版。V2版中的参数有 AppID AppSecret 支付专用签名串PaySignKey 商户号PartnerID 初始密钥PartnerKey并且包含一个证书文件: 安全证书V3版中的参数有 AppID AppSecret 商户号PartnerID 初始密钥PartnerKey 商户号MCHI

2017-12-06 09:38:37 2148

转载 用Xamarin和Visual Studio编写iOS App

一说开发 iOS app,你立马就会想到苹果的开发语言 Objective C/Swift 和 Xcode。但是,这并不是唯一的选择,我们完全可以使用别的语言和框架。一种主流的替换方案是 Xamarin,这是一个跨平台框架,允许你开发 iOS、Android 和 OSX、Windows app,它使用的是 C# 和 Visual Studio。最大的好处在于,Xamarin 允许你在 iOS 和 A

2017-11-22 12:41:03 4928 1

原创 iOS开发 解决WKWebView加载的h5,无法调用拨打电话功能

H5的拨打电话代码:<a href="tel:13112345678">移动WEB页面JS一键拨打号码咨询功能</a> UIWebView加载的h5,可以调用;但是WKWebView就是不行,找了半天,最后解决,在WKWebView的WKNavigationDelegate代理方法处理,代码如下:// 处理拨打电话以及Url跳转等等 - (void)webView:(WKWebView *)w

2017-11-21 11:25:02 2203

原创 利用UIPanGestureRecognizer 判断手势滑动方向

/** * 添加平移手势 * * @param view */ - (void)addTapGestureWithView:(UIView *)view { UIPanGestureRecognizer *recognizer = [[UIPanGestureRecognizer alloc]

2017-11-21 10:44:53 7782

原创 iOS 11 下 UICollectionView 的HeaderView 遮挡滚动条

这个问题在之前的 iOS 10 上是没有的,iOS 11 新出之后才出现。在使用了- collectionView: viewForSupplementaryElementOfKind: atIndexPath:的 UICollectionView 页面中,滑动页面的时候滚动条会被 HeaderView 遮挡.修改前的样子://// CustomCollectionReusableView.m

2017-11-16 10:13:49 1060

原创 解决 苹果对二进制 __TEXT 段大小限制问题

背景苹果官方审核规定(官方地址):当二进制 __TEXT 无法继续瘦身下去,就必须想办法绕过了。解决方法利用 rename_section 过审核,在Xcode中向 “Other Linker Flags” 中添加:-Wl,-rename_section,__TEXT,__cstring,__RODATA,__cstring-Wl,-rename_section,__TEXT,__const,

2017-11-10 15:31:14 1535

原创 中国国测局地理坐标(GCJ-02)、世界标准地理坐标(WGS-84) 、百度地理坐标(BD-09)坐标系转换

YJLocationConverter中国国测局地理坐标(GCJ-02)<火星坐标>、世界标准地理坐标(WGS-84) 、百度地理坐标(BD-09)坐标系转换工具类需求一、在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系:1.WGS-84原始坐标系,一般用国际GPS纪录仪记录下来的经纬度,通过GPS定位拿到的原始经纬度,Google和高德地图定位的的经纬度(国外)都是基于WGS-84

2017-11-09 15:25:08 24407

原创 MAC 为python3安装 beautifulsoup4

先装pip (终端)输入命令:sudo easy_install pip安bs4 输入命令:pip install beautifulsoup4出现错误 OSError: [Errno 13] Permission denied:输入命令:sudo easy_install beautifulsoup4这时把bs装到了Mac系统自带了Python2.7把beautifulsoup4装到Pytho

2017-11-03 10:55:42 1410

原创 mac 下安装pip

pip是常用的python包管理工具,类似于java的maven。用python的同学,都离不开pip。 在新mac中想用home-brew安装pip时,遇到了一些小问题:bogon:~ houmanager$ brew install pipError: No available formula with the name "pip"Homebrew provides pip via: `br

2017-11-02 23:03:15 206

原创 iOS一行shell脚本自动打包上传指定位置

一、背景在实际开发中,需要不停的打各种包,开发人员忙于新需求实现,打包时重复而且没有意义的事情。于是造了这个轮子,配置好参数一键上传到内测网站(蒲公英、Fir等)或者APPStore。源码地址:https://github.com/stackhou/AutoPacking-iOS二、预览效果图2.1 执行脚本 和 选项配置2.2 开始构建2.3 构建成功并开始导出ipa2.4 导出ipa成功并上传到

2017-10-12 16:48:42 1052 1

原创 Xcode 9 在 Jenkins 自动打包脚本 中使用 Xcode integration 插件打包失败的原因

问题使用 Jenkins 来做 iOS 项目的持续集成,升级 Xcode 9 之后,编译完成之后打包会一直报如下所示的错误:error: exportArchive: "APPNAME.app" requires a provisioning profile with the Push Notifications feature.Error Domain=IDEProvisioningErrorDo

2017-10-11 10:54:59 4842 3

原创 -bash: netstat: command not found

yum install net-tools一路-y-y-y完成:

2017-10-09 16:05:22 3790

原创 Banner 怎么实现轮播不同尺寸的图片

需求:UI设计APP的 BannerView 轮播图的图片每个Item尺寸不同,比如:设计 BannerView 的可视区域大小是 375 x 420px, 而图片来源一些是375 x 420px, 而另一些是 375 x 450px 的, 对于高度为 450px 的图片就会有 y 方向上的压缩,造成变形。解决办法:将不同尺寸的图片资源用不同的控件放置,控件A放置 375 x 420px的图片,控件

2017-09-30 15:06:04 6240

原创 iOS 将UIView控件转换成UIImage对象

源码地址:前去查看链接/** 将 UIView 转换成 UIImage @param view 将要转换的View @return 新生成的 UIImage 对象 */- (UIImage *)yj_convertCreateImageWithUIView:(UIView *)view{ UIGraphicsBeginImageContext(view.bounds.size);

2017-09-29 09:55:20 1963

德赛西威187B最新固_20200303.zip

德赛西威最新的187B固件升级解决问题: 主要解决如下bug: 1、倒车无影像; 2、DDR 参数配置错误致死机、反应慢,无法开机等; 3、调节音量FM无声音; 4、偶尔黑屏重启; 5、Carplay 导航意突然变大; 6、Carplay状态下百度地图反应卡滞及Carplav.反应速度慢;

2021-10-30

空空如也

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

TA关注的人

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