iOS开发(一) 真机调试

       

       刚开始接触ios开发,记录下学习过程中的知识。 今天来写一篇真机调试的。


       首先加入ios开发者计划,获取到开发者账号。加入了之后就可以开始折腾了。开发、测试和发布应用。

       

        刚开始接触iOS开发 ,表示被苹果的Certificates, Provisioning Profiles and Application IDs折磨的够呛 。看文档看的也是稀里糊涂的。这里根据各种文档以及过来人的指点写一下自己的总结。


        什么是Certificates,Identifiers,Profiles:


        打开用户中心,看到以下界面:

           


        选中Certificates, Identifiers & Profiles,进入可以了解下这三个具体是什么东西。

        


        上面的列表中包含了开发,测试,和发布ios应用程序的所需内容:certificates,identifiers,devices,和provisioning profiles。依次来了解下: 


        1.Certificate ( Or developer name under Xcode )

        首先了解下certificates,选中certificates,pending,可以看到关于certificates的介绍。


        

        Certificates即证书,是你有权利开发和发布App的一个凭证,是开发者的标识,用来给应用程序签名的,只有经过签名过的应用程序才可以保证它的来源是可信任的。


        我们申请一个Certificate之前,需要先申请一个Certificate Signing Request (CSR) 文件,而这个过程中实际上是生成了一对公钥和私钥,保存在你Mac的Keychain中。代码签名正是使用这种基于非对称秘钥的加密方式,用私钥进行签名,用公钥进行验证。如下图所示,在Mac的keychain Access的login中存储着相关的公钥和私钥,而证书中包含了公钥。

        

        


        你只能用私钥来进行签名,所以如果没有了私钥,就意味着你不能进行签名了,所以就无法使用这个证书了,此时你只能revoke之前的证书再申请一个。因此在申请完证书时,最好导出并保存好你的私钥。当你想与其他人或其他设备共享证书时,把私钥传给它就可以了。私钥保存在你的Mac中,而苹果生成的Certificate中包含了公钥。当你用自己的私钥对代码签名后,苹果就可以用证书中的公钥来进行验证,确保是你对代码进行了签名,而不是别人冒充你,同时也确保代码的完整性等。


        之间的关系可以用下图来标示:

        图片来源:点击打开链接


        一个开发者有一套证书,包括Development ,Production.

        1.Development证书提供开发者在电脑上真机开发和调试的权限,可以制作多个副本分发到多台电脑。

        2.Production证书提供开发者发布iOS程序的权限,也就是通过这个,你可以发布你的App到App store上去。


       


       2.Identifiers


        选中identifiers,可以看到下面这些:
        

        App IDs:

        App ID用于标识一个或者一组App,App ID应该是和Xcode中的Bundle ID是一致的或者匹配的。App ID主要有以下两种:

        Explicit App ID:唯一的App ID,这种App ID用于唯一标识一个应用程序,例如com.ABC.demo1,标识Bundle ID为com.ABC.demo1的程序。
        Wildcard App ID:通配符App ID,用于标识一组应用程序。例如*可以表示所有应用程序,而com.ABC.*可以表示以com.ABC开头的所有应用程序。

        

        可以看到上面的id有通配符类型的id(*),也有唯一的App id.


        关于Identifier中的各种id, 简单的解释就是:

        Bundle ID = Application ID = Identifier

        



        3.Device

        Device就是iOS设备了。每台设备使用udid来标识。 每个帐户中的设备数量限制是100个。




        4.Provisioning Profile.


        一个Provisioning Profile文件包含了上述的所有内容:Certificate、App ID、Device。

        如果我们要打包或者在真机上运行一个应用程序,我们首先需要证书来进行签名,用来标识这个应用程序是合法的、安全的、完整的等等;然后需要指明它的App ID,并且验证Bundle ID是否与其一致;再次,如果是真机调试,需要确认这台设备能否用来运行程序。而Provisioning Profile就把这些信息全部打包在一起,方便我们在调试和发布程序打包时使用,这样我们只要在不同的情况下选择不同的profile文件就可以了。而且这个Provisioning Profile文件会在打包时嵌入.ipa的包里。

        如下图所示,一个用于Development的Provisioning Profile中包含了该Provisioning Profile对应的App ID,可使用的证书和设备。这意味着使用这个Provisioning Profile打包程序必须拥有相应的证书,并且是将App ID对应的程序运行到Devices中包含的设备上去。


          

        


       了解了上述基本概念,来学习一下真机调试.


        2.真机调试


        1.首先制作证书,提前准备好证书:


        打开 keychain access,

         


        2.填写相关信息。Email Address,  Name需要填写,然后下面那个ca email address不选,然后选择save to disk,然后点击continue。

        

        3.保存到本地,然后上传你的.certSigningRequest文件,然后点击generate.

        

        

        

        点右上角的 +按钮,然后到下面这个界面:点击下载Worldwide Developer Relations Certificate Authority”证书(蓝色字体)

         

        下载好之后,双击,在keychain 中可以访问到


        

        4然后进入到下一步:上传自己制作好的证书。

       

        

 

        这样Certificates就提交上去了,下面的任务是由我的开发组的admin来把我加进去,具体不太了解个人的是什么流程。


        5.管理员批准我的请求之后,就可以在Certificates中看到自己的上传好的证书,点击下载,下载完成后,双击证书.然后认证的咨询就会成功的写入到个人的Mac机器中。

        



        6.我提供我的Device的Udid给管理员,让他把我加入到Devices项目和 Provisioning  Profiles项目中.


        管理员通知我加入完成之后,我需要去 Provisioning  Profiles页面下载我自己的认证档案


        


        7.一旦完成之后打开xcode 并且链接自己的ios设备到mac上,打开Code 的 Windows|Organizer 功能表,就可以看到 XCode 成功的連結 iPad 或 iPhone,然后可以打开xcode的Provisioning Profiles页面可以看到授权文件,状态是 Valid profile。




        OK,Done. 如果有什么错误,请指正~














         




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值