自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

枫叶砂的专栏

为梦潜行,语言是我最嘹亮的歌声。

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

原创 Chisel-LLDB命令插件,让调试更Easy

chisel是facebook开源的LLDB插件,方便开发者在开发过程中提升开发效率,或是方便从新接手的一个旧项目中快速熟悉起来。以下内容多来自博客:https://blog.cnbluebox.com/LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器。LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂

2017-02-24 16:48:27 1211

原创 "Developer tools access" 需控制另一个进程才能继续调试 解决方案

解决方案:打开终端输入下边命令:DevToolsSecurity --status查看状态DevToolsSecurity --enable输入密码,修改为enable,即可用DevToolsSecurity --disable输入密码,修改为disable,即关闭...

2019-07-25 14:29:35 1324

原创 Attempt to insert non-property list object

Attempt to insert non-property list object保存后台返回的一个字典数组,使用NSUserDefaults存储时,遇到了“Attempt to insert non-property list object”的错误而导致的闪退。在仔细查看了,存储的数据后,赫然发现这个数组中的字典中有的字段值是空的。在序列化的时候,这个空值引发了这个错误闪退。针对这种...

2019-04-26 16:18:40 7983

原创 提取出有相同元素的数组再存入一个数组中

{ NSMutableArray *dateMutablearray = [@[] mutableCopy]; NSArray *array1 = @[@"2014-04-01",@"2014-04-02",@"2014-04-03", @"2014-04-01",@"2014-04-02",@"2014-0.

2018-11-26 17:51:14 993

原创 批量按顺序下载-基于AFN3.0

1.通过信号量使用gcd实现功能需求2.demo的主要代码展示: // 创建队列 dispatch_queue_t queue = dispatch_queue_create("com.download.task", DISPATCH_QUEUE_SERIAL); NSString *str = @"https://www.****.com/***.jpg"; //设置信号...

2018-05-03 15:54:43 856

原创 xcode创建一个工程的多个target,应对不同的环境

在项目中我们有时候会有需要应对不同的开发环境,比如企业版本和AppStore版本等。由于不同的target,他的配置文件也不同,所以在打包的时候可以自定义不同的配置信息。创建target的方式有很多种,今天我只介绍最常用的一种创建方式。一、创建新的target1.首先是先通过Duplicate复制一个target,因为在创建工程的时候系统已经默认创建了一个target。2.修改

2016-09-19 16:01:37 4747

原创 Curl POST to HTTPS url gives SSLRead() error:curl: (56) SSLRead() return error -9806

今天在用cocoapods导入opencv库的时候出现“Curl POST to HTTPS url gives SSLRead() error:curl: (56) SSLRead() return error -9806”的报错,在pod install前通过git config --global core.compression -1这句代码完美解决了这个异常。相比网上其他的繁琐步骤,这

2016-09-09 17:50:16 3130

原创 RunTime知识整理

RunTime1. RunTime简介因为Objc是一门动态语言,所以它总是想办法把一些决定工作从编译连接推迟到运行时。也就是说只有编译器是不够的,还需要一个运行时系统 (runtime system) 来执行编译后的代码。这就是Objective-C Runtime 系统存在的意义,它是整个Objc运行框架的一块基石。Runtime其实有两个版本:“modern”和 “legacy”

2016-09-05 17:19:28 640

原创 利用runtime解决button重复响应事件

该方法来自于简书《[iOS]利用runtime,解决多次点击相同button,导致重复跳转的问题》场景1.当app有点卡的时候,多次点击相同的button,经常出现,跳转了N次相同的界面。2.当网络较差时,多次点击相同按钮,会造成数据的重复提交或请求。3....解决办法用运行时和分类,替换UIControl响应事件,根据响应的间隔时间来判断是否执行事件。详细

2016-09-02 17:26:15 1711 1

原创 初探+load和+initialize方法

本文引用CaryaLiu的《iOS初探+load和+initialize》和sunnyxx的《Notification Once》的博客+ initialize 和 + load 是 NSObject 类的两个类方法,它们会在运行时自动调用,我们可以利用其特性做一些初始化操作。initialize初探先看看 NSObject Class Reference

2016-08-31 16:45:49 1338

转载 深入理解Object-C消息转发机制

最新在看runtime的相关技术,在浏览博客的时候看到了这篇不错的博文,推荐给大家。原文链接:http://coderperson.com/2015/06/08/iOS-runtime-messageForwarding/相信大家对Object-C的消息传递机制并不陌生(如果不熟悉,我后续会再写一篇关于消息传递机制的文章),今天我来讲解另外一个重要的问题,就是对象在收到无法解读的消息之后会

2016-08-31 11:27:32 1098

原创 柱状图的实现

在实现柱状图的过程中,主要是用到了UIBezierPath和CAShapeLayer1、新建UIBezierPath对象bezierPath2、新建CAShapeLayer对象caShapeLayer3、将bezierPath的CGPath赋值给caShapeLayer的path,即caShapeLayer.path = bezierPath.CGPath4、新建CABasic

2016-08-05 16:53:06 1056

转载 深入理解RunLoop

深入理解RunLoop原文地址:http://blog.ibireme.com/2015/05/18/runloop/RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷

2016-04-16 15:05:38 414

原创 上传代码到GitHub

1.申请账号  https://github.com2.点击创建3.填写工程描述4.打开xcode创建一个工程,比如我创建的工程名TESTDemo,然后打开终端,进入TESTDemo文件夹,输入Creat a new repository

2016-04-07 22:25:37 558

原创 封装.a文件以及应用.a文件

简介什么是库?库是程序代码的集合,是共享程序代码的一种方式根据源代码的公开情况,库可以分为2种类型开源库公开源代码,能看到具体实现比如SDWebImage、AFNetworking闭源库不公开源代码,是经过编译后的二进制文件,看不到具体实现主要分为:静态库、动态库静态库和动态库静态库和动态库的存在形式静态库:.a和.framework

2016-04-07 21:46:13 6011 1

转载 cocoa pods的问题收集

一、云淡风轻的博客1.CocoaPods 版本旧The version of CocoaPods used to generate the lockfile is higher that the one of the current executable. Incompatibility issues might arise.sudo gem update cocoapod

2016-03-03 09:52:03 1842

原创 svn的问题以及简单的解决方法

通过删除SVN上无法更新的文件,再从本地添加,更新和提交,就能解决这个SVN错误

2016-02-29 17:44:43 761

转载 多方位全面解析:如何正确地写好一个界面

作者:jaminzzhang写界面可以说是每位移动应用开发者的基本功,也是一位合格移动应用开发者绕不过去的坎。但就如不是每一位开发者都能够成为合格的开发者一样,本人在不同的团队中发现,甚少有人能够编写出合格的UI代码;而非常奇怪的是,在很多的开发者论坛上看到我们移动开发者更多关注于某个控件或者是动画,但却很少看到深入剖析UI机制,指导UI开发的文章。由于界面涉及到的方面实在过于

2016-02-27 15:37:20 777

转载 自动处理键盘事件的第三方库 IQKeyboardManager

这个库是一个单例,它一旦生效,全项目任何界面都有效。让它生效的代码可以写在任意位置,我写在AppDelegate里。?12345678910- (BOOL)application:(UIApplication *)application didFinishLaunch

2016-02-27 15:00:40 1204

原创 杂记

获取AppStore上的最新版本号http://itunes.apple.com/lookup?id=(app的id号)解析这个连接地址

2016-02-25 14:28:37 620

原创 Cornerstone的创建分支Branch

在iOS开发中,对工具的使用是必不可少的,一款好的工具,往往可以让我们的程序开发事半功倍。今天小编将和大家介绍的就是iOS中,最好用的Mac端版本控制工具  — Cornerstone,其具体的使用方法,且看下面分析。 1、在服务器上建立新文件并上传代码(文件操作需要谨慎) 2、文件拖放到本地,点击提交 3

2016-02-14 18:24:11 4037

原创 iOS开发中使用宏定义提高开发效率 以及配合Compiler Flags写出高质量的代码

iOS开发中,巧妙的使用宏定义,可以提高开发效率,本篇简单介绍一下宏的定义,设置,应用,并在未来实践中不断追加一些常用的宏定义。调试LogiPhone应用程序开发调试的时候,在代码中加入NSLog的暴力调试方法是很频繁的,但是在release的时候要删除这些调试代码,那工作量是烦躁,这样的情况下,试用宏就会显得非常的方便。 看下面的例子:#ifdef DEB

2016-02-02 17:01:32 2801

原创 手势的3个容易混淆的属性 cancelsTouchesInView/delaysTouchesBegan/delaysTouchesEnded

/** *  本节介绍tap的3个弄不太林清并且容易混淆的属性:   cancelsTouchesInView/delaysTouchesBegan/delaysTouchesEnded *   (0)首先要知道的是        1.这3个属性是作用于GestureRecognizers(手势识别)与触摸事件之间联系的属性。实际应用中好像很少会把它

2016-01-29 10:58:54 9455

转载 iOS Provisioning Profile(Certificate)与Code Signing详解

原文地址:http://blog.csdn.net/phunxm/article/details/42685597#comments[-]引言写在前面一App IDbundle identifier二设备Device三开发证书Certificates证书的概念数字证书的概念iOS开发证书iOS开发证书的根证书申请证书CSRCertificate Signing Requ

2015-12-28 18:27:50 1054

转载 SDWebImage的使用

第一步,下载SDWebImage,导入工程。github托管地址https://github.com/rs/SDWebImage第二步,在需要的地方导入头文件1#import "UIImageView+WebCache.h"第三步,调用sd_setImageWithURL:方法缓存图片,注意,这就是新版

2015-11-03 19:50:34 359

原创 数据持久化

iOS中的数据持久化方式,基本上有以下四种:属性列表、对象归档、SQLite3和Core Data1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults standardUserDefaults]就够用了@interface User : NSObject @property (nonatomic, assign) NSInteg

2015-11-03 09:39:30 383

原创 内存泄露和内存管理

说到内存管理,我们自然会想到内存泄露问题。而且,内存管理的一个很重要的作用就是防止内存泄露。内存泄漏    在此,谈论的是程序设计中内存泄漏和错误的问题,不过,并不是所有的程序都有这一问题。首先,泄漏等一些内存方面的问题在有的程序语言中是不容易发生的。这些程序语言一般都认为内存管理太重要了,所以不能由程序员来处理,最好还是由程序语言设计者来处理这些问题,这样的语言有Perl、Java等

2015-09-28 19:48:23 503

原创 监听键盘高度

在遇到有输入的情况下。由于现在键盘的高度是动态变化的。中文输入与英文输入时高度不同。所以输入框的位置也要做出相应的变化添加监听事件://增加监听,当键盘出现或改变时收出消息    [[NSNotificationCenter defaultCenter] addObserver:self                                             selecto

2015-09-26 14:00:36 419

转载 NSUserDefaults

卸载程序后NSUserDefaults保存的程序数据消失,停止运行程序数据仍然有效。http://blog.sina.com.cn/s/blog_4cfeda8601011mro.htmlNSUserDefaults类提供了一个与默认系统进行交互的编程接口。NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等。默认系统允许应用程序自定义它的行为去

2015-09-17 17:31:32 598

转载 iOS中的 沙盒文件夹 (数据的写入和读取,归档和反归档)

AppDelegate.m- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { /** 沙盒中文件夹: 1.Documents : 存储长久保存的数据 2.library:

2015-09-17 17:04:17 762

转载 iOS开发系列--音频播放、录音、视频播放、拍照、视频录制

--iOS多媒体原文地址:http://blog.csdn.net/jianxin160/article/details/47753241概览随着移动互联网的发展,如今的手机早已不是打电话、发短信那么简单了,播放音乐、视频、录音、拍照等都是很常用的功能。在iOS中对于多媒体的支持是非常强大的,无论是音视频播放、录制,还是对麦克风、摄像头的操作都提供了多套API。在今天的

2015-09-17 14:16:56 857

原创 IOS定位服务的应用

IOS定位服务的应用 一、授权的申请与设置 在IOS8之后,IOS的定位服务做了优化,若要使用定位服务,必须先获取用户的授权。首先需要在info.plist文件中添加一个键:NSLocationAlwaysUsageDescription或者NSLocationWhenInUseUsageDescription。其中NSLocationAlwaysUsageDesc

2015-09-17 08:49:47 710

原创 Mac环境下svn的使用

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。我们首先来看下,如何在Mac环境下搭建svn服务器端环境。一、创建代码仓库,用来存储客户端所上传的代码我先在/User/apple目录下新建一个svn目录,以后

2015-09-15 16:47:58 6351 1

原创 SMS_SDK短信验证 官方的新版本的获取验证码方法已经修改

这几步是SMS的官方开发文档第一步 获取短信SDK点击下载最新版SDK,解压后得到以下文件结构: 1、SMS_SDK:短信验证码SDK,包括静态库和本地化文件。使用时直接将这个文件夹拖入工程。2、SMS_SDKDemo:示例Demo 。第二步 导入SDK将SMS_SDK这个文件夹拖入工程。步骤如下:第三步 添加依赖库文件

2015-09-15 10:34:54 6045

空空如也

空空如也

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

TA关注的人

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