iOS
文章平均质量分 72
huilibai
这个作者很懒,什么都没留下…
展开
-
使用LLDB's Python API通过断点将NSData数据写入文件
iOS有一类单测用来验证对网络返回的NSData类型的数据解析是否正确,此时需要传入NSData类型的对象。获取数据的方法有两种:1.单测中发起网络请求,用真实返回的数据进行验证2.在源码中添加write语句将数据保存到文件中,然后单测里读取data文件这两种方法的问题都很明显:第一种增加了单测的时长,单测书写的复杂性也会增加第二种对源码有侵入性,使用完成后还需要删除临时添加的代码本...原创 2020-02-29 17:43:05 · 379 阅读 · 0 评论 -
Xcode打包生成ipa四个选项的具体区别
1. Save for iOS App Store Deployment 保存到本地 准备上传App Store 或者在越狱的iOS设备上使用2. Save for Ad Hoc Deployment 苹果的官方解释是:To distribute your app to users with designated devices, select “Sav...转载 2020-02-25 15:14:08 · 981 阅读 · 0 评论 -
iOS函数式编程和链式编程的实现
转载于iOS函数式编程和链式编程的实现首先来看下什么是函数式编程,举个例子:[view mas_makeConstraints:^(MASConstraintMaker *make) { make.top.bottom.left.right.equalTo(self.view);}];这里的make.top.bottom.left...转载 2020-02-23 17:14:18 · 324 阅读 · 0 评论 -
使用CocoaPods来做iOS程序的包依赖管理
原文地址:http://www.360doc.com/content/13/1211/10/14615320_336274608.shtml转载 2014-05-20 16:05:47 · 507 阅读 · 0 评论 -
ios中KeyChain用途
原文地址:http://www.2cto.com/kf/201311/255684.html转载 2014-05-12 14:07:51 · 425 阅读 · 0 评论 -
如何从appstore获取应用程序信息
原文地址:http://hi.baidu.com/yunhuaikong/item/834e8bc65f6bda65f6c95d20 如果我们需要实现应用程序版本的自动更新提示,那么我们需要获取当前运行程序的版本信息和 appstore里发布的最新版本信息。当前运行程序的版本信息,可以在 mainBundle 里面获取:NSDictionary *infoDict = [[NSBu转载 2014-03-26 16:57:07 · 757 阅读 · 0 评论 -
ARC指南2 - ARC的开启和禁止
原文地址:http://blog.csdn.net/q199109106q/article/details/8565403 要想将非ARC的代码转换为ARC的代码,大概有2种方式:1.使用Xcode的自动转换工具2.手动设置某些文件支持ARC一、Xcode的自动转换工具Xcode带了一个自动转换工具,可以将旧的源代码转成ARC模式1.ARC是LLVM转载 2014-03-25 17:14:06 · 414 阅读 · 0 评论 -
KVO/KVC
原文地址:http://blog.csdn.net/ajrm0925/article/details/7416419KVO(NSKeyValueObserving 的简称)、KVC(NSKeyValueCoding 的简称)在很多时候接触到很多地方都有对 KVC,KVO 的描述,但是都是一笔带过。只知道这是Object-C提供的一个不错的机制,可以很好的减少代码。首先我转载 2014-03-25 16:37:29 · 456 阅读 · 0 评论 -
IOS开发之__bridge,__bridge_transfer和__bridge_retained
Core Foundation 框架Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能。下面列举该框架支持进行管理的数据以及可提供的服务:群体数据类型 (数组、集合等)程序包字符串管理日期和时间管理原始数据块管理偏好管理URL及数据流操作线程和RunLoo转载 2014-04-03 13:40:00 · 438 阅读 · 0 评论 -
instancesRespondToSelector与respondsToSelector注意点
// main.m#import @interface Test : NSObject-(void) objectFun;+(void) classFun;@end@implementation Test-(void) objectFun{}+(void) classFun{}@endint main(){BOOL ret;ret转载 2014-07-15 10:48:31 · 632 阅读 · 0 评论 -
iOS 多线程 锁 互斥 同步
在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题:方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安全[cpp] view plaincopyprint?@synchronized(self) { //转载 2014-08-18 21:20:28 · 360 阅读 · 0 评论 -
在iOS中使用icon font
原文地址:http://www.cocoachina.com/applenews/devnews/2013/1111/7327.html转载 2014-08-25 16:08:35 · 617 阅读 · 0 评论 -
NSURLProtocol Tutorial
原文地址:http://www.raywenderlich.com/59982/nsurlprotocol-tutorial转载 2014-09-15 16:24:18 · 747 阅读 · 0 评论 -
ios各种动画效果
最普通动画: //开始动画 [UIView beginAnimations:nil context:nil]; //设定动画持续时间 [UIView setAnimationDuration:2]; //动画的内容 frame.origin.x += 150; [img setFrame:frame]; //动画结束 [UIView commitAnimati转载 2015-06-17 14:45:11 · 329 阅读 · 0 评论 -
Xcode断点无效
依次检查下面的选项1.Xcode工具栏->Debug->Debug workflow: 取消Always Show Disassembly的选中态。选中时可以查看程序运行时的汇编代码,我们在调试代码时不需要查看汇编代码,那么可以取消,断点就会停在我们的代码上。2.target->Build settings->Generate Debug Symbols 为YE...原创 2018-10-18 18:15:34 · 10693 阅读 · 1 评论 -
WARNING ITMS-90737: "Invalid Document Configuration.
警告的详细信息:WARN: WARNING ITMS-90737: "Invalid Document Configuration. Document Based Apps should support either the Document Browser (UISupportsDocumentBrowser = YES) or implement Open In Place (LSSupp...原创 2018-10-16 15:31:06 · 3351 阅读 · 0 评论 -
Objective-C中的nullable、__nullable、__Nullable
nullable、__nullable、_Nullable 都表示对象可以是NULL或nilnonnull、__nonnull、_Nonnull 都表示对象不应该为空它们是Obective-C特性Nullability Annotations,如果我们在编码时不遵循这一规则时,编译器会给出警告。三种表示作用是相同的,在使用时位置会有差别。举例如下:方法返回值的修饰:- (null...原创 2019-06-02 13:05:23 · 1143 阅读 · 0 评论 -
iOS RunLoop 初识
原文地址:http://www.cnblogs.com/tangbinblog/archive/2012/12/07/2807088.html今天突然才之间才意识到NSTimer这样的运行方式,是在多线程中实现的循环还是在主线程中去实现的呢。当然不可能是在主线程中的while那么简单,那样什么都干不了,简单看了下NSTimer是以同步方式运行的。时间到了,消息发出后,ontim转载 2014-03-23 09:19:46 · 479 阅读 · 0 评论 -
Objective-C消息机制的原理
原文地址:http://dangpu.sinaapp.com/?p=119 在Objective-C中,message与方法的真正实现是在执行阶段绑定的,而非编译阶段。编译器会将消息发送转换成对objc_msgSend方法的调用。 objc_msgSend方法含两个必要参数:receiver、方法名(即:selector),如: [receiver messa转载 2014-03-21 11:46:20 · 419 阅读 · 0 评论 -
正确使用PresentModalViewController
原文地址: http://www.cnblogs.com/smileEvday/archive/2012/05/29/presentModalViewController.htmlPresent ViewController Modally 一、主要用途 弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewCont转载 2013-05-30 10:11:39 · 562 阅读 · 0 评论 -
让UIWebView resignFirstResponder的方法
原文地址:http://segmentfault.com/q/1010000000156830#a-10200000001569021.执行js语句document.activeElement.blur();2.调用UIView的endEditing方法[webview endEditing: YES];转载 2013-06-20 14:18:04 · 1590 阅读 · 0 评论 -
Objective-C中Extension与Category的使用
原文地址:http://blog.csdn.net/horkychen/article/details/7993960Objective-C 2.0增加了class extensions用于解决两个问题:允许一个对象可以拥有一个私有的interface,且可由编译器验证。支持一个公有只读,私有可写的属性。私有接口(Private Interface)Ob转载 2013-07-23 10:05:23 · 610 阅读 · 0 评论 -
iOS并发编程指南
原文地址:http://www.cnblogs.com/pengyingh/articles/2357853.htmliOS并发编程指南iOS Concurrency Programming GuideiOS 和 Mac OS 传统的并发编程模型是线程,不过线程模型伸缩性不强,而且编写正确的线程代码也不容易。Mac OS 和 iOS 采取 asynchronous转载 2013-08-19 22:26:20 · 507 阅读 · 0 评论 -
IOS Socket使用大全
原文地址:http://blog.csdn.net/ch_soft/article/details/7369705 第一部分、概念的理解1、什么是Socket?Socket又称之为“套接字”,是系统提供的用于网络通信的方法。它的实质并不是一种协议,没有规定计算机应当怎么样传递消息,只是给程序员提供了一个发送消息的接口,程序员使用这个接口提供的方法,发送与接收消息。Socket描转载 2014-03-13 17:17:14 · 929 阅读 · 0 评论 -
iOS保存数据的4种方式
原文地址:http://www.apkbus.com/android-830-1.html 在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题。将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好。下面介绍一下数据保存的方式:1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCodin转载 2014-03-13 17:21:44 · 812 阅读 · 0 评论 -
IOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
原文地址:http://www.2cto.com/kf/201209/157722.html介绍:Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。设计:G转载 2014-03-13 10:49:14 · 434 阅读 · 0 评论 -
去掉xcode中警告的一些经验
原文地址:http://hi.baidu.com/coolwork/item/95e7481832429551f1090ea21、编译时,编译警告忽略掉某些文件 只需在在文件的Compiler Flags 中加入 -w 参数,例如:2、编译时,编译警告忽略掉某段代码#pragma clang diagnostic转载 2014-03-10 16:39:27 · 693 阅读 · 0 评论 -
armv6, armv7, armv7s的区别
armv6, armv7, armv7s的区别这两天遇到静态库不支持armv7s的问题,所以顺道了解和总结一下几个arm架构的一些基本区别。 ARM是微处理器行业的一家知名企业,arm处理器以体积小和高性能的优势在嵌入式设备中广泛使用,几乎所有手机都是使用它的。armv6, armv7, armv7s是ARM CPU的不同指令集,原则上是向下兼容的。如iPh转载 2014-03-28 15:16:08 · 566 阅读 · 0 评论 -
ios nil、NULL和NSNull 的使用
原文地址:http://blog.csdn.net/xdrt81y/article/details/8981133nil用来给对象赋值(Objective-C中的任何对象都属于id类型),NULL则给任何指针赋值,NULL和nil不能互换,nil用于类指针赋值(在Objective-C中类是一个对象,是类的meta-class的实例), 而NSNull则用于集合操作,虽然它们表转载 2014-03-19 09:29:07 · 438 阅读 · 0 评论 -
Objective-c——@class关键字&#import
一、导语我们都知道使用OC编程的时候,如果要使用其他的类或者数据源,都需要使用import导入对应的头文件,但是如果不理解import和@class的区别,不仅仅可能会造成性能低下,更可能会导致程序崩溃,下面我们就来说说@class关键字和#import的区别。二、区别1 .import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名转载 2014-04-16 15:36:14 · 485 阅读 · 0 评论 -
关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系
刚接触iOS开发的人难免会对苹果的各种证书、配置文件等不甚了解,可能你按照网上的教程一步一步的成功申请了真机调试,但是还是对其中的缘由一知半解。这篇文章就对Certificate、Provisioning Profile等做个总结。 1.概念介绍如果你拥有一个开发者账户的话,在iOS Dev Center打开Certificates, Indentifiers & Profiles,你就可转载 2014-03-31 14:49:28 · 515 阅读 · 0 评论 -
企业版IDP的申请及“In House”发布
企业版IDP,即iOS Development Enterprise Program。注意是$299/Year那种,并不是$99/Year的那种。 这种方式的IDP其最大的好处在于:可以发布“In House”应用。 这种应用使用一种叫做“In House Distribution Provisioning Profile”的文件进行发布,不能发布到Apple Shop进行销售,也不需要经转载 2014-03-31 14:45:34 · 516 阅读 · 0 评论 -
iphone崩溃日志分析工具symbolicatecrash用法
iphone崩溃日志分析工具symbolicatecrash Symbolicatecrash是Xcode自带的一个分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃的位置,把crash日志中的地址替换成代码相应位置。使用效果:分析前:Thread 0 name: Dispatch queue: com.apple.main-threadThread 0转载 2014-03-31 14:53:07 · 822 阅读 · 0 评论 -
块编程指南
——译自Apple Reference Library《Blocks Programming Topic》 简介 块对象是C语言的句法和运行时特性。它类似于标准C函数,但可以将代码、变量绑定到堆(heap)、栈(stack)。一个块还维护了一系列的状态,这些状态或数据影响着执行的结果。可以把块组成函数表达式,用于传递给API,或者使用在多线程里。最有用的是回调,因为块在回调时能把代转载 2014-04-01 15:06:02 · 565 阅读 · 0 评论 -
Objective-C向nil发送消息
在Objective-C中,向nil发送消息不会crash。原因是在执行id objc_msgSend(id self, SEL op, ...) 方法时,如果self = nil,函数不执行任何有意义的操作而直接返回。 发送给nil对象的消息的返回值取决于方法的返回类型:如果方法的返回值是一个对象指针,则返回nil。如果方法的返回值是普通数据类型的指针,返回的是NULL。原创 2014-03-21 11:25:32 · 767 阅读 · 0 评论 -
iOS工程中的info.plist文件的完整研究
原文地址:http://blog.csdn.net/nicktang/article/details/6875234我们建立一个工程后,会在Supporting files下面看到一个"工程名-Info.plist"的文件,这个是对工程做一些运行期配置的文件,很重要,不能删除。如果你在网上下载的工程中的这个文件名只是Info.plist,那么恭喜你,这个工程太老了,是用包含SD转载 2013-05-22 11:15:52 · 566 阅读 · 0 评论