自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 资源 (15)
  • 收藏
  • 关注

原创 老旧Mac不能升级macOS Ventura 13解决方案

但不幸的是,更新最新的xcode的需要更新最新的系统。而最新的macOS Ventura 13仅仅支持2017及之后的Pro以及18年及之后的Air产品(大概),这就导致16年及以前的MacBook,对于打包上传来说,基本上废了。但好在有很多机智的网友,研发出了很多方法。经过测试,我的MacBook Pro 2016确实成功升级并上传且通过审核。

2023-06-01 00:45:48 3550

转载 为什么说基于TCP的移动端IM仍然需要心跳保活?

1、前言有关TCP协议的权威理论介绍,请参见《TCP/IP详解》这本书。说明:本文引用了网易云信项望烽的技术文章,感谢分享。 2、学习交流- 即时通讯开发交流群:215891622 [推荐]- 移动端IM开发推荐文章:《新手入门一篇就够:从零开发移动端IM》3、参考资料《TCP/IP详解-第11章·UDP:用户数据报协议》《TCP/I

2016-11-11 13:29:50 1130

转载 漫谈iOS Crash收集框架

为了能够第一时间发现程序问题,应用程序需要实现自己的崩溃日志收集服务,成熟的开源项目很多,如KSCrash,plcrashreporter,CrashKit 等。追求方便省心,对于保密性要求不高的程序来说,也可以选择各种一条龙Crash统计产品,如 Crashlytics,Hockeyapp ,友盟,Bugly 等等。是否集成越多的Crash日志收集服务就越保险?自

2016-11-04 17:00:19 1044

转载 宏定义中的##操作符和... and _ _VA_ARGS_ _

1.Preprocessor Glue: The ## Operator预处理连接符:##操作符Like the # operator, the ## operator can be used in the replacement section of a function-like macro.Additionally, it can be used in the repla

2016-11-03 16:05:56 1351

转载 什么是md5盐值

MD5自身是不可逆的 但是目前网路上有很多数据库支持反查询(如 http://www.cmd5.com/)如果用户密码数据库不小心被泄露黑客就可以通过反查询方式获得用户密码或者对于数据库中出现频率较高的hash码(即很多人使用的)进行暴力破解(因为它通常都是弱口令)盐值就是在密码hash过程中添加的额外的随机值比如我的id是癫ω倒④ゞ 密码是123456 存在数据库中的时候就可以对字符串12

2016-11-03 11:47:57 3090

原创 OC clang -rewrite-objc 详解

OC http://www.jianshu.com/p/c2dabb4fd761 block的语法看上去好像很特别,但实际上是作为极为普通的C语言代码来处理的。这里我们借住clang编译器的能力:具有转化为我们可读源代码的能力。 控制台命令是: clang -rewrite-objc 源代码文件名。?12345

2016-11-03 10:15:06 681

转载 [iOS]深入理解__bridge - OC对象与C++对象的引用转换

0x0 crash昨天在iOS Geekers钉钉群里聊到一个问题, 下面的代码会crash: void* a = new char; id ext = (__bridge id)a;crash现场如图:看看挂的地方:挂在objc_retain里面:objc_retain的作用是对oc对象做retain用的, 我们对指令做一下

2016-11-03 10:07:38 6124

转载 iOS 客户端架构设计 MVVM

MVCMVC,Model-View-Controller,我们从这个古老而经典的设计模式入手。采用 MVC 这个架构的最大的优点在于其概念简单,易于理解,几乎任何一个程序员都会有所了解,几乎每一所计算机院校都教过相关的知识。而在 iOS 客户端开发中,MVC 作为官方推荐的主流架构,不但 SDK 已经为我们实现好了 UIView、UIViewController 等相关的组件,更是有大量的

2016-10-20 16:41:39 1342

转载 iOS 中级面试题

半年前在知乎浏览到一个帖子,是关于如何面试iOS工程师。由于当时公司正在招聘iOS工程师,自己也面试了不少同学,就饶有兴致的把自己的面试问题清单贴了出去,却意外的引来了不少关注。还有不少同学认真回答并将答案私信于我交流的,还有求隐藏关卡的:(。由于工作太忙,私信和评论后面都没怎么回复,这里一并做下总结回复:p 一份面试题的意义 — 我把收到的私信和一百多条评论都仔细读了遍,发现大家之所以会

2016-10-12 13:20:22 1107

转载 block 的ARC和MRC中的区别

block在ARC和MRC中的声明引用有些区别.     /**     block可以存储在栈中,也可以在堆中     默认存储在栈中,不需要管理内存     存储在堆中的block会对block进行retain操作     */    //(MRC)block在堆中时,不想对block进行retain操作,前面加__block    //(ARC)前面加__we

2016-10-12 13:12:40 967

转载 组件化架构漫谈

前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目。在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构。当然不是直接拿来照搬,还是要根据公司具体的业务需求设计架构。在学习组件化架构的过程中,从很多高质量的博客中学到不少东西,例如蘑菇街李忠、casatwy、bang的博客。在学习过程中也遇到一些问题,在微博和QQ上和一些做

2016-10-09 08:38:26 3661 1

转载 Mac系统下安装PIL

安装PIL依赖JPEG、Freetype、LittleCMS,首先安装这三个环境(第一至三步):第一步:安装JPEGhttp://www.ijg.org/files/jpegsrc.v8c.tar.gz$ tar zxvf jpegsrc.v8.tar.gz $ cd jpeg*$ ./configure --enable-shared --enable-s

2016-09-26 16:17:37 464

转载 Mac OS安装PIL

安装完PIL,在处理jpg时,竟然提示“decoder jpeg  not available”,搜之原来是PIL安装没有提供对jpeg的支持。首先卸载已经安装的PIL:在Mac下,找到site-packages可用如下方法:[python] view plain copyimport django  dir(django

2016-09-26 14:24:06 962

转载 Python——UnicodeEncodeError: 'ascii' codec can't encode/decode characters

初学Python被编码格式搞的很头大,以下bug是遇到的编码问题之一:【BUG】UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-15: ordinal not in range(128)或者UnicodeDecodeError: 'ascii' codec can't decode byte

2016-09-26 11:41:04 407

原创 mac下安装django

下载django的安装文件,然后解压缩,然后用命令行cd到解压缩出来文件的目录,执行python setup.py install即可。或者试试下面的方法首先安装 Homebrew$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"1安装 Postgresql安装

2016-09-22 16:35:49 2047

原创 gcdasyncsocket address already in use

找好久找到终于找到这个Current head of GDAAsyncUdpSocket does not (also) set SO_REUSEPORT (it just does ADDRESS, which is quite enough for TCP).I just popped in a quick fix:https://github.com/dirkx/

2016-09-22 10:25:02 1577

原创 python socket.error: [Errno 48] Address already in use

简单实例服务端我们使用 socket 模块的 socket 函数来创建一个 socket 对象。socket 对象可以通过调用其他函数来设置一个 socket 服务。现在我们可以通过调用 bind(hostname, port) 函数来指定服务的 port(端口)。接着,我们调用 socket 对象的 accept 方法。该方法等待客户端的连接,并返回 connec

2016-09-21 17:06:45 5714 1

转载 使用SDWebImage和YYImage下载高分辨率图,导致内存暴增的解决办法

最近,收到朋友求助,说是有个控制器,一进去就crash,而且手机非常的烫,用instrument跑了跑,发现内存暴增几百兆;如图:  图中可以看出,内存暴增的罪魁祸首是YYImage,再进一步定位问题,如图:  现在已经可以很清楚的知道,具体是哪些代码导致内存飙升的,这个方法“YYCGImageCreateDecodeCopy”,主要是对

2016-09-21 16:55:49 1333

转载 iOS手机摄像头测心率

最近在封装一个手机摄像头测心率的模块,搞得精神各种紧张,导致吃饭、路上、做梦,甚至都在想这个东西,就在刚刚终于搞完了,写个文章庆祝一下。原理简单介绍一下,网上可以查到很多关于手机测心率的这种项目,大概就是:把手指放在摄像头和闪光灯上,通过手指处脉搏跳动充血导致的细微颜色变化来确定心跳波动,确定波峰波谷,根据两个波峰之间的时间差来确定瞬时心率。思路首先,采

2016-09-21 16:54:23 1182

原创 iOS去除导航栏和tabbar的1px横线

1.在自己定义的导航栏中或者设计稿中经常需要去除导航栏的1px横线,主要是颜色太不协调了去除之前的图片要去除这1px的横线,首先应该知道它是什么,在Xcode的界面调试中可以看到,它其实是UIImageView来的找到横线是什么了···其实这是navigationBar的shadowImage,所以只要设置它为空即可,但是设置它为空之前应该先

2016-09-18 08:37:31 561

转载 用Sketch和PaintCode快速得到绘制代码

作者:codeGlider 授权本站转载。在我的上一篇文章中 swift10分钟实现炫酷的导航控制器跳转动画,有一个swift logo的形状上一篇文章的动画我说的就是中间用来做遮罩的形状。它不是图片是用一段代码绘制而成的:12345678910

2016-09-14 09:14:58 1485

转载 PaintCode Tutorial: Bezier Paths

Learn how to create dynamic curved arrows!Welcome to our third and final part of our PaintCode tutorial series!PaintCode is a neat app where you can draw user interfaces like in Photoshop

2016-09-14 08:39:57 711

转载 来自苹果的编程语言——Swift简介

作者:Lucida微博:@peng_gong豆瓣:@figure9原文链接:http://lucida.me/blog/an-introduction-to-swift/关于这篇文章简要介绍了苹果于WWDC 2014发布的编程语言——Swift。前言在这里我认为有必要提一下Bret Victor的Inventing on Prin

2016-09-02 08:30:51 697

原创 json解析 Code=3840问题

一般说来产生这个问题常见原因有两个一、是否因为编码问题导致json字符串没有正确获取。打个断点调试一下,看data能否转成str。这种情况多是因为后台或者本地的文件编码格式有问题。比如是ascii而你是按照utf8解析。二、是否因为json本身有问题。可能json的格式不对。可以百度下bejson等验证一下。比如中英文符号等等。

2016-08-31 13:26:23 3570

原创 iOS不能显示英文音标问题

是否需要导入字体?否UIlabel的默认字体已经能显示英文音标。为啥不能正确显示?首先,请确保你请求到的数据是正常编码的能在txt里正确显示的数据。你可以在xcode中NSLog一下,看输出是否为正常的英文音标。如果不是,让后台的小哥把音标编好码。比如utf8。貌似ASCII是不行的(可能通过某种转换后也可以)

2016-08-31 13:14:16 1458

转载 linux下IPTABLES配置详解

如果你的IPTABLES基础知识还不了解,建议先去看看.开始配置我们来配置一个filter表的防火墙.(1)查看本机关于IPTABLES的设置情况[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target       prot opt source                 destinat

2016-08-29 16:46:35 1205

转载 Method Swizzling的各种姿势

因为Objective-C的runtime机制, Method Swizzling这个黑魔法解决了我们实际开发中诸多常规手段所无法解决的问题, 比如代码的插桩,Hook,Patch等等. 我们首先看看常规的Method Swizzling是怎样用的, NSHipster有一篇介绍基本用法的文章Method Swizzling, 我们就先以这篇文章中的示例开始说起吧:

2016-08-29 08:45:32 655

原创 Category能否给已有类添加新的属性

先说结论。常规category是用来添加函数的,并不能添加属性。但是利用runtime中objc_setAssociatedObject等方法可以生成关联对象,进而实现添加属性的需求。接下来上代码。.h文件#import <UIKit/UIKit.h>@interface UIView (something)@property (nonatomic,copy)NSString *somethin

2016-08-20 15:39:32 417

转载 Uber的启动画面是如何制作的

启动画面(Splash Screen)——不但给开发者们提供了一个尽情发挥、创建有趣动画的机会,也填补了App启动时从终端慢吞吞地下载数据的时间。启动画面(动态的)对于App至关重要:它可以让用户不失兴趣地耐心等待应用完成加载。尽管现在的启动画面多种多样,但很少有像Uber这般精美的。2016年第一季度,Uber的CEO发表了关于重塑品牌的策略,其中之一就是现在这个超酷的启动画面。

2016-08-16 09:15:46 1116

转载 UIButton实现左文字右图片

[button setTitleEdgeInsets:UIEdgeInsetsMake(0, -image.size.width, 0, image.size.width)];[button setImageEdgeInsets:UIEdgeInsetsMake(0, button.titleLabel.bounds.size.width, 0, -button.titleLabel.bounds

2016-08-14 18:29:59 1263

原创 iOS获取本机wifi的IP地址

+(NSString *)getWifiIPAddress{ NSString *ipAddress = nil; struct ifaddrs *ifa_list = NULL; struct ifaddrs *tmp = NULL; int result; result = getifaddrs(&ifa_list); if(result == 0)

2016-08-13 17:28:39 1290

原创 iOS获取设备APP的UUID

+(NSString*)getUUID{ static NSString *stringUUID = nil; if(!stringUUID){ // UserDefaultから読みこんで、なかったら生成 NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; NSLog(@

2016-08-13 17:27:21 1875

原创 wireshark过滤规则简介

1.多个filter用and连接2.目的地址和源地址ip.dst==192.168.1.1ip.src==1.1.1.13.协议过滤直接输入协议名称即可tcp and udp4.端口过滤tcp.port==80//源端口和目的端口tcp.dstport==80tcp.srcport==805.http模式过滤http.requset.method=="GET"("POST")

2016-08-13 09:51:04 247

原创 mac上wireshark:No interface can be used for capturing in this system with the current configuration

问题来源这个问题是因为用户权限不够解决方案在终端输入sudo chmod 777 /dev/bpf*之后输入密码,密码输入过程中没有显示 照常输入回车即可。

2016-08-13 09:44:26 369

转载 使用Socket进行设备间点对点连接传输数据

前言最近在做一套点对点传输的软件, 需要用到Socket进行设备间通讯. 去网上查了查, 对Socket分装比较好的就是目前特别火的GCDAsyncSocket这个类了, 这篇文章就GDCAsyncSocket与GCDAsyncUdpSocket进行单例封装, 一台设备通过UDP广播, 对外发送自己的IP地址与端口号, 另一台设备做接收, 接收后连接到IP地址与端口号, 从而进行TCP连接

2016-08-04 14:50:28 3446

原创 button如何旋转后同时改变触发位置

- (void)setAnimation:(UIButton *)uibtn{ int randomnum = arc4random() % 90 - 45; CGAffineTransform t1 = CGAffineTransformMakeRotation(randomnum * M_PI / 180.0f); [UIView animateWithDuration:0

2016-08-04 11:47:43 398

原创 Java字符串的各种操作。

字符串比较String str="Hello,World,Hello,Code";
int a=str.compareTo("Hfllo,World,Hello,Code");返回的是第一个不同字符之间的ASCII差值,如上面的返回-1.如果两个字符串相同,返回0.int b=str.compareToIgnoreCase("Hello,world,hello,Code");
 和上面差不多,区

2016-07-29 11:08:51 313

转载 超赞!帮你打造极简风APP UI 的实用设计技巧

随着用户对UI的喜好开始偏向简约,设计师有必要将整个UI简化剥离至基本状态,因为保留关键元素才是成功的钥匙。从某种意义上说,极简主义的设计是形式和功能的完美结合。它最大的优势在于形式上的清晰直观——简洁的线条,大量的留白,优雅简约的图形元素,赋予整个设计以简约干净的感受。即使是最庞杂的内容,在这样的设计之下都显得直观而干练,当然,如果设计的足够高效的话。极简风的APP设计通常要具备几个特征

2016-07-27 13:39:24 1363

原创 Embedded binary is not signed with the same certificate as the parent app解决方案

当我编译一款很早之前的一个带有app extension功能的app时,xcode给我报了这个错误。错误的原因是containingApp和share Extension的证书不匹配。我在stackoverflow上看到其他小伙伴的解决方式,我发现这个问题可能有多种解决方式,原因也可能响应的不同。我的错误原因是share Extension的code signing中的provisioning pr

2016-07-25 14:48:31 6413 1

原创 CADisplayLink的调用足够精确吗?

当CADisplayLink 以特定的模式注册到runloop之后,每当屏幕需要刷新的时候,runloop就会调用CADisplayLink绑定的target上的selector。对于iOS设备来说刷新频率就是60HZ,也就是说selector的调用是每秒60次。但是CADisplayLink的调用真的足够精确吗?因为我们知道,fps这个东西可不是一成不变的!我在selector中写了下面一些代码:

2016-07-22 09:59:09 949

2015年12月英语四级考试真题(第二套).doc

2015年12月英语四级考试真题(第二套).doc

2020-11-10

python-markdown2

集成在浏览器的markdown编辑器

2016-09-27

python-PIL

包含了jpeg和zlib,编译好这两个后,./setup install

2016-09-27

Django web开发指南

还算清楚,不影响阅读.

2016-09-27

django-tinymce

使用方法,cd到文件目录,执行./setup.py install

2016-09-27

Android编程实战 很好的Android书籍

2016-06-27

UICollectionView自适应cell不同大小

UICollectionView不同cell大小自适应

2016-06-27

轮播图 ios

轮播图,自动滚,无缝滚

2016-03-17

MiniWebServer

在本地建立一个mini服务器,局域网内可以访问

2016-03-16

json数据串

2016-03-14

播放器json及歌词

播放器json及歌词

2016-03-14

SpriteKit 划线弹小球游戏。

刚学 写着玩的 弹光屏幕上方所有的小块为胜利

2016-01-08

iOS 餐饮管理

自己写着玩的 特别垃圾 应付作业的

2016-01-06

Flappy bird Swift版

Flappy bird Swift版

2015-12-16

The Swift Programming Language中文版

The Swift Programming Language中文完整版(CocoaChina精校).pdf 不知道有人传过没 总之传上来把

2015-12-15

空空如也

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

TA关注的人

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