真机调试 与 响应者链

原创 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,以结束整个循环。
版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS事件传递:响应者链

事件传递:响应者链 当你设计你的app 时候,经常动态地响应事件对不对。比如,屏幕上的许多对象都会触发一个触摸的事件,你必须决定让谁来响应这个时间并且要明白这个对象怎么接收到事件。   当一个用...
  • dayuqi
  • dayuqi
  • 2015年10月30日 20:05
  • 2494

IOS - 响应者链条

简单来说就是 :一级一级的找到响应的视图,如果没有就传给UIWindow实例和UIApplication实例,要是他们也处理不了,就丢弃这次事件... 对于IOS设备用户来说,他们操作设备的方式...
  • andrew57
  • andrew57
  • 2014年03月19日 11:37
  • 11489

UIView与subview之间事件响应链

原文地址:http://my.oschina.net/megan/blog/143947 我有如上图所示的ViewA和ViewB,其中ViewA是superview。现在我想对他们添加事...
  • xxq_2011
  • xxq_2011
  • 2015年06月07日 00:16
  • 591

Xcode 免费真机调试方法

步骤如下图: 点击 command + r 的时候提示下面这个: 这时要在真机设置信任就ok,步骤: 《设置》=> 《通用》=> 《设备管理》=> 选择刚才添加的开发账号 => 点击信任你的...
  • u014116643
  • u014116643
  • 2016年01月07日 09:50
  • 836

事件传递和响应者链

事件传递和响应者链原理 单元格UITableViewCell点击几乎没法进入选中单元格那个代理方法...
  • iOS_HC
  • iOS_HC
  • 2016年07月26日 18:30
  • 167

iOS 事件响应链机制 及 触摸事件(hitTest)

对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种: 1、触屏事件(Touch Event) 2、运动事件(Motio...
  • zixiweimi
  • zixiweimi
  • 2014年08月27日 11:03
  • 867

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

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

iOS 事件和响应者链,手势

事件出现在iphone上有三种主要方式:通过触摸,通过摇动,及远程控制。 Responding to Touch Events – touchesBegan:withEvent:– t...
  • ztk881012
  • ztk881012
  • 2013年12月12日 09:27
  • 949

ios 关于响应链详解

前言:在ios编程中,经常会遇到各种复杂的视图,那么我们点击屏幕,是怎么样将点击事件传递到对应的对象上面,延后完成方法的执行的呢?以下已touch事件为例进行说明: 1.Touch事件的传递顺序:...
  • changcongcong_ios
  • changcongcong_ios
  • 2017年08月04日 17:08
  • 318

基于Ubuntu-14.04系统-连接真机调试Android程序

本人Android系统的开发环境是基于Ubuntu系统下的,所以导致使用真机调试的时候需要手动配置相关的环境,之前每换一次手机都要重新度娘一次,索性此次自己把步骤记录一下,以后方便自己查看(用Ubun...
  • moyameizan
  • moyameizan
  • 2015年04月06日 18:43
  • 1160
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:真机调试 与 响应者链
举报原因:
原因补充:

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