
开发
文章平均质量分 81
重复的昵称嘛
一个程序员
展开
-
最近复习 知识点
有点杂乱,但是知识点还是值得学习的。2021-01-22Intel CISC complex instruction set computer 复杂指令集计算机 x86(32位 内存最大2的32次方 为4G),x64(64位,理论内存容量为2的64次方) Intel追求高性能ARM RISC Reduced Instruction-Set Computer 精简指令集计算机 ARM(32位)、ARM64(64位) x86 ARM追求低功耗lipo 命令 查看可执行文件 支持的CPU...原创 2021-03-15 19:39:56 · 342 阅读 · 0 评论 -
iOS 上接入Lottie动画 接入Json动画
iOS设备上的动画借助官方SDK:CoreAnimation那一套已经比较强大了,基本上的动效都能实现,就是1、开发这边比较累;2、安卓那边也比较累况且 俩平台最后展示的可能有些细节还不一样。借助Gif文件、视频文件等方式也有几个弊端:1文件体积比较大。2都没有官方支持。第三方库都有的。好像安卓那边接Gif不方便。那怎么办?早几年出了个动效引擎库Lottie,比较强大,好几个平台都能使用:web(h5)、iOS、Android上都有,接入简单,使用方便。吃入同一个json文件,展示相同的动画效果。满原创 2020-12-16 17:20:12 · 2486 阅读 · 0 评论 -
苹果内购 IAP内购 遇到的坑
首先明确 苹果商店IAP与苹果支付ApplePay不是一回事。怎么开启App的IAP功能,就不赘述了,网上一大堆。我现在这个开发已经接近尾声,但是,开发过程中对这个模块越来越熟悉,也就发现越来越多的问题。最头疼的就是在商品类型为non-renewable subscription(非自动更新订阅)类型时in_app[] 里面返回的记录太多,而类型为consumable (消耗型)的时 in_app[]里的记录可以做到只有一条,但都是没有App内的对应关系。比方场景如下1、A设备上的App..原创 2020-11-13 11:22:29 · 870 阅读 · 0 评论 -
Mac上搭建虚拟机 安装windows系列
MacBookPro的SSD终于坏掉了,我用了6年的电脑,里面的东西都没了。也没什么非常重要的不得了的,就算了,不花钱恢复了。维修的真是宰人,西数的SSD-512G的价格在500左右,给我要1400.要1400就算了,还tm要等了1周。我开始以为是公司跟他合作的,想着合作的就让他折腾,反正我也不急。早知道是个野鸡维修店,我TM自己动手了。Nvme协议的SSD,就跟内存条一样:插拔的,换上就好了。简单的很。总之,对这个园区的野鸡办公设备维修店没一点好感:你也就是仗着在园区吧,公司企业多,你要是在商业街,你原创 2020-08-28 18:38:59 · 2486 阅读 · 0 评论 -
Mac上Flutter开发 环境搭建
这里需要明确两个概念 Flutter SDK 、Dart SDK这是两个东西 我看网上也没几个人搞明白,估计搞明白了也没舍得说清楚,我反正是碰了钉子。如果只是简单的学习Dart语言,console打印,那么安装Dart SDK就够了,包含了运行时以及编译器等工具。如果想开发界面(android,iOS)那么只安装Flutter SDK也就够了,它包含了Dart SDK的功能,并且有自己的一些组建库和渲染引擎Skia。另外 IDE的话也有好几种,VSCode :Visual Studio原创 2020-07-30 11:37:20 · 598 阅读 · 0 评论 -
对Flutter、Dart的理解
先来个简单介绍吧,都是我网上找的,自己理解的,我需要关注的地方。什么是Flutter?一个开源的、跨平台的UI界面库,也叫框架(可以写界面也可以写简单逻辑),主要面向的移动设备,跨android、iOS两大平台,以及将来的Google的Fusia系统。也就是说界面一次编写,跨平台可用,不用维护两套代码。主要的是性能高,之前有些跨平台的移动应用框架reactnative等等吧,听说性能低下,动不动就需要调用原生平台的东西,代码也是比较混乱(猜测的,之前没把这些框架当回事,幸好没学,听说RN要完蛋了,Flu原创 2020-07-30 09:17:55 · 1121 阅读 · 0 评论 -
iOS LaunchImage 转LaunchScreen 2020.5.7
到2020年4月,上架APP的启动图必须使用launchscreen.storyboard,听说没有这个的不给通过审核了。赶紧更改一下,5月份要提交个新版本,这个不改其他新功能也提交不了。各种查找,尝试。最终算是弄好了,就等提交审核了。具体办法如下:1、添加LaunchScreen.storyboard文件:就是添加文件的流程。2、准备几个全屏图片:就是之前的LaunchImage,可...原创 2020-05-07 15:02:13 · 1224 阅读 · 0 评论 -
UITableView 遇到大量变高 cell时,如何提高加载速度
这个其实是老生常谈了。这里不涉及cell重用机制,以及渲染(layer等)优化技巧。只是针对变高,这一个变量来说,怎么能提高页面的加载速度。当然,针对几十个cell的情况,根本无需考虑怎么优化,或者上百的定高cell也不用考虑他的速度,原来的机制肯定是感觉上可以接受的。那么在遇到大量cell的时候,它的高度计算,到底是在什么时候计算是最合适的,对于使用体验是最好的,由于iOS的...原创 2020-02-29 14:34:05 · 379 阅读 · 1 评论 -
iOS adhoc 版本App 如何制作安装
这个其实很早之前,大概在2010年的时候就搞了,后面经过xcode的n次升级,形式不断变化,并且呢,itunes后来不支持app store了,我也不需要大批量,高频次的给别人测试,后来我就没搞了。需要看demo就直接拿设备连xcode 然后 debug --run--ok了。今天心血来潮,想弄个adhoc的app装装。结果不知道如何弄了。各种查资料。最后,总结了这么几个方法。注意,这个方法只...原创 2020-02-22 16:46:48 · 3450 阅读 · 1 评论 -
iOS推送
iOS的推送功能包括:远程推送以及本地推送,从iOS4到目前的iOS10,推送功能经历了多个版本的修改。现在做一个总结:基本已iOS8以及iOS10作为分界点,目前分为3个阶段,[iOS4,iOS8.0),[iOS8.0-iOS10.0),[iOS10.0-x],至于最早是不是iOS4.0开始有推送的,我不得而知,接触的最早的iOS系统就是4.0开始的。暂且这么认为吧。在第一个阶段的时候,原创 2017-03-14 10:05:31 · 643 阅读 · 0 评论 -
测试远程开关
1原创 2017-01-10 10:51:55 · 587 阅读 · 0 评论 -
iOS 开启常驻线程
iOS上开启常驻线程,有几个方式,我做了几个测试。(关于什么是常驻线程,不熟悉的同学自己脑补一下吧)1 iOS系统支持POSIX线程模型,当然就可以使用POSIX那一套线程api来开启常驻线程。void thread_fucn(void* arg){ while (1) { // doing work here ...原创 2016-04-13 18:39:23 · 4640 阅读 · 1 评论 -
iOS frame,bound,center,transform的区别
暂且占位,有时间了就来填这个空。原创 2016-05-24 16:14:48 · 957 阅读 · 1 评论 -
iOS 二维码扫描 实时扫描+相册选图
iOS 二维码 实时扫描+本地图片原创 2016-04-11 18:21:30 · 2199 阅读 · 0 评论 -
IOS中如何Hook消息
转载 http://www.cnblogs.com/smileEvday/archive/2013/02/28/Hook.html我们都知道在windows下可以通过API轻松的hook很多消息,IOS里面貌似还没有现成的API(可能是我还没发现吧),前段时间碰巧看到Objective-C运行时的一些东西,于是心想着是不是可以尝试一下实现hook的功能。 为什么要ho转载 2015-06-26 16:28:06 · 598 阅读 · 0 评论 -
iOS GCD 学习
iOS开发中,多线程应用方式一般有如下几种1 比较高层的,封装好的API:NSThread。用来创建非常驻线程以及常驻线程,默认支持NSRunLoop机制。2 比较高层的,封装好的API:NSOperation。用来管理他的是NSOperationQueue。每一个NSOperation都是一个独立的线程。同样你可以设置其为常住线程比方while(1)这种恶心的代码。3 比较底层的,简原创 2015-12-11 16:34:37 · 896 阅读 · 0 评论 -
iOS NSURLSession 学习(2)
到底NSURLSession是怎么工作的?我做了个实验,如下图,感兴趣的同学可以自己查看分析组织自然语言是程序员的弱点,我就罗列几个结论吧1 瞬间给NSURLSession添加5个下载任务,那么他会启动几个任务呢,从log看,大概是4个,我让程序跑了几分钟,任务都没完成的时候,始终没有 task 5出现。2 同一个Task,接收到数据-->写入缓存-->回调(注意顺序)原创 2015-12-11 18:28:49 · 575 阅读 · 0 评论 -
iOS NSURLSession 学习(1)
如果服务器是Web服务器,上传下载文件的时候一般用HTTP协议来做。iOS7.0以后,官方建议使用NSURLSession来做。一直没有时间仔细学习,看了下这个模块的一些类,开始觉得有些复杂,先画个类图,从图形上直观的感受这个模块中类之间的关系,类图工具使用的是 http://uml.riaoo.com/ 感谢作者。原创 2015-12-11 11:49:24 · 462 阅读 · 0 评论 -
网关 是什么
网关就是网络关口设备的简称,比方一个路由器,一个交换机等都可以是网关,连接到上面的其他设备的网关就是这个路由器或者这个交换机。网关地址:其实说的是 网关设备,也就是路由器/交换机 在局域网的IP地址,他设置为哪个网段,那么连接到他上面的局域网内的其他设备的网关就是这个IP地址,并且连接的设备的IP地址必须与网关地址在同一个网段。每一个路由器/交换机,一般都会有两个设置部分:局域原创 2015-12-29 16:39:11 · 1949 阅读 · 0 评论 -
iOS AVAudioPlayer AVAudioRecorder 录音和播放
iOS AVAudioPlayer AVAudioRecorder 录音和播放原创 2015-12-30 13:12:15 · 2995 阅读 · 0 评论 -
iOS 中 objectForKey与valueForKey 的区别
今天看到了这个东西,一直以来也不清楚,所以valueForKey基本不用。但是,又比较好奇,想搞清楚,就查了一些资料,算是理解了。objectForKey:是NSDictonary的API,用于获取这个HASH表中的某个key对应的对象,从NSDictionary的定义来看,这个Key可以是任何NSObject,不一定非得是NSString对象。这一点,大家可以验证,从而引发另原创 2015-12-10 09:37:25 · 6205 阅读 · 0 评论 -
iOS 语音类App播放自己的录音完毕后,如何重新继续播放音乐
前一篇文章讲述了,iOS平台如何录音,以及如何播放录音,也就是回放录音。那么,如果在你播放你的录音之前,已经有音乐类的App在后台正在播放音乐,这个时候一般的做法是先暂停音乐播放---->播放你自己的录音---->继续播放后台的音乐。其实,方法也比较简单,就几行代码如下播放之前 [[AVAudioSession sharedInstance] setActive:YES err原创 2015-12-30 14:05:19 · 9108 阅读 · 0 评论 -
iOS 页面组织 显示规则
画了一个简单的组织结构 示意图,看图说话1 每个App必须有一个window用于展示页面。2 每个App的这个window必须有一个rootViewController,用于直接/非直接管理后续的ViewController。3 显示规则:系统将正在显示的页面 挂载到window上,用于展示。而不展示的页面,则会从window上暂时移除(其window为nil,而他原创 2015-12-17 18:13:59 · 663 阅读 · 0 评论 -
Mac 系统使用Git进行版本管理
关于Git的介绍,网上一大堆,基本上来就是撕逼SVN的。我想说SVN你都用过它的几个命令啊?被喷的一文不值似的。近几年几乎一直是 一个人开发,所以,神马冲突之类的几本没遇到,SVN用的挺好,很有可能就是因为我几乎只用几个命令就完成我的需求了:更新,提交,做分支,就完事儿了。但是,挡不住逼格诱惑,都说Git如何如何。。好吧,我也来武装一下自己的逼格。一般安装了Xcode就自带原创 2015-12-25 15:26:40 · 8355 阅读 · 0 评论 -
Base64 编码 学习
Base64是一种用64个字符来表示任意二进制数据的方法。用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编码方法。Base64的原理很简单,首先,准备一个包含64个字符的数组:['A',转载 2016-01-28 17:23:08 · 1217 阅读 · 0 评论