首页 > 代码库 > Q8:在iOS Dev Center进行证书申请以及生成iPa文件给别人玩

Q8:在iOS Dev Center进行证书申请以及生成iPa文件给别人玩

iOS发开蛋疼集锦下

Write by iceAna Team

2.Bie~~,App(Submit app into Store)

01.前言

iOS真机调试上集回顾,倘若还未看过请猛戳这里。我简单总结下:

  • 写完代码,选中我们的iPhone、iPad等设备(在开发者账号中注册过),在Xcode下可以进行真机调试。
  • 项目代码开发者证书**密钥**开发者账号打包,传输到到另外一台Mac,即可在另外一台电脑进行真机调试,当然前提是设备都必须注册过。

注意到开发证书以及密钥,对于某些朋友比较陌生,这里在提及。由于上集中我们采用Xcode来进行证书(Certificate)以及配置文件(Provisioning Profile)的获取。偷偷告诉你,其实还有密钥,你可以在钥匙串中查看。
那么现在问题来了:

  1. 你不想把你的代码发给别人,因为涉及某些机密。
  2. 测试用户没有Xcode,完全没有编程经验。
  3. 测试用户只有一个itunes用以同步自己的设备。

那么如何解决这些问题呢,请看正文。

02.正文

首先要提及的是你的开发者账号中允许你注册多达100台设备,让你的app在这些设备中安装运行,无须从App Store去下载。 你只需要在Xcode中简单地build下app代码,然后发送给测试用户压缩文件即可,当然这个压缩文件必须包括:application bundleAd Hoc Distribution profile。之后用户将这些文件拖入itunes中,连接iPhone、iPad进行同步。

注:

  • application bundle
  • Ad Hoc Distribution profile。英文翻译下就理解了:Ad Hoc 表示临时地,特别地(别喷我)。

1.关于distribution profile

之前我们明确表示了想要将开发的App运行到设备上,必须要使用证书(Certificate)和配置文件(Provisioning profile)进行签名(signed)。此外这里的配置文件你是否还有印象,Team provision可以匹配任何App ID,但是令人遗憾的是它只能针对开发目的来说,仅仅只在Xcode中有效。
恩...到目前为主,希望你一切都进行得顺利:能够用Xcode将app在真机中跑起来。接下来我们开始新的旅程。明确两个英文单词:

  • Development 开发,也就是你还处于代码调试等阶段
  • Distribution 发布,应用成熟了,可以作为产品发布供大家玩了

接下来我们换一种方式,创建一个新的profile仅为distribution工作。

2.ios Dev Center 内容讲解

打开Safari,点击网址http://developer.apple.com/ios/,用户登陆之后,我们的目的地是Certificates,Identifiers&Profiles

技术分享
点击之后进入以下界面:

技术分享

此时你现在看到的是这样的:

技术分享

  • Certificates
    • All
      显示所有证书
    • Development
      显示开发证书
    • Production
      显示发布证书 即Distribution
  • Identifiers
    • App IDs
      App是应用程序,那么都要给它设置一个对应ID!
  • Devices
    • All
      显示所有设备
  • Provisioning Profiles
    • All
      显示所有配置文件
    • Development
      显示开发配置文件
    • Distribution
      显示发布配置文件

3.证书作用及流程

选择Identifier->App IDs,在该页面下有一个+按钮,点击选择添加一个新的App ID。
技术分享

  1. App ID Description中的 Name随便填没事的,毕竟只是一个描述,这只在Provisioning Portal有用。

  2. App ID Prefix表示App ID前缀,默认代表你的团队ID,不管它,该怎么样就怎么样,

  3. App ID Suffix表示App ID后缀,我们当然要选择Explicit App ID(明确的App ID),这个有讲究!在Xcode打开你的app项目,还记得这个红箭头指的吗?对于我来说就要填写com.pmst.StoreSearch
    技术分享
    其他采用默认配置,按Continue继续以创建App ID(别忘了提交).不出意料这个新创建的portal将添加到列表中。
    技术分享

    注意到Name就是我们填写的描述文字,PreFix前缀是唯一标识的10个字符,通常我们会称之为bundle seed

  4. 到现在为止,工作还算顺利,现在看看你是否有发布证书(distribution certificate)。打开钥匙串工具:
    技术分享

  5. 别疑惑,在上集中我们用Xcode向服务器请求了,自动生成并下载了!但是如何手工去制作呢?这里教大家。同样先到Certificate->Production中,按下+进行新建。
    技术分享

  6. 选中App Store and Ad Hoc创建,如果仔细看,本处会出现CSR字样,先不管,点击继续,直到这时,你会发现你卡住了!因为它要求你产生一个CSR 或者证书签名请求。别担心,这很简单,come on,跟随我。

  7. 打开钥匙串访问,通常是在Application/Utilities下。

  8. 在钥匙串的菜单栏中选择Certificate Assistant → Request a Certificate from a Certificate Authority...
    技术分享
    接下来会弹出这个框框:
    技术分享

    填写好邮件地址、名字、选择保存到磁盘,点击继续,将文件保存到桌面即可!
    回到刚才网页,上传CertificateSigningRequest.certSigningRequest,点击generate。然后按download下载下来,靠!终于有属于我们自己的证书了(名字一般叫做ios_distribution.cer),重申下,我们的证书是发布证书,当初选择的是App Store and Ad Hoc。双击安装!这样在你的钥匙串的我的证书中就新增了一个。

  9. 一个app需要运行,必须要证书和配置文件签名才可以在设备上跑,前面我们已经创建了一个发布证书,现在来创建一个发布型配置文件。在Provisioning Profiles->Distribution下点击+新建一个。

    技术分享
    接下来分为几个步骤:1.选择App ID(应用程序ID),我们刚才可是创建了的,别告诉我你忘记了;2.选择发布证书,刚刚才创建;3.选择设备,强调过设备都需要注册过;4.填写provisioning profile的名字!

    技术分享
    还算顺利吗?还差一点点,坚持,马上就结束了!现在点击Generate产生该provisioning profile并点击下载StoreSearch_Ad_Hoc.mobileprovision.暂时保存好,之后又用。

  10. 现在打开Xcode,Preference->Accounts面板,点击View Details...,你将看到:
    技术分享

  11. 现在终于可以歇一口气,我们有了两个证书:开发证书和发布证书,以及配置文件:Team provision profileXXX Ad Hoc profile(这个是你自己取的名字).接下来我们要开始build app进行发布了!

4.build 下然后bie~一声发布出去

build 有两种模式:DebugRelease。两者不同之处在于:在Release模式下,对于代码的一些优化打开,能够更快更好地执行,而在Debug下则会关闭这种优化。详细在以后我的app中给出。

  1. 连接你的设备到Mac下,打开Xcode,选择你的设备作为调试Device(平常选择模拟器的地方)。

  2. 在Xcode的菜单栏中选择Product->Archive,可能会有如下信息提示codesign wants to sign using key “Your Name” in your keychain.Xcode正在询问你发布证书呢,选择总是即可!不出意外你可以看到如下界面:
    技术分享

  3. 右键Show in the finder,之后右键选中.xcarchive文件,显示包内容。随意看看!

  4. 假如不小心关掉刚才那个界面,别担心,前往Window->Organizer。现在选择右边三个按钮中的Export,然后选择中间选项,为什么?看下解释你会懂的!
    技术分享
    它会询问是哪个团队去使用它,然后寻找Ad Hoc provisioning profile以及为它签名,看到结果是这样:
    技术分享
    选择了Provisioning Profile去Export!假如说没找到,那么可以多试几次 try again!
  5. 现在生成了一个.ipa文件了吧!别忘记我们的provisioning profile文件,没它可不行!
    技术分享
  6. 打包好发给你的测试者吧!切记把测试者的设备添加到你的开发者账号中,有100台限制。

5.测试用户怎么用ipa文件

  1. 打开iTunes,转到应用程序界面。
  2. 将StoreSearch.ipad拖进去!
  3. 将Provision Profile文件拖进去!
  4. 连上你的iPhone iPad
  5. 同步

6.最后

有时间写下应用上传到App Store文章! 最后感谢大家,希望能关注我下,或者留言鼓励下。

???

Q8:在iOS Dev Center进行证书申请以及生成iPa文件给别人玩