iOS开发者帐号申请指南

2023-11-07

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

点击下面链接进入Apple Developer Center
http://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”,来到下面的这个页面。
http://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。

    http://www.slproweb.com/products/win32openssl.html
    如下图,你需要下载Visual C++ 2008 Redistributables 和 Win32 OpenSSL v1.0.0d Light

  1. 下载安装后,在C盘下就有一个OpenSSL-Win32的安装目录。

  1. 以管理员身份打开命令行进入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项目了!

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS开发者帐号申请指南 的相关文章

  • 使用未声明的标识符“gl_InstanceID”

    大家好 我一直在IOS平台上尝试在OpenGLES2 0中进行实例化绘制 我的渲染代码 glEnableVertexAttribArray glVertexAttribPointer glDrawElementsInstancedEXT G
  • UICollectionView 垂直居中

    我有一个UICollectionView大小的对象 320 500 我需要一个来创建UICollectionView以这样的方式 内容垂直居中 意味着如果内容的总大小为 100 100 则单元格应在矩形 0 200 320 300 中绘制自
  • 如何与开发团队成员一起在我的设备上测试 iPhone 应用程序?

    我是一名 iOS 初学者 我收到团队成员的邀请 所以我接受了邀请 现在我正在尝试在我的设备上测试 iPhone 应用程序 但我在 Xcode 帐户中看不到团队帐户 只有我的免费开发者帐户 个人团队 如果我与团队帐户成员一起测试该怎么办 No
  • 为什么我无法将子窗格 plist 文件添加到项目的 Settings.bundle 中?

    我正在运行 Xcode 4 1 并且一直在关注有关应用程序设置的教程 一切都进展顺利 直到我准备好为我想要添加的子窗格添加 plist 我正在观看的视频教程 也使用 Xcode 4 1 显示该人右键单击 settings bundle 并选
  • 重新创建 Siri 按钮发光动画

    有没有办法复制 Siri 按钮发光动画 它看起来绝对华丽 但我现在不知道如何开始 是否有在线预格式化的旋转PNG 或者是用CoreAnimation完成的 我相信 Siri 动画是用 CAEmitterLayer 和 CAEmitterCe
  • 计算MKPolyline路径的距离?

    我想获取 MKPolyline 路径的米数 以便我可以告诉用户完成路径还剩多少米 我一直在寻找一些东西来做这件事 但我什么也没得到 Thanks 尽管听起来很乏味 但除非您想自己进行数学计算 否则您可能必须迭代该行的思想points 将每个
  • Xcode 10 beta2:无法调用不带参数的“UIView”类型的初始值设定项

    我已经下载了 Xcode 10 beta2 并重建了我的项目 代码例如 let someView UIView 出现以下错误 Cannot invoke initializer for type UIView with no argumen
  • iOS 中的自动旋转崩溃

    当我更改设备方向时 我正在使用的应用程序出现异常终止 崩溃 我无法经常重现它 当我旋转时 它并不总是发生 假设机会约为 0 01 但这是一个严重的问题 我附上崩溃报告的重要部分 Exception Type EXC BAD ACCESS S
  • UIWebView 中横向模式的 Youtube 视频

    我的申请不是为了风景而做的 但是当我打开我的 YouTube 频道时UIWeb视图和一个用户发布视频 它出现在肖像中 我想让它在用户旋转 iPhone 时以横向模式显示 How to 启用横向模式如本例所示 我知道有一些 肮脏的黑客 可以做
  • 更改 NSManagedObject 属性而不触发委托方法?

    有什么方法 或技巧 可以修改NSManagedObject目前由一名代表持有NSFetchedResultsController不触发didChangeObject and controllerWillChangeContent 委托方法
  • 如何使用自定义转换在当前上下文上呈现视图控制器?

    我遇到了视图控制器包含问题 并希望通过自定义演示 动画 在当前上下文上 呈现视图控制器 我有一个根视图控制器 它有两个子视图控制器 可以作为根的子视图添加和删除 当这些子视图控制器呈现视图控制器时 我希望呈现在当前上下文之上 以便当呈现的子
  • Xcode:PDF 中的矢量图像质量较差

    对于我的 iOS Swift 项目 我使用矢量化 pdf 文件 Xcode 从中渲染 1x 2x 3x 图像 当我将 PDF 生成的图像的质量与相同大小的普通 PNG 图像进行比较时 我发现它们之间的质量存在很大差异 理论上 下图中第一行和
  • 在我的应用程序中使用“打开方式”从 Safari 打开文件

    我需要能够通过 打开方式 功能在我的应用程序中打开 Safari 中的任何文件 当我尝试在邮件应用程序或其他自定义应用程序中打开任何文件时 我的应用程序将出现在 打开方式 列表中 但我的应用程序不会出现在 Safari 中 为什么 我做了什
  • 如何在 AOT 平台上运行时生成任何泛型类型?

    我需要在 AOT 平台上运行时生成泛型类型 我知道一种 解决方法 它提示编译器通过在代码中创建虚拟方法来生成特定的泛型类 public void DoDummy var a1 new MyClass
  • UIButton titleEdgeInsets [重复]

    这个问题在这里已经有答案了 titleEdgeInsets 用于对齐按钮上的标题和图片 我在左侧做了图像 在右侧做了标题 但是当我单击按钮时 标题会向左移动 谢谢 UIImage image UIImage imageNamed image
  • 如何将 React Native 按钮放置在屏幕底部以在多个 ios 设备上工作

    我还年轻 在网上搜索可以帮助我解决这个问题的教程 但没有找到任何东西 我知道如何将屏幕上的按钮从 A 点移动到 B 点 问题是我似乎无法将其固定在底部以在我的 ios 模拟器的不同外形尺寸上工作 到目前为止 我已经尝试过 marginTop
  • 如何在ios中重置触摸、触摸移动的NSTimer

    我正在开发一个应用程序 其中我必须在 3 秒后隐藏控制按钮 所以我使用 NSTimer 编写代码 然后开始触摸 它可以工作 但问题是 当我再次触摸任何其他按钮时 我的计时器不会重置 即使我像拖动一样移动我的触摸示例 如果我拖动或移动触摸 它
  • 如何在 iPhone 上实现炫酷的警报/信息叠加?

    我了解如何在我的 iPhone 应用程序中包含标准警报 并且可以使用 确定 或 关闭 按钮将其关闭 请参阅图中的示例 如何制作一个很酷的警报 通知覆盖层 就像 foursquare 应用程序中看到的那样 请参阅图片中的 foursquare
  • 使用“对多”关系从 NSFetchedResultsController 派生 UITableView 部分

    我的核心数据模型如下所示 article lt gt gt category 是否可以远程使用NSFetchedResultsController生成一个看起来像这样的 UITableView Category 1 Article A Ar
  • 无法实例化名为 GLKView 的类

    我得到了这个异常 2014 02 19 19 08 34 590 MyApp 42353 70b Terminating app due to uncaught exception NSInvalidUnarchiveOperationEx

随机推荐

  • jsp+ssm计算机毕业设计网络身份认证技术及方法【附源码】

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 JSP SSM mybati
  • python生成词云图

    python生成词云图 前言 python版本号 3 6 3 在网上看到词云图 一直觉得很有意思 最近没工作很空闲 就想着自己做一做 先放个效果图 这是用杰伦的三首歌 七里香 搁浅 借口 歌词文本做成的词云图 python modules
  • C#写14443读卡器上位机

    1 DLL打包进EXE C 之DLL封装进EXEhttps www likecs com show 204353411 html 需要的软件ILMerge 链接 百度网盘 请输入提取码 密码 szk6 安装的时候有一个地方选的时候需要注意
  • Java RandomAccessFile用法

    原文 http blog csdn net akon vm article details 7429245 RandomAccessFile RandomAccessFile是用来访问那些保存数据记录的文件的 你就可以用seek 方法来访问
  • 三星手机忘记密码如何恢复出厂设置

    手机型号 Galaxy S21 Ultra 5G 操作步骤 同时按住 关机键 音量下键 长按7秒后重启 屏幕熄灭后同时按住 关机键 音量上键 进入恢复模式界面后 同时松开按键 进入 wipe data factory reset 模式 使用
  • RTKLIB软件源码学习(Kalman滤波&最小二乘)

    由于RTKLIB源码的最小二乘和kalman滤波函数邻近 这里直接一起解读 函数部分整体并不难 在了解初级矩阵函数的使用后就可以知道每一步代表的意思 首先是kalman的核心公式 这里仅基于公式进行代码解读 预测 A是状态矩阵 B是控制矩阵
  • Android 控制LED 屏

    翻电脑 发现2013年做的安卓控制LED屏软件 那个时候物联网还没这么火热 APP控制设备也没怎么普遍 刚刚到公司自己给公司做的第一项目就是这个APP 没有美工 界面什么哒都是自己瞎弄的 纪念一下
  • 如何禁止一个软件烦人的更新提示?

    从方法上分析有如下方案 1 打开本软件 首选项 设置不检查更新 2 逆向修改 exe 文件跳过 检查更新 的那个函数 3 操作系统 防火墙 设置禁止这个 程序连接外网 4 修改 hosts文件 把 更新server的 IP 解析为 0 0
  • linux查看文件夹大小命令

    这本阿里P8撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode刷题手册 开放下载了 当磁盘大小超过标准时会有报警提示 这时如果掌握df和du命令是非常明智的选择 d
  • SSM项目的启动流程深入解析

    1 环境说明 本文的内容基于Tomcat9 0 10 Spring 4 3 2 Tomcat加载应用的顺序 在我们正式介绍SSM项目是怎么启动之前 我们要先来简单介绍一下Tomcat 很多人在介绍Tomcat的时候 都把Tomcat叫做Se
  • 字节跳动的产品经理是怎么工作的?

    01 前言 前一篇复盘文章 字节跳动 飞书团队工作1年收获 累计获得了7万 的阅读 明显感觉到大家对字节的一些产品设计和需求管理方法很感兴趣 留言中不少朋友希望了解字节产品需求生命周期全流程相关细节 包括这个过程中PM具体是如何工作的 本文
  • TransUNet论文笔记

    TransUNet论文笔记 TransUNet Transformers Make Strong Encoders for Medical Image Segmentation Abstract 医学图像分割是开发医疗保健系统 尤其是疾病诊
  • element的table大量数据渲染卡顿解决

    B S架构遇到很多的问题应该就是大数据渲染了 毕竟javascript单线程 在使用table的时候 用户想操作大量表格数据 别跟客户说改需求了 不行的 使用vxe table就能解决我们的好多问题 不得不说 这是我遇到过最好的table了
  • for循环练习题-使用嵌套循环,按下面的格式打印字母。

    使用嵌套循环 按下面的格式打印字母 F FE FED FEDC FEDCB FEDCBA include
  • 机器人学习书籍

    1 概率机器人 2 机器人学的几何基础 3 Eigen学习 https blog csdn net u012936940 article details 79691911 eigen 使用手册 平时使用参考 4 opencv opencv
  • element-plus 一个vue3.xUI框架 (element-ui的3.x 版初体验)

    官方文档已更新 点击跳转 突然发现已经半年没更新的element ui更新了 更新了什么还不清楚 但是告知了基于vue3 x版本的 element plus 已经出来了 先来上手体验一下 首先安装一个最新的 vue cli 搭建一个vue3
  • 群晖 使用SMB3进行局域网传输双倍叠加网速下踩的一些坑

    我用的是黑群晖 版本DSM6 2 3 展示成功叠加 原本速度在110左右 网上已经有很多群晖如何双倍叠加的类似的教程 我在这里就不详解了 参考前人写的教程即可 群晖 群晖开启 SMB3 windows下多通道叠加网卡速度 Vedio Tal
  • 某高校毕业设计-数据分析课题技术实现篇

    文章目录 某高校毕业设计 数据分析课题技术实现篇 1 确定分析目标 2 初步判断数据研判数据 2 1能不能找到数据 gt 可以找到 2 2分析指标 2 2 1 指标1 各个老师的毕设通过率 2 2 2 指标2 每年的毕设重修人数 2 2 3
  • java8新特性Stream流中anyMatch和allMatch和noneMatch的使用!!!

    1 anyMatch 判断数据列表中是否存在任意一个元素符合设置的predicate条件 如果是就返回true 否则返回false 接口定义 boolean anyMatch Predicate
  • iOS开发者帐号申请指南

    iOS开发者的申请流程 如果你是一个开发团队 在你打算掏腰包购买iOS开发者授权之前 最好先问一下你的同事 是否已经有人获得了开发许可 因为一个开发许可一年内最多可以授权给111个设备来开发测试 如果你没有授权许可可以借用 或者你打算最终在