写信 :先用哈希算法生成信件的摘要,然后使用私钥对摘要进行加密,生成“数字签名”,将这个签名附在信件下面,一起发送。
收信 :先用公钥解密数字签名,再对信件本身用哈希算法解析。
公钥和私钥配对使用,私钥一般是自己拿着的,公钥是给别人的
公钥加密后用私钥解密,私钥加密后用公钥解密
证书中心(CA),是用来保证信息传递更加安全的一个中间机构,会颁发数字证书,在传数据的时候,需要附加上数字证书
当提交应用程序给苹果审批和部署的时候,首先必须用自己的签名标识为应用程序签名,同时随程序一起提交签名证书,然后苹果验证该程序代码是否来自有效的已注册的开发者,苹果用她自己的签名证书为你的已签名的应用程序签名,然后你的应用程序才能在iPhone等苹果设备上正常的运行
所有的iPhone应用程序在iOS设备上运行之前必须用合的signing identity(签名标识)进行签名。
一、为了在自己的iOS设备开发而做应用程序签名,需要:
Provisioning profile
(授权文件)二、为了让自己的开发的应用程序发布在AppStore,需要:
三、为了让自己的应用程序在Ad Hoc上,需要:
私钥是在生成认证签名请求(CSR)时创建的, 在CSR提交和通过后,可以在iPhone Developer Program Provisioning Portal里创建和下载证书以及provisioning profiles.
Signing identity (签名标识) 由私有加密key 和数字证书组成,在iOS开发中, XCode 用私钥来 签署程序,这样程序就可以在iOS开发设备上运行或者提交到App Store上。 公钥包含在iOS开 发者/发布证书,用来认证已签名的程序。 Provisioning profiles 用来告知XCode用哪个证书/私 钥组合来签署程序,开发设备也通过它来决定如何认证安装在设备上的程序。
苹果开发者账号和iPhone
进入开发者网站,developer.apple.com–>member center(会员中心)–>Certificates,Identifiers&Profiles,首先第一步生成开发者证书,第二步生成appid,第三步添加设备,第四步生成描述文件(描述文件是关联前三步),第五步打开xcode,设置猫叔文件、证书等信息,选择要运行的设备。
公司开发者账号:
账号:[email protected]
密码:Hnqingyun123
在IOS中,由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类,响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次获得响应事件消息的机会。
响应过程步骤:事件分发,事件响应
http://www.mamicode.com/info-detail-499848.html
触摸事件:触摸 -> 硬件中断 -> UIKit封装成UIEvent对象(针对触摸事件)-> 当前运行的应用程序的事件队列 -> AppDelegate(代理) -> UIApplication对象 -> key window -> Hit-Test View
iOS系统检测到手指触摸(Touch)操作时会将其打包成一个UIEvent对象,并放入当前活动Application的事件队列,单例的UIApplication会从事件队列中取出触摸事件并传递给单例的UIWindow来处理,UIWindow对象首先会使用hitTest:withEvent:方法寻找此次Touch操作初始点所在的视图(View),此方法会在其视图层级结构中的每个视图上调用pointInside:withEvent:(该方法用来判断点击事件发生的位置是否处于当前视图范围内),pointInside:withEvent:返回YES,则继续逐级调用,直到找到touch操作发生的位置,这个视图也就是要找的hit-test view,需要将触摸事件传递给其处理,这个过程称之为hit-test view。
隐藏的视图、禁止用户操作的视图、alpha<0.01的视图 和 子视图中超过父视图的部分 不会被找到,可以通过重写pointinside:withEvent:方法来处理第四种情况
其他事件:(其他事件的事件分发前边是一样的)…-> key window -> First Responder(第一响应着)
路线图:First Responser – > ViewController –> The Window – >The Application – > App Delegate
一般来说,第一响应者是个视图对象或者其子类对象,当其被触摸后事件被交由它处理,如果它不处理,事件就会被传递给它的视图控制器对象viewcontroller(如果存在),然后是它的父视图(superview)对象(如果存在),以此类推,直到顶层视图。接下来会沿着顶层视图(top view)到窗口(UIWindow对象)再到程序(UIApplication对象)。如果整个过程都没有响应这个事件,该事件就被丢弃。一般情况下,在响应者链中只要由对象处理事件,事件就停止传递。
响应者对象(Responder Object):指的是有响应和处理事件能力的对象。响应者链就是由一系列的响应者对象构成的一个层次结构。
UIResponder是所有响应对象的基类,在UIResponder类中定义了处理各种事件的接口。我们熟悉的UIApplication、 UIViewController、UIWindow和所有继承自UIView的UIKit类都直接或间接的继承自UIResponder,所以它们的实例都是可以构成响应者链的响应者对象
响应者链的特点
需要指出的是,Cocoa Touch应用不像Cocoa应用,它只有一个UIWindow对象,因此整个响应者链要简单一点