iOS开发者账号详细介绍

摘要:
然而,在提交在线应用程序时,您必须拥有Apple开发者帐户。作为一名几乎完全自学的iOS开发者,我对自己的开发者证书感到困惑和困惑。成功创建CSR密钥后,将其上载到开发人员帐户后台,然后生成相关的。认证证书。首先,您需要有一个企业开发人员帐户。

前言:

  做为一个iOS应用的开发者,在编码调试过程中,可以使用模拟器来完成整个过程。但是在最后提交上线App的时候,
就必须要有一个苹果开发者账号。而我作为一个近乎完全自学的iOS开发者,在开发者证书上也是绕了很多圈,迷茫迷惑。
在反复摸索验证的情况下。最后看透了这一切。最初一开始是在淘宝网上购买证书的,后来在公司有了自己的个人开发者
账号,在个人开发者账号上摸索(生成开发证书,真机调试,发布App。。。再后来,公司有了自己的企业级开发者账号,
又在企业级的开发者账号上摸索(企业in-house应用发布)。

开发者账号分为(个人开发者,企业级开发,大学教学账号)
账号间的主要区别:
  1.个人开发者:每年需要支付99$的价格(约合人民币大概600元)。可以发布App到AppStore,可以申请develop证书,
进行真机测试。

  2.企业级开发者:每年需要支付299$的价格(约合人民币大概1800元)。这个账号的优点是可以不通过AppStore应用市
场就可以把应用安装到用户的手机(采用的是in-house证书安装),而且安装量没有上限。不像Ad-hoc证书,安装有上限,
而且还需要注册设备的id号。可以申请证书真机测试。申请这个证书需要有500+人得公司才能申请到。

  3.大学教学账号:为了大学可以更好地教学ios开发。该账号不能发布App到AppStore,唯一的好处,就是可以真机调试。

开始:
  在登录到开发者中心证书生成管理后台的时候,如果是空账号的话,需要先申请一个certificate证书,这个是主证书。
为什么称呼它为主证书。当在多台Mac设备上开发的时候,需要.certificate主证书 和 .mobileprovision证书。
多台Mac设备上的.cer证书都是一样的,区别只是.mobileprovision证书千差万别。你直接安装.cer证书会有
Mac上限限制,所以一般都是由其中安装.cer证书的Mac用户导出p12文件给其他Mac开发者。其实也就是安装.cer证书。

=====================分割线=========================
问题一:什么是.certificate证书?什么又是.mobileprovision证书?
.certificate主证书,申明了属于的develop team,与之有复杂的秘钥相对应。
.cer证书分为两类:develop(开发) production(发布or产品)
真机调试的时候,使用的.certificate的develop证书。
发布App产品的时候,使用的.certificate的distribute证书。

.mobileprovision证书也分为两类:develop(开发) distribute(发布)。
申请.mobileprovision证书的时候,需要选择在什么develop team下的真机调试。
所以导入的是什么.cer证书,影响后面选择什么develop team。
在真机调试的时候,使用的也是.mobileprovision的develop证书。
发布App的时候也是需要.mobileprovision的distribute证书。
======================分割线========================
问题二:如何生成.certificate证书?
进入.certificate证书界面,点击+号,它后台会有教你如何生成.certifacate证书。
首先在本机Mac上面,使用钥匙串工具,导出一个CSR秘钥。CSR秘钥创建时,需要你填写相关的信息。
创建CSR秘钥成功后,将其upload到开发者账号后台,然后就可以生成相关的.certifiacate证书了。
这类.cer的证书创建是有上限的。当你创建到达上限的时候,就不能继续创建.cer证书了。
最多可以创建3个develop的.cer证书,2个distribute的证书。
======================分割线========================
问题三:什么是p12文件?
p12文件解决的是多台Mac设备同时使用一个.cer证书调试应用。
p12的导出就是在使用钥匙串工具,找到你下载导入的.cer证书(distribute),右键点击导出即可,可能要求你输入密码。
这样p12文件其实就是一个.cer的证书,如果有其他的mac需要开发程序真机测试,只需要把p12文件发给其他的Mac,
然后其他Mac点击p12文件,输入密码。就可以把.cer证书安装到其他的Mac上面了。然后其他的Mac进行真机测试开发的话,
只要去后台把测试设备的id输入下,把设备注册到后台,就可以导出.mobileprovision(develop)证书,然后开发程序了。
======================分割线========================
结合上面的三个问题,有几个点需要说明,再此再做赘述。

一、关于App ID的说明
上面其实还漏掉了重要的一个步骤。就是后台你需要注册App ID。
App ID创建主要就是App的bundle id的填写。比如后台填写的bundle id是:com.myapp.music。
这个bundle id对应的是我们的App的bundle id。如果后台填写的bundle id跟我们的App bundle id不匹配,
在导出develop的mobileprovision的时候,选择调试的App的bundle id也就找不到跟我们App bundle id匹配的了。
导出来的mobileprovision也就是因为上面的不匹配,导致无法真机调试。
细说App ID。
App ID是可以使用通配符的。
比如后台申请的App ID的Bundle id是这样的:com.*。
那么它可以通配的Bundle ID可以是这样的:
com.myapp.music
com.myapp.video
com.youapp.game
com.game.jumper
等等...
所以在导出mobile provision的时候,当你选择的是com.*这个的话,你的App的bundle id只要符合这个通配符,就可以真机调试。

二、导出证书、真机调试!
我们的目标是真机调试,所以导出的是develop的证书、导出mobile provision的develop证书的时候,需要注意两个地方。
第一个就是上面说的App ID的bundle id的问题。
第二个就是选择调试的设备。(这个设备你需要首先在devices选项中注册好。)
然后就可以导出了。配合上你正确地.cer主证书,就可以使用你注册的调试设备,调试程序了。

三、导出企业级的in-house的ipa安装包!
其实原理一样。首先你需要有一个企业级的开发者账号。
登陆你的企业账号,进入后台,将.cer或者其他Mac上导给你的p12文件下载安装好。
然后你还需要一个in-house的导出证书。。
in-house证书有一个坑爹的地方。就是需要bundle id必须是三段式。否则不给过。
所以你创建App的时候,最好Bundle Id也使用标准的三段式。
像这样:
com.corpname.appname

四、发布应用到App Store!
1.首先是要在App的Itunes后台添加应用,注意bundle id的填写要与要发布的App的Bundle id相同。
后台按照要求填写好App应用相关信息。
2.申请发布证书provision文件。
基本流程一致,需要注意的地方就是App ID的bundle id的选择。
安装好发布证书后,需要在project->general->code signing的地方选择好相关的证书,也可以使用auto。
有时也可以不用指定code signing的。但是为了确保准确,我还是建议选择一下。

3.打包ipa:
1.选择应用的edit scheme,选择release模式。设置好应用的版本名称(1.4.32)和迭代的版本号(version code)
2.菜单栏选择product->archive(如果发现archive是灰色状态,将项目的调试目标改为ios device即可)
3.安静等待xcode对代码的编译,连接,生成。。
4.生成成功后,会弹出orgnizer视图。然后选择刚刚生成的项目,选择submit to App store。
如果你上面的证书都是正确的。按照提示步骤,就可以将应用上传到app store了。
苹果后台上传ipa有时候很慢。需要耐心地等待。有时候也会time out。所以。。你需要多尝试提交几次如果失败的情况下。
xcode上传app成功后,就可以在iTunes后台能看到应用了。
然后就可以添加你的应用,保存,提交待审核。一般最多2个星期就可以从Apple审核那边获取到结果了,最快一个星期。

尾声、
强烈建议及时的登录到xcode->preference->account中,添加你的个人开发者账号,那里可以很方便的管理自己的证书。
基本描述清楚了证书之间的关系,它们的创建等。多是自己的摸索。如有误,请指正。

免责声明:文章转载自《iOS开发者账号详细介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇飞利浦医学成像系统披露多个安全漏洞,黑客可远程控制!tensorflow 保存训练模型ckpt 查看ckpt文件中的变量名和对应值下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何使用PLX提供的官方驱动和SDK发布自己的产品?

在我的第一篇博文Plx9030通讯卡驱动开发提到,PLX官网提供了丰富的9000系列(9030,9052,9054)芯片的驱动文件(sys)和SDK开发包。我们在发布自己的产品时,简单的话,可以直接用官方sys文件,用SDK做二次接口封装。然而,在利用官方sys文件时,需要注意几个事情,这是PLX公司建议的。 设置硬件ID 为了避免设备冲突,发布自己产品建...

webpack踩坑之路 (2)——图片的路径与打包

刚开始用webpack的同学很容易掉进图片打包这个坑里,比如打包出来的图片地址不对或者有的图片并不能打包进我们的目标文件夹里(bundle)。下面我们就来分析下在webpack项目中图片的应用场景。 在实际生产中有以下几种图片的引用方式: 1. HTML文件中img标签的src属性引用或者内嵌样式引用 <img src="photo.jpg" /&g...

GDB高级使用方法

1、设置环境变量   用户可以在GDB的调试环境中定义自己需要的变量,用来保存一些调试程序中的运行数据。要定义一个GDB的变量很简单,只需使用GDB的set命令。   GDB的环境变量和Linux一样,也是以$起头。如:   (gdb)set $foo=xxx   使用环境变量时,GDB会在第一次使用时创建这个变量,而在以后的使用中,则直接对其赋值。...

相比同为开源框架的uniapp和flutter未来生态前景大对比

相比同为开源框架的uniapp和flutter未来生态前景谁更好? 目前来说uniapp和flutter算是非常强大和平衡的两款混合开发APP框架 首先表明一下观念,更加看好dcloud的uniapp!我知道接下来会有人开始喷了,我们来慢慢细说一下,首先flutter的确是谷歌的亲生儿子,   flutter的未来 优势: 1,高性能 最贴近原生APP的就...

制作CentOS7.6 自动安装ISO镜像光盘

制作CentOS7.6 自动安装ISO镜像光盘1. 系统安装包说明目录树结构|-- .discinfo|-- .treeinfo|-- Packages|-- base|-- images|-- isolinux|-- ks.cfg|-- repodata.discinfo 文件是安装价质的识别信息.treeinfo 文件是系统版本,创建时间及文件目录树结...

Android典型界面设计(6)——ActionBar Tab+ViewPager+Fagment实现滑动导航

一、问题描述   在Android典型界面设计一文中,实现典型滑动导航界面,其实使用ActionBar 也可以轻松实现这一效果,甚至也可实现类似Android典型界面设计(3)的双导航效果。可见ActionBar还是比较强大的,关键要深入进去、灵活的运用,下面我们就使用ActionBar实现如图所示的效果: 二、本例特点 1、  兼容低版本 2、 使用...