真机调试 与 响应者链

原创 2015年11月18日 17:52:38

开发者账号:

  1. 公司/个人:99$每年,可以有100台机器调试。
  2. 企业:299$每年,可以添加无数台机器,但是不能上传到 appstore

写信 :先用哈希算法生成信件的摘要,然后使用私钥对摘要进行加密,生成“数字签名”,将这个签名附在信件下面,一起发送。
收信 :先用公钥解密数字签名,再对信件本身用哈希算法解析。

公钥和私钥配对使用,私钥一般是自己拿着的,公钥是给别人的
公钥加密后用私钥解密,私钥加密后用公钥解密
证书中心(CA),是用来保证信息传递更加安全的一个中间机构,会颁发数字证书,在传数据的时候,需要附加上数字证书

当提交应用程序给苹果审批和部署的时候,首先必须用自己的签名标识为应用程序签名,同时随程序一起提交签名证书,然后苹果验证该程序代码是否来自有效的已注册的开发者,苹果用她自己的签名证书为你的已签名的应用程序签名,然后你的应用程序才能在iPhone等苹果设备上正常的运行

所有的iPhone应用程序在iOS设备上运行之前必须用合的signing identity(签名标识)进行签名。

一、为了在自己的iOS设备开发而做应用程序签名,需要:

  1. 私钥
  2. iPhone 开发者证书
  3. Development Provisioning profile(授权文件)

二、为了让自己的开发的应用程序发布在AppStore,需要:

  1. 私钥
  2. iPhone Distribution 证书
  3. AppStore Distribution Provisioning profile

三、为了让自己的应用程序在Ad Hoc上,需要:

  1. 私钥
  2. iPhone Distribution证书
  3. Ad Hoc Distribution Provisioning profile

私钥是在生成认证签名请求(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,设置猫叔文件、证书等信息,选择要运行的设备。

公司开发者账号:
账号:dorayo.student@hnqingyun.com
密码:Hnqingyun123


摘要

在IOS中,由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类,响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次获得响应事件消息的机会。

响应过程步骤:事件分发,事件响应

http://www.mamicode.com/info-detail-499848.html

事件(Events)

  1. 触摸事件(Touch Events):单点触摸,多点触摸(Multitouch)及各种手势(Gesture Recognizers)
  2. 晃动事件(Motion Events):重力加速度等传感器
  3. 远程控制事件(Remote -Control Events):线控耳机、airplay

事件分发(Event Delivery)

触摸事件:触摸 -> 硬件中断 -> 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 Chain)

响应者对象(Responder Object):指的是有响应和处理事件能力的对象。响应者链就是由一系列的响应者对象构成的一个层次结构。

UIResponder是所有响应对象的基类,在UIResponder类中定义了处理各种事件的接口。我们熟悉的UIApplication、 UIViewController、UIWindow和所有继承自UIView的UIKit类都直接或间接的继承自UIResponder,所以它们的实例都是可以构成响应者链的响应者对象

响应者链的特点

  1. 响应者链通常是由视图(UIView)构成的;
  2. 一个视图的下一个响应者是它视图控制器(UIViewController)(如果有的话),然后再转给它的父视图(Super View);
  3. 视图控制器(如果有的话)的下一个响应者为其管理的视图的父视图;
  4. 单例的窗口(UIWindow)的内容视图将指向窗口本身作为它的下一个响应者需要指出的是,Cocoa Touch应用不像Cocoa应用,它只有一个UIWindow对象,因此整个响应者链要简单一点
  5. 单例的应用(UIApplication)是一个响应者链的终点,它的下一个响应者指向nil,以结束整个循环。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

UIResponse响应者链

这篇文章想跟大家分享的主旨是iOS捕获用户事件的各种情况,以及内部封装的一些特殊事件。 我们先从UIButton谈起,UIButton大家使用的太多了,他特殊的地方就在于其内置的普通Defaul...

Cocoa Touch事件处理流程--响应者链

一、事件分类 对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种: 1、触屏事件(Touch Event) 2、运动事件(Moti...

UI高级之事件的响应者链

iOS触摸事件的传递过程

43.事件传递 事件响应者链 touch方法

1.发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的...

iOS 响应者链Responder Chain浅析

在iOS中,当发生事件响应时,必须知道由谁来响应事件。这就是由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类,响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次获...

UI第四天 触摸 响应者链 target-action

UIEvent: 事件,是由硬件捕捉的一个表示用户操作设备的对象 分三类: 触摸事件(touch),晃动事件(motion),远程控制事件 触摸事件4个方法 也就是4个过程 1.touchBega...

iOS事件的分发机制和响应者链(Swift)

当我们在设计自己的APP时,可能会想动态的响应事件.例如:屏幕上许多对象都能够发生触摸,我们必须决定哪一个对象来响应给定的事件并且知道对象是如何接受事件的。当用户事件产生的时候,UIKit会创建一个事...

Cocoa Touch事件处理流程--响应者链

Cocoa Touch事件处理流程--响应者链 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/9264335...
  • iunion
  • iunion
  • 2016年01月09日 11:17
  • 1562

《随堂笔记iOS UI课程》--事件,响应者链,容器视图控制器

UIEvent 事件:触摸事件 摇晃事件 yuan'cheng

iOS - 响应者链触摸事件

触摸事件 在用户使用app过程中,会产生各种各样的事件 iOS中的事件可以分为3大类型 触摸事件: 加速计事件: 远程控制事件: 响应者对象 在iOS中不是任何对象都能处理事件,只有继承了U...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:真机调试 与 响应者链
举报原因:
原因补充:

(最多只允许输入30个字)