自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

劉光軍_Shine的博客

日常的技术积累整理

  • 博客(96)
  • 收藏
  • 关注

原创 心理学与生活

南京大学-陈昌凯2022-7-1婴儿气质:个体唤醒模式和情绪特点,在不同的年龄阶段具有一定的稳定性。1、易养型婴儿:具有积极倾向,身体运作有规律,适应性强,有好奇心,情绪处于中低强度状态2、难养型婴儿:心境皮纳箱消极,适应性弱,面对新情境倾向于退缩3、发动缓慢性婴儿情感依恋:婴儿依恋敏感期从6个月大开始,结束尚不明确依恋类型:1 安全型依恋2 回避型3 抗拒型4 混...

2022-07-02 11:58:41 131

原创 Flutter TextButton相关

flutter 2.0版本新增了三个按钮TextButton、OutlinedButton、ElevatedButton以TextButton为例:属性:const TextButton({ Key? key, required VoidCallback? onPressed, VoidCallback? onLongPress, ButtonStyle...

2021-03-20 15:33:12 1807

原创 Charles iOS抓https包

1、iPhone 连mac IP 代理2、Charles -> Help -> SSL Proxying -> Install Charles Root Certificate -> 钥匙串里找到Charles证书点击完全信任3、Charles -> Help -> SSL Proxying -> Install Charles Roo...

2020-04-10 17:39:27 203

原创 xcode解决xxx has conflicting provisioning settings.

xcode连真机测试报错:xxx has conflicting provisioning settings.xxx is automatically signed, but provisioning profile b9c32186-a5ad-43dd-a910-1c639b1ad5c3 has been manually specified. Set the provisio...

2020-04-07 17:01:15 1112

原创 iOS H5微信支付总结

功能描述1、webView加载H5页面2、点击微信支付,调起微信客户端支付3、支付完成,返回APP操作流程1、调起微信的项目设置选中‘TARGETS’一栏,在‘info’中的‘LSApplicationQueriesSchemes’添加‘weixin’,已添加过的可以忽略此步骤2、H5拦截微信支付请求,跳转微信2.1 WKWebView/...

2019-12-30 17:13:06 829

原创 iOS webview中调用相机相册崩溃问题

在webview中原生与H5交互时使用到原生调用相机或者相册时[self presentViewController:picker animated:YES completion:nil];出现:accessing _cachedSystemAnimationFence requires the main thread异常崩溃。解决方法比较简单:dispatch_a...

2019-12-24 17:09:12 1812

原创 iOS AVFoundation动态人脸识别功能

一、AVCaptureSession:设备输入数据管理对象可以根据AVCaptureSession创建对应的AVCaptureDeviceInput、AVCaptureVideoDataOutput对象创建出来的Input、Output对象会被添加到AVCaptureSession中管理,代表输入、输出数据对象,它配置抽象硬件设备的ports。// 1.创建媒体管理会话...

2019-12-12 18:51:07 493

原创 iOS视频弹幕

前言项目中要在原有的视频基础上添加弹幕功能,主要包含开始、停止、暂停、恢复、发送弹幕、弹幕点击等小功能。找到之前一个封装的弹幕库,在原有的基础上做了些功能改动和添加,写在这里记录一下。项目层级关系屏幕快照 2019-11-25 下午4.09.19.pngDanmuSend这块儿主要是负责发送弹幕功能包含DanmuSendView和DanmuOperateVi...

2019-11-25 16:54:09 332

原创 解决Xcode真机调试证书问题

首先确认您的证书是齐全的。在证书手动配置和自动配置切换的时候发现的这个问题:一般在项目中会报这个错:项目名称 has conflicting provisioning settings. 项目名称 is automatically signed, but provisioning profile df7171b8-e8f0-4916-a0eb-12cbc9d8ed3c has...

2019-04-18 11:12:37 620

原创 iOS推送语音播报(类似支付宝收款提醒)

需求分析实现类似支付宝微信收款后的语音播报如:支付宝到账xx元。要求是APP在前台运行、锁屏、杀死进程后都会有语音播报。那想到的解决方案就是利用推送了。功能实现思路分析上面说了,要使用推送,也就是APNs,这里我使用了极光推送,接下来就是实现手机接收到通知之后播报语音了,关于这个功能的实现在iOS10以后苹果新增了“推送拓展”UNNotificationServiceExte...

2019-04-01 10:30:51 812

原创 iOS collectionView拖拽排序

项目中首页按钮按照需求需要实现拖拽排序并且记录排序后的布局,下次再进入APP后展示排序后的布局。功能分析实现此功能需要实现两个点,第一就是拖拽排序的实现,第二就是存储排序后的布局,针对第一个功能点,拖拽排序:这个可以使用collectionView系统自带的功能来实现,针对第二个功能点,我使用NSUserDefaults本地存储盛放collectionViewCell内容的数组...

2019-01-29 11:45:42 608

原创 iOS 百度地图定位签到实现

写在前面:项目需求用到这个功能,主要目的是实现老师设置位置签到范围,学生在一定范围内进行签到的功能。功能如下方截图:屏幕快照 2019-01-28 上午10.29.26.png简要介绍:下面记录一下主要的实现流程,功能的实现主要是根据百度地图开发者官网提供的api文档,各项功能之间组合。百度地图的SDK现在分成了地图功能和定位功能两块不同的SDK,BaiduM...

2019-01-28 11:10:21 521

原创 旧项目在xcode10遇到的问题

1、 Multiple commands produceMultiple commands produce '/方案一修改 Xcode 的配置暂时解决了编译报错的问题。Xcode -> File -> Workspace settings -> Build System,选择 Legacy Build System 。方案二选择打开所在的项目Ta...

2019-01-08 22:10:23 1016

原创 iOS配置开发者证书流程整理

在配置开发者证书之前,先了解一下开发者中心里面关于证书的几个选项,方便了解整个流程3AB3C277-C304-456B-848F-16790F68BD30.png1、Certificates 开发者证书分为开发(iOS Development)和发布(iOS Distribution)两种类型。这个是最基础的,用来证明自己是开发者身份的。里面还包含推送APNS推...

2018-12-12 21:16:21 263

原创 ReactiveCocoa常用方法总结

1、RACSignal使用:// RACSignal使用步骤: // 1.创建信号 + (RACSignal *)createSignal:(RACDisposable * (^)(id<RACSubscriber> subscriber))didSubscribe // 2.订阅信号,才会激活信号. - (RACDisposable *)subscr...

2018-12-04 18:52:09 107

原创 iOS 登录、退出流程整理

写在前面仅以此文记录APP登录、退出登录比较简单核心的流程。流程梳理登录流程有两种情况,1、未登录时,打开APP先进入登录页面,点击登录后进入首页。2、已登录时,打开APP直接进入首页。这里我们已最精简的流程图表示这两种登录情况。1:未登录情况未登录.png2:已登录情况已登录.png代码编程我项目是用的RAC+MVVM开发的,可能有些地...

2018-11-21 19:20:41 793

原创 iOS UIAlertController二次封装

一:初始化+ (instancetype)initDLAlertControllerWithTitle:(NSString *)title message:(NSString *)message style:(DLAler...

2018-11-21 17:12:10 173

原创 友盟分析工具couldn’t be opened using text encoding Unicode (UTF-8)

couldn’t be opened using text encoding Unicode (UTF-8) 说明.csv文件编码格式不是utf-8,我们需要将这个.csv文件转为utf-8格式。操作方法:1:右击.csv文件,打开方式选择“文本编辑”屏幕快照 2018-10-16 上午11.12.36.png2:打开后shift+cmd+s保存新的文本文件...

2018-10-16 11:17:17 372

原创 修复xcode代码提示失效

退出 Xcode找到 这个 DerivedData 文件夹 删除 (路径: ~/Library/Developer/Xcode/DerivedData)删除这个 com.apple.dt.Xcode 文件 (路径: ~/Library/Caches/com.apple.dt.Xcode)运行 Xcode 就好了~~ ...

2018-09-19 10:28:26 157

原创 iOS 二维码扫描相关

写在前面最近项目要实现相机扫描二维码功能,具体要求:1、扫描框 2、扫描动画 3、相册识别二维码 4、声音反馈。记得之前用过三方库做过类似功能,但是也是知其然不知其所以然,然后今天自己用原生api简单封装了一个二维码扫描控件。项目结构介绍控件封装后主要结构如图:屏幕快照 2018-09-07 上午9.01.52.png如图中代码目录,vender里面放的...

2018-09-07 09:44:01 166

原创 iOS webview捕获H5按钮方法

实现iOS webview捕获使用H5中按钮的点击方法,可以使用JSContext。1、在工程中Linked Frameworks and Libraries中加入JavaScriptCore.framework2、在使用的地方#import <JavaScriptCore/JavaScriptCore.h>3、实现webview的代理方法- (void)web...

2018-08-08 15:49:25 240

原创 iOS 根据 crash 崩溃 报告的内存地址定位到代码位置

1,首先要有崩溃的app上传时候的打包文件,也就是 .xcarchive文件。这个文件可以通过以下方法找到,点击Xcode右上角的Organizer,然后点击Organizer上面的Archives,就可以看到下面有个列表,列出的都是打包的文件,其中一个就是你打包时候留下的,找到它。找到后点击右键显示包内容,看到dSYMs文件和Products文件夹 。先打开dSYMs文件夹,看到...

2018-05-08 21:59:12 316

原创 iOS 类似复制链接打开淘宝APP后弹出页面功能

写在前面我们应该都有用过这个功能,你的朋友微信给你分享了一个淘宝里面的商品链接,然后当你复制这个链接打开淘宝APP的时候,就会弹出一个弹窗,像这样:example.PNG这个功能想必大家都挺熟悉,受这个启发我们产品也想在我们APP上添加这样一个功能,与这个不一样的是,当我们复制一段网址的时候打开我们的APP会弹出框填一些信息后上传到我们的“资源库”。大体功能就这...

2018-05-07 18:54:01 837

原创 Python序列化

在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict:d = dict(name = 'Bob', age = 20, score = 88)可以随时修改变量,比如把name改成Bill,但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的Bill存储到磁盘上,下次重新运行程序,变量又被初始化为Bob。我们把变量从内存中变成可存储或传输的...

2018-04-09 20:29:32 56

原创 Python 错误处理

在程序运行的过程中,如果发生了错误,可以实现约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因,在操作系统提供的调用中,返回错误码非常常见,比如打开文件的函数open(),成功时返回文件描述符(就是一个整数),出错时返回-1。用错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果和错误码混在一起,造成调用者必须用大量的代码来判断是否出错:def foo():...

2018-04-08 17:51:44 88

原创 Python使用元类

type()动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。比方说我们要定义 一个Hello的class,就写一个hello.py模块:class Hello(object): def hello(self, name = 'world'): print('Hello, %s.' % name)当Pytho...

2018-04-04 17:41:54 74

原创 Python使用@property

在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改:s = Student()s.score = 9999这显然不合逻辑,为了限制score的范围,可以通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数:class Student(object): def get_...

2018-04-04 10:45:16 77

原创 Python使用__slots__

正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:class Student(object): pass然后,尝试给实例绑定一个属性:>>> s = Student()>>> s.name = 'Michael' #动态给实例绑...

2018-04-03 12:01:40 66

原创 Python面向对象编程-访问限制

在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性:>>> bart = Student('Bart Simpson', 59)>>> bart.score59>&g...

2018-04-02 16:36:34 74

原创 Python 偏函数

Python的functiools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例:int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换:>>...

2018-03-30 10:41:13 133

原创 iOS Xcode9 封装生成.framework

iOS中.a与.framework库的区别参考这篇文章http://www.cocoachina.com/ios/20161012/17730.html73673A77-896B-44DB-9967-2B3321F0F65B.png从上面我们可以看出.a 和.framework的区别就是.a+.h+soureFile=.framework,这样的话,我们还是直接封...

2018-03-29 16:20:39 101

原创 Python装饰器

由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。>>> def now():... print('2015-3-25')...>>> f = now>>> f()2015-3-25函数对象有一个__name__属性,可以拿到函数的名字:>>> now....

2018-03-28 18:18:27 73

原创 Python 匿名函数

当我们在传入函数时,有些时候,不需要显示地定义函数,直接传入匿名函数更方便。在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x²时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:>>> list(map(lambda x: x *x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))[1, 4, 9, 1...

2018-03-28 16:53:04 65

原创 Python 返回函数

函数作为返回值高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。实现一个可变参数的求和,通常情况下,求和的函数时这样定义的:def calc_sum(*args): ax = 0 for n in args: ax = ax + n return ax ...

2018-03-28 16:29:20 78

原创 Python高级特性之迭代器

我们已经知道,可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list、tuple、dict、set、str等;一类是generator,包括生成器和带yield的generator function。这些可以直接作用于for循环的对象称为可迭代对象:Iterable。可以使用isinstance()判断一个对象是否是Iterable对象:>&g...

2018-03-26 14:37:42 85

原创 Python高级特性之生成器

通过列表生成式,我们可以直接创建一个列表,但是受内存限制,列表容量肯定是有限的,而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间,在Python中...

2018-03-23 14:13:17 92

原创 Python高级特性之列表生成式

列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。举个例子,要生成list[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],可以用list(range(1,11)):>>> list(range(1, 11))[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]但...

2018-03-22 17:25:44 74

原创 Python高级特性之迭代

如果给定一个list或tuple,我们可以通过for循环来便利这个list或tuple,这种遍历我们成为迭代(iteration)。在Python中,迭代是通过for...in来完成的,而很多语言 比如c语言,迭代list是通过下标完成的,比如Java代码:for (i = 0; i < list.length; i++) { n = list[i];}...

2018-03-22 17:08:50 85

原创 Python高级特性之切片

取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下:>>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']取前3个元素,应该怎么做?笨方法:>>> [L[0], L[1], L[2]]['Michael', 'Sarah', 'Tracy']之所以是笨方法...

2018-03-21 17:22:02 74

原创 Python函数的参数

一、位置参数例如我们写一个计算x²的函数:def power(x): return x * x对于power(x)函数,参数x就是一个位置参数。当我们调用power函数时,必须传入有且仅有的一个参数x:power(5) power(15)现在如果要计算x³怎么办?可以在定义一个power3函数,但是如果要计算x4、x5、、、怎么办?我们不可能定义无限多个函数。...

2018-03-21 17:03:03 121

空空如也

空空如也

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

TA关注的人

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