ios专题 - openSSL】的更多相关文章

原文网址:https://www.jianshu.com/p/651513cab181 本篇文章为大家推荐两个脚本,用来iOS系统下编译OpenSSL通用库,如果想了解编译具体过程,请参看<iOS编译OpenSSL静态库> 脚本一 下载:https://github.com/x2on/OpenSSL-for-iPhone 说明: 该脚本带有demo,同学们可以研究下源码,了解加密解密的过程. 等待下载完成,终端进入文件目录,执行build-libssl.sh脚本文件 $ cd .../Open…
1  概述 1.1  产生背景 基 于万维网的电子商务和网上银行等新兴应用,极大地方便了人们的日常生活,受到人们的青睐.由于这些应用都需要在网络上进行在线交易,它们对网络通信的安全 性提出了更高的要求.传统的万维网协议HTTP不具备安全机制——采用明文的形式传输数据.不能验证通信双方的身份.无法防止传输的数据被篡改等,导致 HTTP无法满足电子商务和网上银行等应用的安全性要求. Netscape公司提出的安全协议SSL,利用数据加密.身份验证和消息完整性验证机制,为网络上数据的传输提供安全性保证…
最近在编译支付宝 快捷支付(无线) ios 端的时候发现demo不支持arm64.在网上找了下,看到客服说是openssl的库文件不支持arm64,于是自己编译了支持arm64的库文件,发现还是不行,提示原来淘宝的库文件也不支持.问他们客服,缺迟迟不给出解决方案,到后面居然连话都不回了.. 以上都是题外话,现在来看看如何编译支持arm64的openssl吧.我是在mac os 10.9.3,xcode5.1.1下进行编译的. 先下载openssl的源文件 http://www.openssl.o…
设计模式:解决编程问题的设计模板 设计模式是一个抽象工具,用于面向对象的软件开发,以及其他领域.它是一个设计模板,在特定背景中,解决一般性的.重复出 现的问题.因此,设计模式是一种针对特定的.具体的设计的准则:在某种意义上,它是模式的“实例化”.在如何应用设计模式上,有一定的灵活性,通常例如程 序设计语言和现有架构等事物,会影响如何应用模式. 有几个设计主题或原则对设计模式产生影响.这些设计原则是构建面向对象系统的经验法则,例如“封装发生变化的系统结构方面”(encapsulate the as…
在ios中,委托模式非常常见,那委托模式是什么? 委托模式是把一个对象把请求给另一个对象处理. 下面见例子: #import <UIKit/UIKit.h> @protocol LQIPeople<NSObject> @required -(void) eat; -(void) run; -(void) walk; @optional -(void) speak; @end @interface LQPerson : NSObject @property (assign) id&l…
知识点 : 1)ios 核心动画的基础是图层.图层的基础是CALayer,它是所有核心图层类的父类. 2)CATransaction是核心动画类负责协调多个动画原子显示更新.事务支持嵌套使用. 3)图层与UIView之前的最大区别是,图层不会直接渲染到屏幕上.图层封装了几何,时间,可视化属性. 4)每个图层树分为2部分,一部分是呈现树,一部分是渲染树. 5)图层必须由视图来脱管. 图层的内容创建有以下几个方法: A)使用包含图片内容的 CGImageRef 来显式的设置图层的 contents…
iOS多线程初体验是本文要介绍的内容,iPhone中的线程应用并不是无节制的,官方给出的资料显示iPhone OS下的主线程的堆栈大小是1M,第二个线程开始都是512KB.并且该值不能通过编译器开关或线程API函数来更改.只有主线程有直接修改UI的能力. 一. NSOperation和NSOperationQueue 1.一个继承自  NSOperation的操作类,该类的实现中必须有 - (void)main方法的. 2.使用NSOperation的最简单方法就是将其放入NSOperation…
转自:http://blog.devtang.com/blog/2012/02/05/mvc-in-ios-develop/ 前言 iphone开发相关的教程中最有名的,当数斯坦福大学发布的”iphone开发公开课”了.此公开课在以前叫做<iphone开发教程>,今年由于平板电脑的流行,所以也加入了ipad开发相关的课程.在网易公开课上,有该教程的2010年录象,并且前面15集带中文字幕文件,非常适合初学者学习. 在这里顺便说一下,网易公开课上的28集其实并不需要全部看完.真正的课程只有前面1…
二,BSD socket API 简介 BSD socket API 和 winsock API 接口大体差不多,下面将列出比较常用的 API: API接口 讲解 int socket(int addressFamily, int type,int protocol) int close(int socketFileDescriptor) socket 创建并初始化 socket,返回该 socket 的文件描述符,如果描述符为 -1 表示创建失败. close 关闭 socket. 通常参数…
网上看到这篇文章,觉得基本的flow很有帮助,转过来收藏了:作者:关于Sarah Parmenter英国艾塞克斯(英国英格兰东南部的郡)Youknowwho设计工作室的创始人,Sarah Parmenter专注于网站,iPhone和iPad应用的设计.设计工作室创立于2003年.查看更多设计案例请点这里. 1. 确定你的创意 您的创意是否有人做过,如果有类似的app,那就要多多考虑,争取超越并且有一些独特的优化设计在其中.ps: 13年IOS app store的应用数量已为435,000,应该…
[原创]http://www.cnblogs.com/luoguoqiang1985 ios在安装APP时,把APP的偏好设置与数据放在sandbox里.sandbox通过一系列细颗粒度控制APP访问files, preferences, network resources, hardware等. 为了帮助APP组织数据, 每个沙盒目录包含了几个出名的子目录放文件. 1. Applications_HOME目录就是安装程序的地方 获取路径代码 NSString * homePath = NSHo…
[原创]http://www.cnblogs.com/luoguoqiang1985 单例模式是什么? 一个类只有一个实例. ----------------------- 这样做有什么好处? 在我的开发经验看来,单例的好处是 1)整个应用的状态统一控制. 2)对于频繁使用的类,可以控制生成实例对象的数量 ------------------------ 那在ios下怎么实现? 据了解有2种方案,@synchronized, GCD GCD方案: static InstanceClass *in…
iOS通过以下几种机制来保全整个系统的安全性: 一:系统结构 所有iOS设备中,系统与硬件都高度集成,从系统启动.系统更新.应用的安装.应用的运行时等多个方面来保全系统的安全,具体包括: 1:所有iOS设备在处理器内都集成有一段名为Boot Room的代码,此代码被烧制到处理其内的一块存储上,并且只读,可以认为是完全可信的.系统启动时,Boot Room通过苹果的Apple Root CA Public证书对Low-Level BootLoader进行验证,如果通过验证,Low-Level Bo…
[原创]http://www.cnblogs.com/luoguoqiang1985 以前,自己写程序,图片等资源放得比较乱.后来,发现有个更好的方法来管理图片等资源文件 --bundle文件. 1)怎么制作bundle文件 其实很简单,先新建一个文件,把资源文件放进去,接着,重命名文件为.bundle类型文件. 真相: 是不是很简单?哈哈 2)bundle文件在ios下的使用 对bundle文件的使用,ios 提供了NSBundle类. 长话短说,看招---- /* * 根据枚举获取资源 */…
[原创]http://www.cnblogs.com/luoguoqiang1985 这CocoaPods怎么用呢? 参考官方文章:guides.cocoapods.org/using/using-cocoapods.html 这次项目例子以JSONKit作为例子. 首先,跑个命令热热身. pod search JSONKit 过了一阵子,有料到啊 -> JSONKit (1.5pre)   A Very High Performance Objective-C JSON Library.  …
职业走得很累,停下来,温故技术.顺便开始我得ios博客文章. [原创]http://www.cnblogs.com/luoguoqiang1985 安装 第一步:执行以下命令 sudo gem install cocoapods 第一次执行报错,郁闷哇.跟着百度一下,原来要更新下Ruby 的Gem. 英文原文:http://rubygems.org/pages/download 依次执行以下命令: sudo gem update --system 看到成功信息后,继续执行 sudo gem in…
iOS 之 UIViewController iOS 之 Navagation Button iOS 之 UIButton iOS 之 UITextField iOS 之 UIStackView iOS 之 WebView 简单使用 iOS 之 UITextView iOS 之 UIScrollView iOS 之 UITableView iOS 设置UILable字体,及计算长度和位置 iOS 添加导航栏两侧按钮 iOS 设置控件圆角.文字.字体 iOS 按钮设置图片和事件 iOS 之 设置控…
git clone git://git.ffmpeg.org/rtmpdump 不想要openssl 在rtmp.h里面 #undef CRYPTO 编译动态库与静态库只需要修改下面的 #include $(BUILD_SHARED_LIBRARY) include $(BUILD_STATIC_LIBRARY) ffplay rtmp://101.200.44.42/live/starRTC iPhoneOS.platform/Developer/usr/bin/gcc: No such fi…
objective-c中,有类别可以在不修改源码的基础上增加方法:近排在看别人的开源代码时,发现还可以动态增加属性.而且是在运行时,太牛B了. 使用运行时库,必须要先引入 objc/runtime.h 可以使用的函数如下: OBJC_EXPORT void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy) 这个函数 OBJC_EXPORT id objc_ge…
[罗国强原创] 今天被刺激了,愤概地要写下这边博文. 说到http异步下载,首先要知道其中的关键类. 关键类是NSURLConnection  NSURLRequest NSMutableURLRequest 委托是 NSURLConnectionDownloadDelegate NSURLConnectionDataDelegate NSURLConnectionDelegate 首先,我们要实现最基本的下载功能. LQAsynDownload.h // // LQAsynDownload.h…
说到图片获取的方法,就得看API文档. UIImage生成实例的方法有: 1)imageNamed 从指定文件返回对象. 这个方法有个比较特殊的地方:该方法首先从系统缓存中寻找该图片,如果有,则从缓存中获取:如果没有,则获取图片,再把图片加入缓存: 2)imageWithContentFile 从指定文件路径中加载对象并返回.但是该方法不会缓存对象. 3)imageWithData 根据NSData返回对象实例…
what is block Blocks are a language-level feature added to C, Objective-C and C++, which allow you to create distinct segments of code that can be passed around to methods or functions as if they were values. Blocks are Objective-C objects, which mea…
KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知. addObserver:  forKeyPath: options: context: 方法注册观察者. -(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context:回调方法. removeO…
[原创]http://www.cnblogs.com/luoguoqiang1985 ARC [新的规则] 1. you cannot explicitly invoke dealloc, or implement or invoke retain, release, retainCount, or autorelease 你不能显示调用 dealloc, 或者实现和调用retain, release, retainCount, or autorelease 2.You cannot use N…
关键类:NSKeyedArchiver  与  NSKeyedUnarchiver 采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法.前一个方法告诉系统怎么对对象进行编码,而后一个方法则是告诉系统怎么对对象进行解码 例子: LQAnimal.h #import <UIKit/UIKit.h> @interface LQAnimal : NSObject <NSCoding>…
[原创]http://www.cnblogs.com/luoguoqiang1985 今天遇见了这问题,决定要需要讨论下. 线程同步的方法: @synchronized 官方文档解释:The @synchronized directive is a convenient way to create mutex locks on the fly in Objective-C code. 个人理解:@synchronized关键字提供了互锁功能. 示例代码: static NSObject *loc…
什么是Scrum? Scrum是一个敏捷开发框架,是一个增量的.迭代的开发过程.在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个 Sprint,每个Sprint的建议长度是2到4周.在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值 排序的需求列表,列表条目的体现形式通常为用户故事.Scrum团队总是先开发对客户具有较高价值的需求.在Sprint中,Scrum团队从产品 Backlog中挑选最高优先级的需求进行开发.挑选的需求…
何为Dispatch Sources 简单来说,dispatch source是一个监视某些类型事件的对象.当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中. 说的貌似有点不清不楚.我们到底讨论哪些事件类型? 下面是GCD 10.6.0版本支持的事件: Mach port send right state changes. Mach port receive right state changes. External process state chang…
什么是GCD? Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写.从基本功能上讲,GCD有点像 NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行.GCD比之 NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分. 除了代码的平行执行能力,GCD还提供高度集成的事件控制系统.可以设置句柄来响应文件描述符.mach ports(Mach port 用于…
OCUnit是集成在Xcode开发环境的单元测试框架:OCUnit运行必须包含SenTestingKit.framework这个库: 针对需要测试的类,每个类写出自己的TestCase,独立组织一个文件.每个测试类都是继承自SenTestCase类,这里有3个重要的方法需要介绍: 1. -(void)setUp: 每个test方法执行前调用,用于类的创建,一些变量的初始化等 2. -(void)tearDown:每个test方法执行后调用 3. -(void)testXXX:这个是真正运行的测试…