Archive九月 2022

Flash开发iOS应用全攻略(三)——如何使用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

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项目了!

下周我会继续给大家介绍【如何为iTunes Connect准备应用】以及【如何上传应用到iTunes Connect

Flash发布iOS应用全攻略(二)——如何成为一个合法的iOS开发者

上一篇文章里,我们介绍了【如何在Flash里发布iOS应用】。但是在发布设置中需要用到几个文件使得发布流程无法继续进行。这篇文章我会具体介绍一下如何成为一个合法的iOS开发者。

iOS开发者的申请流程

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

点击下面链接进入Apple Developer Center

http://developer.apple.com/

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

iOS开发者的申请流程

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

iOS开发者的申请流程

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

iOS开发者的申请流程

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的信中的验证码填入这一页里的输入框后,点击继续。

iOS开发者的申请流程

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

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

点击刚才的注册成功页面下方的一个继续按钮,再在接下来显示的页面右方点击”Join The Developer Programs”,来到下面的这个页面。

http://developer.apple.com/programs/start/standard/

iOS开发者的申请流程

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

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

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

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

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

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

iOS开发者的申请流程
iOS开发者的申请流程

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开发者授权以及如何申请证书

Flash发布iOS应用全攻略(一)——如何在Flash里发布iOS应用

这个系列的文章会给大家介绍一下如何在Flash Professional CS5里发布一个iOS应用,以及如何最终上传到Apple App Store。主要知识点如下:

  • 使用Flash Professional CS5发布iOS应用
  • Apple开发者的申请流程
  • 使用iOS开发者授权以及申请证书
  • 在iTunes Connection中管理你的App
  • 上传你的App到iTunes Connection
使用Flash Professional CS5发布iOS应用

Flash Professional CS5可以将SWF与AIR2.5一起打包成为iOS的原生应用程序IPA,然后在iOS设备如iPhone,iPod,iPad上运行。请到这里下载Flash Professional CS5试用版,并且在这里升级你的Flash到最新以保证可以发布应用到iPad。

注意:Flash Professional CS5.5可以将AIR2.6打包入IPA,而最新的ADT甚至可以使用命令行将AIR2.7打包,使得Flash在iOS上的运行效率大幅度攀升。这里不针对目前尚未发布的版本做过多介绍。

用Flash Professional CS5打开你的项目,确定你的舞台比例适合iPhone或者iPad的屏幕比例(iPhone为2:3, iPad为3:4)。开发完成后打开发布设置: File – Publish Settings,如图,在Player选项中选择iPhone OS:

在Player选项中选择iPhone OS

点击Player选项右边的Settings按钮,打开针对iOS的发布设置面板,如图:

iOS的发布设置面板

这里可以看到该面板有三个标签(General, Deployment, Icons),默认打开的是General标签。

OutputFile 指定最终发布的IPA文件名称,IPA是iOS的原生文件格式。
App Name 指定应用程序的显示名称,如“Angry Pig”。
Version 指定当前发布的IPA版本号,这个值会在应用程序更新中使用。
Aspect Ratio 指定IPA在屏幕中的纵横显示方式,这里有两个值,Portrait是纵向,Landscape是横向。下面还有两个勾选框,Fullscreen指定是否为全屏显示,Auto orientation指定是否随着移动设备的翻转而自动地去在横向和纵向之间切换。
Rendering 指定渲染模式,这里有三个值,Auto, CPU, GPU。 可以定义使用CPU或者GPU来对图形进行渲染,如果选择Auto会自动使用CPU。
Device 指定应用程序运行的设备。这里可以选择iPhone、iPad、或者iPhone and iPad。
Include Files 指定打包进IPA的资源文件,如同发布AIR应用程序,可以将用到的外部资源比如图片、视频、声音,或者Module打包到这里。

接下来打开第三个标签Icons

Icons标签

这里给你的App指定图标文件。如果不指定图标,App在设备上会使用默认的图标,如果要指定则必须注意图片尺寸完全符合要求,并且格式为PNG。除了512大小的图标之外,剩下的几个都是用来显示在设备中,512的图标会显示在iTunes Store的预览中。制作图标的时候可以不用考虑图片的圆角和高光效果,这些在iOS都会被自动处理。图标可以是透明的PNG图片,但在设备中会自动加一个黑色的背景,所以要注意你的图标颜色不要过深。

图标必须存放在与项目同级的一个文件夹内,如果位置不符合要求,Flash会显示一条提示信息并自动创建一个文件夹来安排图标文件。

最后打开第二个标签Deployment

Deployment标签

如果你还不是一个合法的Apple开发者,那么到目前为止你只能做这么多了,这个面板里所需要的文件需要到Apple去申请。我会在下一篇文章【如何成为一个合法的iOS开发者】中继续介绍。

马拉松(目标315)训练日志(2)

第1周(2022.6.13~19)
周一
4×2千米马拉松跑(每次9分15秒,中间休息4分钟,训练距离15千米)
  • 3.01千米慢跑,速5:32,率125/140,频187,幅97
  • 2.07千米快跑,速4:16,率150/156,频186,幅124
  • 4分钟慢跑
  • 2.08千米快跑,速4:10,率152/158,频184,幅129
  • 4分钟慢跑
  • 2.05千米快跑,速4:11,率153/159,频185,幅128
  • 4分钟慢跑
  • 2.10千米快跑,速4:15,率153/157,频185,幅125
  • 3.42千米慢跑,速5:38,率130/147,频187,幅95
周二
70分钟长跑(每千米5分40秒,训练距离12千米)
14.02千米跑,速5:10,率130/144,频184,幅104
周三 45分钟核心训练
周四
8千米轻松跑(每千米4分50秒,训练距离13千米)
  • 3.02千米慢跑,速5:31,率122/135,频182,幅98
  • 8.04千米跑,速4:36,率146/155,频183,幅117
  • 2.02千米慢跑,速5:32,率134/143,频182,幅101
周五 45分钟核心训练
周六
40分钟慢跑(每千米6分钟,训练距离7千米)
8.06千米跑,速5:17,率127/146,频185,幅101
周日
25千米持续跑(每千米5分40秒,训练距离25千米)
25.50千米跑,速5:10,率135/148,频183,幅104
第2周(2022.6.20~26)
周一 45分钟核心训练
周二
4×1千米间隔跑(每次4分10秒,小跑休息400米,训练距离12千米)
  • 3.01千米慢跑,速5:31,率122/136,频184,幅98
  • 1.03千米快跑,速4:04,率150/157,频189,幅127
  • 400米慢跑
  • 1.04千米快跑,速4:04,率155/160,频188,幅129
  • 400米慢跑
  • 1.03千米快跑,速3:57,率156/162,频188,幅133
  • 400米慢跑
  • 1.03千米快跑,速3:57,率155/162,频187,幅132
  • 4.02千米慢跑,速5:31,率136/155,频183,幅99
周三
70分钟长跑(每千米5分40秒,训练距离12千米)
13.49千米跑,速5:11,率133/154,频184,幅104
周四 45分钟核心训练
周五
10千米轻松跑(每千米4分50秒,训练距离15千米)
  • 3.02千米慢跑,速5:33,率120/135,频185,幅96
  • 10.27千米跑,速4:34,率147/156,频186,幅115
  • 2.52千米慢跑,速5:13,率138/148,频184,幅103
周六
50分钟慢跑(每千米6分钟,训练距离8千米)
9.51千米跑,速5:21,率120/133,频185,幅99
周日
27千米持续跑(每千米5分40秒,训练距离27千米)
22.10千米跑,速5:16,率142/158,频182,幅103
第3周(2022.6.27~7.3)
周一 45分钟核心训练
周二
  • 3.02千米慢跑,速5:38,率117/133,频184,幅96
  • 3.07千米快跑,用时13分43秒,速4:28,率141/148,频184,幅116
  • 1.03千米慢跑,速4:57,率135/143,频179,幅107
  • 3.03千米快跑,用时13分32秒,速4:28,率143/147,频181,幅118
  • 1.08千米慢跑,速5:11,率127/140,频181,幅104
  • 3.05千米快跑,用时13分51秒,速4:32,率141/147,频181,幅117
  • 1.01千米慢跑,速5:20,率125/134,频181,幅100
  • 3.04千米快跑,用时13分40秒,速4:30,率142/153,频182,幅120
  • 3.00千米慢跑,速5:28,率127/147,频180,幅100
周三 45分钟核心训练
周四 12.26千米跑,速5:12,率125/141,频185,幅102
周五
  • 3.02千米慢跑,速5:08,率123/135,频186,幅103
  • 11.72千米跑,速4:32,率143/153,频182,幅120
  • 2.08千米慢跑,速5:39,率129/139,频180,幅98
周六 45分钟核心训练
周日 23.01千米跑,速5:19,率142/155,频181,幅103
第4周(2022.7.4~10)
周一 45分钟核心训练
周二 14.32千米跑,速5:14,率135/149,频183,幅102
周三 45分钟核心训练
周四
  • 3.03千米慢跑,速5:33,率115/129,频185,幅93
  • 12.04千米跑,速4:43,率143/153,频184,幅115
  • 2.01千米慢跑,速5:28,率136/146,频180,幅102
周五 12.96千米跑,速5:15,率132/147,频184,幅103
周六 45分钟核心训练
周日 33.61千米跑,速5:21,率129/146,频182,幅103
第5周(2022.7.11~17)
周一 45分钟核心训练
周二
周三 10.02千米跑,速5:22,率136/156(表),频185,幅101
周四 10千米跑,速5:27,率120/145(表),频185,幅99
周五
周六 22.15千米跑,速5:13,率179/201(表),频183,幅105
周日 11.05千米跑,速4:52,率154/181(表),频185,幅111
第6周(2022.7.18~24)
周一 11.18千米跑,速5:17,率148/180(表),频184,幅103
周二
周三 23.17千米跑,速5:22,率170/199(表),频183,幅102
周四
周五 14.10千米跑,速5:09,率132/145,频185,幅105
周六 45分钟核心训练
周日 30.02千米跑,速5:13,率144/173(表),频183,幅105
第7周(2022.7.25~31)
周一 45分钟核心训练
周二 10.18千米跑,速5:17,率144/169(表),频185,幅102
周三 10.26千米跑,速5:08,率171/195(表),频186,幅105
周四 11.40千米跑,速5:16,率123/150(表),频187,幅102
周五
周六 33.02千米跑,速5:11,率180/201(表),频183,幅106
周日
第8周(2022.8.1~7)
周一 12.07千米跑,速4:58,率153/172(表),频187,幅108
周二
周三 11.38千米跑,速5:16,率136/152,频184,幅102
周四 12.46千米跑,速4:41,率146/155,频185,幅115
周五 45分钟核心训练
周六 31.01千米跑,速5:18,率140/161,频181,幅104
周日 45分钟核心训练
第9周(2022.8.8~14)
周一 12.14千米跑,速4:56,率137/151,频185,幅109
周二 45分钟核心训练
周三
  • 3.02千米节奏跑,速5:01,率124/143,频185,幅107
  • 5.11千米竞速跑,速4:02,率154/165,频185,幅132
  • 2.03千米慢跑,速5:06,率130/136,频184,幅105
周四 12.17千米跑,速4:56,率133/150,频186,幅108
周五 45分钟核心训练
周六 31.26千米跑,速5:15,率145/162,频181,幅105,失重63.1-59.8=3.3
周日 45分钟核心训练
第10周(2022.8.15~21)
周一 12.05千米跑,速5:14,率128/142,频184,幅104
周二
  • 3.02千米节奏跑,速4:51,率132/146,频183,幅112
  • 3.03千米竞速跑,速4:03,率153/161,频188,幅131
  • 6.06千米慢跑,速5:01,率133/143,频184,幅108
周三 12.19千米跑,速5:16,率127/141,频183,幅104
周四 45分钟核心训练
周五 11.81千米跑,速5:22,率121/137,频183,幅102
周六 35.06千米跑,速5:08,率137/159,频183,幅107,失重62.4-61.1=1.3
周日 45分钟核心训练
第11周(2022.8.22~28)
周一 13.67千米跑,速5:17,率124/139,频182,幅104
周二
  • 2.05千米节奏跑,速5:18,率120/133,频184,幅103
  • 3.06千米竞速跑,速4:13,率146/155,频186,幅126
  • 休息6分钟
  • 3.03千米竞速跑,速4:03,率150/162,频188,幅130
  • 休息6分钟
  • 3.02千米竞速跑,速4:06,率144/155,频188,幅126
  • 2.52千米慢跑,速5:46,率117/126,频184,幅94
周三 12.34千米跑,速5:11,率123/139,频184,幅105
周四 45分钟核心训练
周五 5.42千米跑,速5:04,率142/157(表),频189,幅104
周六 27.07千米跑,速4:55,率138/151,频186,幅107
周日 45分钟核心训练
第12周(2022.8.29~9.4)
周一 12.46千米跑,速5:11,率124/140,频184,幅104
周二 13.30千米跑,速5:01,率129/142,频186,幅107
周三
  • 2.04千米节奏跑,速5:10,率125/139,频184,幅104
  • 3.11千米竞速跑,速4:01,率150/157,频188,幅131
  • 休息6分钟
  • 8.35千米竞速跑,速5:04,率125/143,频187,幅105
周四 45分钟核心训练
周五 13.44千米跑,速5:05,率128/142,频183,幅107
周六 34.70千米跑,速5:11,率133/154,频183,幅105
周日 45分钟核心训练