![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 63
荔-枝-lin
其实,怀念,在离开它之前就已经发生。
展开
-
NSZombieEnabled的注意事项
做 iOS 程序开发时经常用遇到 EXC_BAD_ACCESS 错误导致 Crash,出现这种错误时一般 Xcode 不会给我们太多的信息来定位错误来源,只是在应用 Delegate 上留下像 Thread 1: Program received signal: "EXC_BAD_ACCESS",让问题无从找起。比如你对已释放的对象发送消息时就会出现,EXC_BAD_ACCESS,再如 r原创 2013-12-31 11:18:35 · 687 阅读 · 0 评论 -
25个必须记住的SSH命令
OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击。此外,OpenSSH提供了安全隧道功能和多种身份验证方法,支持SSH协议的所有版本。SSH是一个非常伟大的工具,如果你要在互联网上远程连接到服务器,那么SSH无疑是最佳转载 2015-10-27 15:48:47 · 318 阅读 · 0 评论 -
调用系统通讯录
通常我们在iOS项目中想到通讯录往往有两大方面的需求。一个是让用户自己从通讯录中选择朋友然后我们获取数据完成业务,另一个是项目通过读取用户通讯录信息来完成相应的数据处理,即用户自主行为和应用调取行为。首先谈一下用户自主调用通讯录。这里我们会使用系统控件ABPeoplePickerNavigationController。由于是用户自主行为,调用它我们无须向用户请求授权。但是ABPeople转载 2016-01-11 15:43:38 · 608 阅读 · 0 评论 -
MLeaksFinder:精准 iOS 内存泄露检测工具
转载的笔记-没事多学习学习哦~背景平常我们都会用 Instrument 的 Leaks / Allocations 或其他一些开源库进行内存泄露的排查,但它们都存在各种问题和不便,我们逐个来看这些工具的使用和存在的问题。Leaks先看看 Leaks,从苹果的开发者文档里可以看到,一个 app 的内存分三类:Leaked memory: Memor转载 2016-04-06 17:19:58 · 6209 阅读 · 0 评论 -
实现一个TODO宏
get 新技能 :原文地址:http://blog.sunnyxx.com/2015/03/01/todo-macro/实现一个能产生warning的TODO宏,用于在代码里做备忘,效果:下面一步步来实现这个宏。Let’s do it手动让编译器报警(报错)可以用以下几个方法: #warning sunnyxx#error转载 2016-05-24 11:37:50 · 325 阅读 · 0 评论 -
iOS消息推送机制中pem文件的生成
以前写了一篇文章:iOS消息推送机制的实现,这篇文章中生成的是p12文件,但是php是用的pem文件,生成的方法和p12文件有些不同。 一、CSR文件 1、生成Certificate Signing Request(CSR) 2、填写你的邮箱和常用名称,并选择保存到硬盘。 点击继续:转载 2016-04-18 14:32:15 · 325 阅读 · 0 评论 -
Provisioning Profile的创建
Provisioning Profile的创建创建Provisioning Profile的前提:已在Apple Developer网站创建待发布应用所使用的Bundle ID的App ID,且为该App ID创建了APNs证书: 注:如需了解如何创建APNs证书转载 2016-04-18 16:09:20 · 2011 阅读 · 0 评论 -
一定要看的。深入理解Objective-C:Category
足下笔记。。。摘要无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而言,继承和组合是不错的选择。但是在Objective-C 2.0中,又提供了category这个语言特性,可以动态地为已有类添加新行为。如今category已经遍布于Objective-C代码的各个角落,从Apple官方的framework到各个开源转载 2016-05-03 18:44:38 · 2372 阅读 · 0 评论 -
Swift与OC中拷贝与可变性
首先来看一下Objective-C中的拷贝与可变性。为了解释方便,定义两个类:Person和MyObject,它们都继承自NSObject。他们的关系如下:// Person.h@property (strong, nonatomic, nullable) MyObject *object;// MyObjec.h@property (copy, nonatomic) NSStrin转载 2016-05-03 19:04:05 · 659 阅读 · 0 评论 -
iOS证书描述文件说明
iOS证书分类说明?开发者证书:(分为开发和发布两种,类型为ios Development,ios Distribution),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的。Distributon(发布证书): 用于上传应用 ,同一开发者最多只能创建两个此证书,以公司名 命名此证书 。Development(开发证书):用于发转载 2016-04-20 12:05:17 · 4639 阅读 · 0 评论 -
iOS多线程编程——GCD与NSOperation总结
很长时间以来,我个人(可能还有很多同学),对多线程编程都存在一些误解。一个很明显的表现是,很多人有这样的看法:新开一个线程,能提高速度,避免阻塞主线程毕竟多线程嘛,几个线程一起跑任务,速度快,还不阻塞主线程,简直完美。在某些场合,我们还见过另一个“高深”的名词——“异步”。这东西好像和多线程挺类似,经过一番百度(阅读了很多质量层次不齐的文章)之后,很多人也没能真正搞转载 2016-05-04 15:18:01 · 681 阅读 · 0 评论 -
交互式动画
转载的。多多学习。。。。在2007年,乔布斯在第一次介绍 iPhone 的时候,iPhone 的触摸屏交互简直就像是一种魔法。最好的例子就是在他第一次滑动 TableView 的展示上。你可以感受到当时观众的反应是多么惊讶,但是对于现在的我们来说早已习以为常。在展示的后面一部分,他特别指出当他给别人看了这个滑动例子,别人说的一句话: “当这个界面滑动的时候我就已经被征服了”.是转载 2016-05-20 11:18:04 · 3422 阅读 · 1 评论 -
优化UITableViewCell高度计算的那些事
原文作者;http://blog.sunnyxx.com/2015/05/17/cell-height-calculation/我是前言这篇文章是我和我们团队最近对 UITableViewCell 利用 AutoLayout 自动高度计算和 UITableView 滑动优化的一个总结。我们也在维护一个开源的扩展,UITableView+FDTemplateLay转载 2016-05-23 15:53:24 · 451 阅读 · 0 评论 -
Notification Once
这个优化非常不错,,,收藏了。。。前段时间整理项目中的AppDelegate,发现很多写在- application:didFinishLaunchingWithOptions:中的代码都只是为了在程序启动时获得一次调用机会,多为某些模块的初始化工作,如:- (BOOL)application:(UIApplication *)applicationdidFi转载 2016-05-23 17:54:01 · 295 阅读 · 0 评论 -
git生成ssh key及本地解决多个ssh key的问题
ssh是一种网络协议,用于计算机之间的加密登录。ssh原理及应用可参考:SSH原理与运用(一):远程登录生成ssh key步骤这里以配置github的ssh key为例:1. 配置git用户名和邮箱git config user.name "用户名"git config user.email "邮箱"在config后加上 --global转载 2016-06-16 14:06:25 · 539 阅读 · 0 评论 -
ReactiveCocoa比较区分replay, replayLast和replayLazily
Subscribing to a Signal 对于一个“普通”的信号,每次订阅都将会导致信号中的代码再执行一遍,且该次订阅者仅接收到该次订阅发送出去的值。 第一个例子演示每次订阅都会重新执行订阅代码。1234567891011121314转载 2016-07-28 14:49:31 · 1231 阅读 · 0 评论 -
CocoaPods 使用手册
CocoaPods 使用手册 CocoaPods 使用手册 1转载 2016-09-09 14:51:02 · 641 阅读 · 0 评论 -
iOS开发之Xcode常用调试技巧总结
NSLog,po命令和普通断点调试相信每个iOS开发者都会,这里就不作介绍了。一、Memory GraphXcode8新增:Memory Graph解决闭包引用循环问题这个时候就进入了断点模式,可以查看issue面板,注意选择右边Runtime:有很多叹号说明就有问题了。看内存中object的名字,有一条是Closure captures leake转载 2016-11-08 16:21:29 · 356 阅读 · 0 评论 -
github
step1 注册github注册 github 账号并创建一个repo,假设帐户为YourAccount,repo为test_repo,youremail@youremail.comstep2 下载必要的软件下载git 软件:https://code.google.com/p/msysgit/我用的是Git-1.8.3-preview20130601.exe转载 2015-10-26 17:10:54 · 398 阅读 · 0 评论 -
常见的项目文件介绍
一、项目文件结构示意图 二、文件介绍1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件2.frameworks文件夹主要用来放依赖的框架3.test文件夹是用来做单元测试的4.常用的文件夹(项目名称文件夹)(1)XXXinfo.plist文件(在该项目中为 01-常见文件-Info.plist)转载 2015-10-26 11:28:11 · 479 阅读 · 0 评论 -
OS X 和 iOS 中的多线程技术
多线程技术我们为何需要多线程呢?多线程其实是为了实现并发执行,而且线程是并发执行多个代码路径的多种技术之中比较轻量级的一种(对应较重的实现是多进程)。在单核 CPU 时代,支持多线程的操作系统会通过分配 CPU 计算时间,来实现软件层面的多线程。创建线程,线程间切换都是有成本开销的。但由于多线程可以避免阻塞所造成的 CPU 计算时间浪费,所以多线程所带来的开销成本总体看来是值得的。转载 2015-07-23 22:44:10 · 376 阅读 · 0 评论 -
conformsToProtocol:@protocol()的理解和用法
昨天开会大家讨论了这个问题~但是没达搞清楚~私底下查查看吧~网上搜到的结果,当做笔记,记在这里,希望方便以后自己或者大家前来回顾、[cpp] view plaincopyprint?"code" class="cpp">//conformsToProtocol:@protocol()是用来检查对象是否实现了指定协议类的方法 //例子如下,在例子转载 2013-12-31 10:55:21 · 1251 阅读 · 0 评论 -
Objective-C语法之动态类型
1、对象在运行时获取其类型的能力称为内省。内省可以有多种方法实现。判断对象类型-(BOOL) isKindOfClass: classObj判断是否是这个类或者这个类的子类的实例-(BOOL) isMemberOfClass: classObj 判断是否是这个类的实例2、-(BOOL) respondsToSelector: sele转载 2014-01-09 18:39:52 · 635 阅读 · 0 评论 -
NSString字符串截取三种方法
1.定义一个字符串a, 截取a 的某一个项目组,复制给b, b必须是int型 NSString *a = @"1.2.30"; int b= [[a substringWithRange:NSMakeRange(4,2)] intValue]; NSLog(@"a:%@ \n",a ); NSLog(@"b:%d",b ); O转载 2014-01-14 14:28:50 · 124414 阅读 · 2 评论 -
UIView 中常见的方法总结
addSubview: 添加一个子视图到接收者并让它在最上面显示出来。 - (void)addSubview:(UIView *)view 讨论 这方法同样设置了接收者为下一个视图响应对象。接收者保留视图。如果你使用removeFromSuperview方法用来把视图移除他的显示列表,那么视图将会被释放。如果你想要在视图移除显示列表後保留并使用这个视图(如果,举个例子,你想要交换一转载 2014-01-17 16:06:53 · 699 阅读 · 0 评论 -
iphone--拷贝、剪切、和粘贴操作
拷贝、剪切、和粘贴操作在iPhone OS 3.0之后,用户可以在一个应用程序上拷贝文本、图像、或其它数据,然后粘贴到当前或其它应用程序的不同位置上。比如,您可以从某个电子邮件中拷贝一个地址,然后粘贴到Contacts程序的地址域中。目前,UIKit框架在UITextView、UITextField、和UIWebView类中实现了拷贝-剪切-粘贴支持。如果您希望在自己的应用程序中得到这个行转载 2014-01-20 17:12:36 · 1790 阅读 · 0 评论 -
xcode armv6 armv7 armv7s arm64
目前ios的指令集有以下几种:armv6iPhoneiPhone2iPhone3G第一代和第二代iPod Toucharmv7iPhone4iPhone4Sarmv7siPhone5iPhone5Carm64iPhone5S 机器对指令集的支持是向下兼容的,因此armv7的指令集是可转载 2014-08-25 17:56:41 · 538 阅读 · 0 评论 -
制作静态库 第三方SDK
IOS 程序是由Objective-c语言构成,而是Objective-c语言中每一个类又分成 .h .m 文件。静态库可以将这些程序的类封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。总的来说 IOS静态库适合去制作第三方提供的SDK 1、打开Xcode,建立一个Static LIbrary的project转载 2014-08-27 15:29:07 · 567 阅读 · 0 评论 -
iOS绘图教程
Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。该框架可以用于基于路径的绘图、变换、颜色管理、脱屏渲染,模板、渐变、此文章为转载学习。本文是《Programming iOS5》中Drawing一章的翻译,考虑到主题完整性,翻译版本中加入了一些书中未涉及到的内容。希望本文能够对你有所帮助。(本文由转载 2015-02-25 20:01:37 · 797 阅读 · 0 评论 -
GCD介绍: 基本概念和Dispatch Queue
GCD介绍: 基本概念和Dispatch Queue分类: IOS应用开发2014-03-26 21:45 964人阅读 评论(0) 收藏 举报目录(?)[+]iOS的三种多线程技术 1.NSThread 每个NSThread对象对应一个线程,量级较轻(真正的多线程)2.以下两点是苹果转载 2015-03-17 11:37:35 · 484 阅读 · 0 评论 -
UIButton 不响应或延迟响应 UIControlEventTouchDown
UIControlEventTouchDown使用过程中会出现延迟响应或间歇无响应,一直响应特别的慢,一开始以为是程序哪里写错了,最终发现程序没有问题、就上网找些程序员们解答,最终解决问题,在此在此记录一下解决方案方便以后查找,UIButton的事件中,当你放开手指时会直接响应UIControlEventTouchDown、UIControlEventTouchUpInside两个方法,这种情况下原创 2015-04-07 20:30:15 · 6745 阅读 · 1 评论 -
IOS真机调试流程
真机调试前提是需要一个苹果开发者账号,才可以创建证书请求CSR在申请真机调试证书之前,先对苹果真机调试所需的文件进行说明: 苹果真机调试需要证书(Certificates)和描述文件(Provisoning Profiles) 1、证书(Certificates) 通过苹果自带的钥匙串生成后上传到Developer中再生成来完成2、描述文件(Provison转载 2015-04-28 11:18:48 · 852 阅读 · 0 评论 -
Runloop学习笔记
原文地址:http://blog.csdn.net/jjunjoe/article/details/8313016一、Runloop简介:Run loops 是线程相关的的基础框架的一部分。一个 run loop 就是一个事件处理 的循环,用来不停的调度工作以及处理输入事件。使用 run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。转载 2015-06-24 09:39:52 · 350 阅读 · 0 评论 -
UIWindow & UIWindowLevel
一、UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow在程序中主要起到三个作用: 1、作为容器,包含app所要显示的所有视图 2、传递触摸消息到程序中view和其他对象 3、与UIViewController协同工作,方便完成设备方向旋转的支持二、通常我们转载 2015-06-09 10:22:48 · 344 阅读 · 0 评论 -
Protobuf详解
Protobuf详解按:新公司前端后端,使用的数据化方式是protobuf (Protocol Buffer)。 一,什么是Protobuf官方文档给出的是:a language-neutral, platform-neutral, extensible way of serializing structured data for use in co转载 2015-07-28 14:57:03 · 1751 阅读 · 0 评论 -
CocoaPods安装和使用及问题:Setting up CocoaPods master repo
摘要 ios依赖管理三种方式:手动、git submodule、cocoapods,CocoaPods是一个Objective-C第三方库的管理利器。目录[-]转载的作为笔记留着哦目录CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?场景1:利用CocoaPods,在项目中导入AFNetworking类库场景转载 2015-08-24 18:24:41 · 20813 阅读 · 1 评论 -
git remote/client 学习笔记
搞了两天git,尝试了几种git server的创建方法,最简单的就是apache http,最后还是选定使用SSH,因为安全、操作方便、可创建账号、client必须上传public key.了解更多:http://www.jedi.be/blog/2009/05/06/8-ways-to-share-your-git-repository/http://stackoverflow.com转载 2015-08-25 10:50:50 · 468 阅读 · 0 评论 -
git常见操作
Create/List/Remove a new Project/Repository$ git init 将在当前目录创建一个隐藏的名为".git"的目录。$ git init project1等价于 $ mkdir project1 && cd project1 && git init$ git status 检查当前目录是否包含一个git repo$ ls .gi转载 2015-08-25 10:51:46 · 526 阅读 · 0 评论 -
Xcode中和symbols有关的几个设置
其实被这个问题困扰了好久,不过秉承着三分钟热度的新年新气象,还是要多弄懂一点(⊙_⊙)ゞSymbols是什么东西呢?虽然我对它没有深入的了解,但是大概知道它的作用。摘抄《深入理解计算机系统》里的一些描述:一个典型的ELF可重定位目标文件包含下面几个节:... ....symtab:一个符号表,它存放在程序中定义和引用的函数和全局变量信息。一些程序员错误地认为必须通过-g选项来编转载 2016-11-29 17:52:48 · 835 阅读 · 0 评论