iOS开发者帐号申请指南(转)

简介: iOS开发者帐号申请指南(转)

iOS开发者的申请流程

如果你是一个开发团队,在你打算掏腰包购买iOS开发者授权之前,最好先问一下你的同事,是否已经有人获得了开发许可,因为一个开发许可一年内最多可以授权给111个设备来开发测试。如果你没有授权许可可以借用,或者你打算最终在iTunes Store中以自己的名义发布你的应用,那么就准备一张国际信用卡,准备支付99美元来申请一个iOS开发者授权。

点击下面链接进入Apple Developer Centerhttps://developer.apple.com/

点击页面左边中部的iOS Dev Center进入iOS开发中心

点击页面顶部右侧的Register按钮,

然后点击Get Started按钮进入申请流程

Apple ID

在申请流程的第一步是选择Apple ID,如果你已经有一个Apple ID,曾经在Apple的应用商店中购买过应用,那么这里可以选择”Use an existing Apple ID”,否则需要点击”Create an Apple ID”来创建一个帐号。最后点击继续按钮。

Personal Profile

这里是一张表单,分为三个部分,创建Apple ID(如果之前选择的是创建),安全信息(Security Information),个人资料(Personal Information),注意所有的选项都需要填写!,填写完毕之后继续到下一个页面。

Professional Profile

这一页是开发者的一些职业信息。注意在第一项中选择iOS,如果你是学生,请在第二个问题后勾选Check this box if you are currently enrolled in a college or university. 全部选择完毕后继续。

Legal Agreement

这页是一份协议,仔细阅读后勾选下面的框框然后继续。

Email Verification

到刚才注册的邮箱里等着收邮件,将一封来自Apple Developer Support的信中的验证码填入这一页里的输入框后,点击继续。

看到这个页面,你就完成了开发者的注册流程,并且会收到一封确认邮件。

可以开发并测试你的应用程序了么? 不行,因为你只是登了记,想要在你的设备上测试开发,现在还不具备这个资格。

点击刚才的注册成功页面下方的一个继续按钮,再在接下来显示的页面右方点击”Join The Developer Programs”,来到下面的这个页面。https://developer.apple.com/programs/start/standard/

从流程图上来看,我们至少还需要三步才能申请。准备好了么?点击继续。

Apple ID

再次确认你的Apple ID,因为我们刚才已经登记成功,所以这里只看右面的Existing Apple Developer部分。这里有三个选项,如果你是第一次申请而且不是学生,选择第一项;如果你是第一次申请但你是学生,选择第二项;如果你已经申请过这个授权但是想为你的授权帐号添加一些附属的功能,选第三项。选好之后继续。

发现流程有所变化,进入了申请付费的流程Enter Account Info

首先需要选择你的身份是个人还是公司,如果是公司申请需要提供公司合法名称,法人名称,以及一些business document。这里只对个人申请作介绍。

点击Individual后,需要用刚注册的帐号登陆一次,进入填写银行帐号的阶段。

请注意这里的两个IMPORTANT和两个EXACTLY帐号的姓名必须与信用卡上的一模一样,账单邮寄地址也必须与你接下来要在Apple Online Store付费时使用的邮寄地址一模一样。

Select Program

接下来一页是选择申请的平台,iOS和Mac都是99美元一年,Safari的插件开发是免费的。我们选择iOS,然后继续。

Review & submit.

在这一页检查你的填写信息是否正确,如果正确无误,点击继续。

Agree to License

仔细阅读开发者授权协议后,点击下面的选框然后继续。

Purchase Program

如果你在之前填表的时候选择的是China,那么这个时候你会看到一个大大的黄色惊叹号,并且告诉我们Apple Online Store在咱们国家是不好用的。

没有关系,Apple也提供了另一条付费的途径,在页面左边的中部可以下载一个PDF,将你的信用卡信息填进去,然后传真到页面指定的那个电话号码之后,你就可以等着收邮件了。

Apple网站上说是需要3-5个工作日,我等了差不多两个星期吧,先是信用卡被划走了99美元,然后收到了一封收据邮件,再后来收到了一个激活帐号的确认邮件,才最终完成了开发者授权的申请,成为一个合法的iOS开发者。

上一篇我介绍了如何申请成为合法的iOS开发者,这篇文章会详细介绍如何使用授权文件(.mobileprovision)和签名证书文件(.cer)

在缴费成功后会收到一份来自Apple Developer Suport的确认邮件,如下图.

在邮件里有一个Login按钮,点击后可以进入Apple Developer会员中心。点击图中的iOS Provisioning Portal,进入开发者授权设置系统。

在设置界面中,可以选择点击页面下方的助手来运行向导。

或者直接从左边的导航来设置,我在这篇文章会主要介绍如何通过导航设置开发者授权以及证书。不过在此之前,我要先简单介绍一下Apple开发者授权的一些基本知识。

Apple对其设备有严格的使用限制,任何应用程序都必须经过iTunes Store下载安装,要么直接从设备里下载,要么从电脑中通过iTunes下载后同步到设备中。所以没有经过破解的设备是没有办法直接安装IPA文件的。但是Apple也提供了一套面向开发者的机制,让他们可以在指定的设备上安装IPA文件来测试和开发,这个机制的核心就是开发者授权。我前面介绍的申请流程就是申请获得一个可以在设备中安装运行IPA文件的开发者授权。

使用开发者授权是一套完整而且相对合理的流程,它可以分为下面几个阶段:

  1. 授权设备,将开发者授权与指定的设备绑定在一起,使得这些设备可以自由安装开发者发布的IPA。
  2. 生成授权文件.mobileprovision,这个文件会被打包进入IPA,实现设备与授权开发帐号的绑定。
  3. 生成证书文件.p12,这个文件也会被打包进入IPA,实现应用发行商的签名以及身份验证。

除此之外,开发者授权系统还提供了开发(Development)和发布(Distribution)两个不同的渠道。开发测试的时候需要设备的绑定而实现在设备上单独安装IPA,发布的时候则不需要绑定设备。所以开发与发布需要使用不同的.mobileprovision与.cer文件。

下面回到刚才的开发者授权系统,我先来介绍一下如何在开发阶段使用授权与证书。

               授权设备  

点击左侧导航的Device,进入授权设备的页面,点击右上方的Add Device按钮可以添加一个设备。

添加设备的时候可以指定设备的名字(随便写),以及设备的UID(Unique Identifier)。每一个Apple的设备都有一个唯一的识别码,获得这个识别码的方法很简单,将你的设备连接到电脑,然后在iTunes里找到你的设备信息(如下图),点击图中红色方框的位置,设备UID就会显示出来。可以直接通过Ctrl + C (苹果是Command + C)可以把UID拷贝到剪切板。

               添加App ID  

点击左侧导航的App IDs按钮可以进入应用程序ID的配置页面,可以点击页面右方的New App ID按钮添加一个新的应用。这个ID对应的是即将开发和测试的应用程序。如下图,在description里添加一个单一应用的名称(不支持特殊字符),然后在最下面的Bundle Seed ID里面填入一个含有domain格式的字符串(如com.jamesli.appname)。Bundle Seed ID是一个集合了开发商与应用程序的信息,格式为(com.[开发商].[应用]),这里可以指定为单一应用,也可以指定为全部应用。如果是单一应用,建议刚才填写的description与Bundle Seed ID的最后一项相同(如angrypigs和com.jamesli.angrypigs),如果是全部应用,可以使用这样的Bundle Seed ID: com.jamesli.

申请开发者证书  

申请证书的流程在MAC和WIN上是不同的。我分别介绍:


MAC

在Applications->Utilities里手动打开Keychain Access。从顶部菜单栏里Keychain Access -> Certificate Assistant -> Request a Certificate from Certificate Authority. 在新弹出的窗口中填写你的信息后选择Save to disk,就会在桌面保存一个CertificateSigningRequest文件。(如下图)

WINDOWS

在Windows下申请Apple证书是一件非常痛苦的事情,下面我就详细介绍以下:

  1. 首先需要在下面的链接下载OpenSSL。https://www.slproweb.com/products/win32openssl.html
    如下图,你需要下载Visual C++ 2008 Redistributables 和 Win32 OpenSSL v1.0.0d Light
  2. 下载安装后,在C盘下就有一个OpenSSL-Win32的安装目录。
  3. 以管理员身份打开命令行进入OpenSSL-Win32/bin文件夹,如果你不是管理员,需要先在命令行中键入下面的命令

set RANDFILE=.rnd

键入下面的命令,生成一个private key:

openssl genrsa -out mykey.key 2048

然后键入下面的命令,申请一个CertSigningRequest文件,注意emailAddress后面是你的邮箱,CN后面是你的名字,C后面是国家

openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest  -subj "/emailAddress=yourAddress@example.com, CN=Common Name, C=CN"

这样在OpenSSL-Win32/bin下面就生成了一个CertificateSigningRequest.certSigningRequest文件,注意任何错误提示都不要忽略,否则即使生成了文件也可能无法使用。

这个过程请不要使用Chrome浏览器

返回开发者授权系统的Certificate页面里,点击页面右方的Request Certificate申请一个证书,然后点击页面下方的按钮上传生成的certSigningRequest文件,这样就完成了证书的申请流程。申请成功后,Certificate页面里就有了一条证书,刷新几次页面后证书的状态就变成Issued,点击download按钮可以下载一个cer文件。

接下来是通过cer文件生成p12文件的过程。因为Flash发布iOS应用需要的证书文件格式是p12。这个流程在MAC和Windows上也是有区别的。


MAC

点击下载的.cer文件,文件会自动在Keychain Access里打开,可以右键点击key导出一个p12文件,如下图:

WINDOWS

Windows下生成p12仍然比较麻烦。首先使用管理员身份打开命令行进入OpenSSL-Win32/bin文件夹,如果不是管理员身份则同样需要先运行下面的命令:

set RANDFILE=.rnd

为了操作方便,将下载的cer文件拷贝到bin文件夹下,然后运行下面的命令行生成一个pem文件

openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM

然后运行下面的命令生成一个p12文件:

openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12

在输入了两次密码之后,便会在bin文件夹下有一个iphone_dev.p12的文件。

               使用开发者授权  

正如上面我们提到的,如果要发布一个可以在指定的设备上单独安装的IPA,则必须使用开发者授权文件.mobileprovision。这个文件可以从开发者授权系统中申请获得。

点击左侧导航的Provisioning进入授权页面,如图点击右侧的New Profile按钮创建一个新的授权文件。

在创建页面中填入名称,选择创建好的证书,以及指定设备(可以多选),提交后就可以生成一个授权帐号。并且可以下载一个mobileprovision文件到本地。

到现在,我们就具备了Flash发布iOS应用的两个重要文件,.mobileprovision和.p12,返回Flash,在发布设置的Deployment选项卡中填入这两个文件(如下图)。这样就可以在指定的设备中开发iOS项目了!

相关文章
|
1月前
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
58 3
|
1月前
|
IDE Android开发 iOS开发
探索安卓与iOS系统的技术差异:开发者的视角
本文深入分析了安卓(Android)与苹果iOS两大移动操作系统在技术架构、开发环境、用户体验和市场策略方面的主要差异。通过对比这两种系统的不同特点,旨在为移动应用开发者提供有价值的见解,帮助他们在不同平台上做出更明智的开发决策。
|
2月前
|
IDE Java Android开发
安卓与iOS开发环境的差异及其对开发者的影响
在数字时代的浪潮中,移动应用成为人们生活的延伸。两大操作系统——安卓与iOS,如同两座技术高峰,各自占据着半壁江山。本文将探索这两个平台的开发环境差异,并讨论这些差异如何塑造开发者的编程习惯与职业选择。我们将从工具和语言、用户界面设计、系统架构、市场定位以及开发社区和资源五个方面进行比较,旨在为开发者提供一份实用的指南,帮助他们在不断变化的技术世界中,找到适合自己的发展路径。
52 3
|
2月前
|
移动开发 开发工具 Android开发
安卓与iOS开发:平台差异及其对开发者的影响
在移动开发的大潮中,安卓和iOS两大阵营各领风骚。本文将探讨这两个平台的关键差异,包括开发环境、编程语言、用户界面设计、应用分发以及商业模式等方面。通过比较分析,我们旨在为开发者提供一个清晰的指导,帮助他们根据项目需求和个人偏好做出明智的平台选择。同时,文章也将分享一些跨平台开发工具的使用经验,以期最大化开发效率和市场覆盖。
62 1
|
3月前
|
开发工具 Android开发 iOS开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第22天】在移动开发的广阔舞台上,安卓与iOS两大操作系统各自占据着半壁江山。它们不仅是用户手中的智能设备,更是开发者展示创意和技术的战场。本文将深入探讨这两个平台的开发环境差异,以及这些差异如何塑造开发者的技术路线和职业生涯。从编程语言到开发工具,从市场定位到用户需求,我们将一探究竟,这两种不同的生态系统是如何影响开发者的决策和成长的。
|
3月前
|
Java 开发工具 Android开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第21天】在移动应用开发的广阔天地中,安卓和iOS两大平台各据一方,它们不仅在用户体验上有所区别,更在开发环境上展现出独特的风貌。本文将深入探讨这两大平台的开发环境差异,以及这些差异如何塑造开发者的技术路径和职业生涯。从工具和语言的选择到市场份额的争夺,我们将一一剖析,以期为即将踏入这一领域的新手开发者提供一盏明灯。
|
3月前
|
API 开发工具 Android开发
探索Android与iOS开发环境的差异及对开发者的影响
【8月更文挑战第10天】在移动应用开发的广阔天地中,Android和iOS作为两大主要平台,各自拥有独特的开发环境和生态系统。本文将深入探讨这两个平台的开发环境差异,以及这些差异如何影响开发者的工作效率、应用性能和最终用户体验。通过比较两者的开发工具、编程语言和API等方面,我们将揭示平台选择对项目成功的重要性,并为开发者提供在选择平台时的参考依据。
|
3月前
|
iOS开发 Android开发 MacOS
从零到全能开发者:解锁Uno Platform,一键跨越多平台应用开发的神奇之旅,让你的代码飞遍Windows、iOS、Android、macOS及Web,技术小白也能秒变跨平台大神!
【8月更文挑战第31天】从零开始,踏上使用Uno Platform开发跨平台应用的旅程。只需编写一次代码,即可轻松部署到Windows、iOS、macOS、Android及Web(通过WASM)等多个平台。Uno Platform为.NET生态带来前所未有的灵活性和效率,简化跨平台开发。首先确保安装了Visual Studio或VS Code及.NET SDK,然后选择合适的项目模板创建新项目。项目结构类似传统.NET MAUI或WPF项目,包含核心NuGet包。通过简单的按钮示例,你可以快速上手并构建应用。Uno Platform让你的技术探索之旅充满无限可能。
66 0
|
3月前
|
开发框架 Java Android开发
安卓与iOS开发环境的差异及其对开发者的影响
在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据半壁江山。它们不仅在用户界面、操作系统架构上有所区别,更在开发环境和工具上展现出独特的差异。本文将从开发语言、工具和库、以及跨平台开发框架三个方面深入探讨这些差异如何塑造开发者的技术选择和职业路径,进而影响移动应用的生态发展。
29 2
|
3月前
|
移动开发 安全 Android开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第23天】移动应用开发领域,安卓和iOS两大平台各占半壁江山。它们在开发环境上的差异不仅影响了开发流程,还深刻地塑造了开发者的工作方式。本文将探讨这些差异,并分析它们如何影响开发者的决策和产品的质量。