原文http://my.oschina.net/plumsoft/blog/77514
如果想要将做的iOS应用程序装到自己的iOS设备上测试、或者装在别人的iOS设备上,或者想发布到App Store里,先要给应用签名。签名就要有证书,这就需要申请证书的过程了。
把自己的应用程序装到设备中,主要有以下几种方式:
① 把iOS设备与电脑连起来,这样在Xcode的左上角就可以选择这个设备,之后直接点击Run,程序就被装在这个iOS设备了。这个主要用于在真机上测试程序。前提是Xcode中添加了包含这个设备信息的Profile。
② 使用Xcode将应用程序以Ad Hoc方式打包,导出ipa文件,然后用iTunes等工具将应用安装到iOS设备中。这种方式所用的Profile文件要是Ad Hoc类型,并且包含指定设备的信息。导出的ipa文件也只能安装到指定的设备中。
③ 将应用程序发布到App Store上,待苹果审核通过后,其他人就可以下载安装了。
这篇博客主要讲第二种方法。PS:本人使用的是Xcode 4.4.1,测试时间是2012年9月上旬。Xcode版本不同可能操作也会不同。另外,苹果开发者网站也可能以后改版,操作流程也可能会变。
1、先要注册一个iOS开发者账号,不再详述。
2、运行浏览器,登录https://developer.apple.com/,并进入iOS Dev Center:
进入后,单击右上角的Log in,输入开发者账号和密码。
3、验证成功后,在页面的右边会出现如下选项:
单击最上面的iOS Provisioning Portal,我们申请证书、管理证书、管理设备等操作就是在这个页面中进行的。如下图:
4、运行电脑中的“钥匙串访问”应用程序(英文名:Keychain Access),它一般在“实用工具”目录下。这个程序在证书申请、给应用签名的过程中起着很大的作用。签名时的很多问题都出在这个应用中,比较典型的是
CodeSign error: Certificate identity XXX appears more than once in the keychain. The codesign tool requires there only be one.
后面会给出一般的解决办法。
5、在菜单中依次选择 证书助理——从证书颁发机构请求证书…:
在打开的窗口输入电子邮件和常用名称,并选择存储到磁盘以及让我指定密钥对信息:
单击继续,在打开的窗口设定文件名称和位置,点击继续,密钥大小选择2048位,算法选择RSA:
点击继续,则在之前设定的位置生成了.CSR的签名文件。默认名称是CertificateSigningRequest.certSigningRequest。
6、回到浏览器,在页面中依次选择Certificates——Distribution——Request Certificate:
在打开的页面选择要上传的CSR文件,提交。
7、此时正在审核刚才上传的文件,你可以单击click here to download now下载WWD intermediate certificate。
8、刷新页面,下载证书并安装,此时会自动加到钥匙串访问程序。
9、创建App ID。在浏览器的页面左边选择App ID:
然后在右边选择New App ID,如下图:
在Description输入你的应用的描述,Bundle Identifier是应用的代码标识,例如可以输入com.company.demoapp。如果你有Team ID,那么这个ID会自动加在Identifier前边。注意:
① 由于现在苹果还没提供App ID删除功能,所以Description最好也是唯一的,否则后边用到的时候会很麻烦。
② 在Xcode 4.4.1中,如果查看工程的Bundle Identifier,会发现对应于前边的demoapp部分是不可改的,所以在输入Bundle Identifier时可以就用Xcode中给定的,这样可以省去很多不知道的麻烦。
③ 建议申请一个最后字段为“ *”的ID,这样可以用同样的ID,提交一套应用程序,而无需为每个应用都申请单独的ID。
10、添加设备。如果你希望导出的ipa只能安装在指定的设备,则要将这些设备添加到上图中左侧的Devices中。先要获取iOS设备的标识符(不是序列号),可以将设备与iTunes相连,选择这个设备,会先显示序列号:
此时单击序列号,就会出现标识符:
11、回到浏览器的页面,在左边单击Device,然后选择Add Devices:
在打开的页面中添加设备。别忘了Submit。
12、现在可以制作Profile了。在浏览器的页面中单击Provisioning——Distribution:
然后选择New Profile:
在这个页面中,输入Profile Name,选择App ID。前边的Distribution Method有两个选择:App Store与Ad Hoc,前者表明你想将程序发布到应用商店,用这样的Profile导出的ipa所有设备都能安装;后者表明只允许将应用安装在指定的设备上,选择Ad Hoc后,需要在下方选择授权的设备,就是之前你指定的。
为了好区分Profile,本人在输入的Profile Name加了后缀,_App_Store以及_Ad_Hoc,这样就比较直观了。
13、新创建的Profile提交上去之后,稍等一会,刷新页面,就可以下载这个Profile了,下载成功后,双击就自动加到Xcode中了(本人的Xcode一直在运行)。
14、配置应用程序。用Xcode运行已经写好的工程,设置其Bundle Identifier:
然后,选择签名所用的Profile,如下图,找到Code Signing,找到其中的Release:
上图中蓝色的那行,点击与工程名对应的那一列,选择Profile文件,这里选择的是Ad Hoc类型的:
15、在Xcode左上角的设备选择iOS Device,然后在菜单栏依次找到Product——Archive,如果一切顺利,会显示Build Success:
然后会自动打开Xcode的Organizer的Archives,你可以给他们重命名:
16、选择刚才生成的那个存档,单击右边的“Distribute…”按钮:
在打开的页面选择Ad Hoc:
单击Next,在下一步选择Code Signing Identity,本人选的是与Ad Hoc相对应的:
之后继续Next,设好名称和保存的位置,再继续就可以生成ipa文件了。
17、用iTunes将生成的ipa安装到设备中。为了测试这个ipa文件,可以多试几台设备。
常见问题:
CodeSign error: Certificate identity XXX appears more than once in the keychain. The codesign tool requires there only be one.
这个问题是很让人头疼的,问题出在钥匙串访问这个程序中,运行这个程序,将重复的Certificate identity删掉可能还是不管用,因为据说,Mac中的删除并不一定真的删除了,但肯定是看不见了。
分享到:
相关推荐
使用Xcode将应用程序以Ad Hoc方式打包,到处ipa文件,然后用iTunes等工具将应用程序安装到iOS中。这种方式的Profile文件主要是Ad Hoc类型,并且包含制定的设备信息。导出的ipa也只能安装到制定的设备中。 制作...
如果想要将做的iOS应用程序装到自己的iOS设备上测试、或者装在别人的...②使用Xcode将应用程序以AdHoc方式打包,导出ipa文件,然后用iTunes等工具将应用安装到iOS设备中。这种方式所用的Profile文件要是AdHoc类型,并
Flash_Builder_对_Apple_iOS设备的应用程序进行打包.pdf
Flash_Builder_对_Apple_iOS设备的应用程序进行打包
内容概要:本文阐述如何在iOS平台上对应用程序进行调试和分析,目的在于指导新手分析iOS程序,内容包括软件硬件的准备、代码的解密、富豪信息的获取、用gdb调试等,最后以京东LeBook为例子进行演示。 适合人群: 具备一定...
Kivy iOS,此工具旨在为 iOS 编译必要的库以运行应用程序并管理 Xcode 项目的创建。在创建 Xcode 项目之前至少需要编译一次。目前支持的设备:iPhone Simulator (x86 and x86_64)iPhone / iOS (armv7 and arm64) ...
创建第一个用于 iOS 的 AIR 应用程序 使用 Dreamweaver 创建第一个基于 HTML 的 AIR 应用程序 使用 AIR SDK 创建第一个基于 HTML 的 AIR 应用程序 使用 Flex SDK 创建第一个桌面 AIR 应用程序 使用 Flex SDK ...
使用 Flex 和 Flash Builder 开发手机...第 8 章: 打包并导出手机应用程序 导出用于发行的 Android APK 包 导出用于发行的 Apple iOS 包 第 9 章: 部署 在移动设备上部署应用程序 在命令行上开发和部署手机应用程序
使用 MIT 许可的一键将 Html5 Web 应用程序打包到本机 Android/IOS 应用程序中 One Click Mobile Packer 是一种将 Html Web Apps 打包成多平台应用程序运行时的工具,用于创建 Android/IOS 移动原生应用程序 它是...
Buildozer,一个用于轻松打包移动应用程序的工具。它自动化整个构建过程,会提前下载打包应用所需的东西,如 python-for-android, Android SDK, NDK 等。目前还是 alpha 版。 标签:Buildozer
先决条件在使用AIR 24或更早版本的iOS打包应用程序时,需要使用adt的-platformsdk选项或通过IDE的相应UI指向带有iOS 10 SDK(在Xcode 8中可用)的目录: -platformsdk /Applications/Xcode.app/Contents/Developer/...
2.2 iOS 程序类型 16 2.2.1 Application 16 2.2.2 Dynamic Library 19 2.2.3 Daemon 19 2.3 小结 20 第二部分 工具篇 第3 章 Mac 工具集 22 3.1 class-dump 22 3.1.1 class-dump 介绍及下载 22 ...
更改iOS应用程序图标 安装 纱线添加React本机变化应用程序react-native链接react-native-change-appicon 文献资料 1.将一个ViewController作为从UIViewController继承的rootViewController添加到您的项目中,并在...
当您的应用程序在您的设备上运行时,远程调试控制台将收到您的所有应用程序日志并将其显示在计算机的屏幕上,即使堆栈转储也会在崩溃时转移! 不需要越狱! 只需从Apple的iOS开发人员计划重新使用您的数字签名身份...
打包Go应用程序以进行Veracode静态分析 用法 打包当前工作目录: repo# vcgopkg 打包目录: vcgopkg repo/cmd 打包一个main.go文件 vcgopkg repo/path/to/dir/cmd/main.go 然后,vcgopkg将查找所有主要功能,并为...
一个响应性本机(仅限ios)应用程序,它允许您扫描包含涡流uid的qr代码,并在屏幕上查看其遥测数据。 目前,我只是受启发的Im概念演示。 安装并启动(webpack)打包程序 npm i && npm run start 然后open ios/bleqr...
Buildozer该工具当前处于Alpha状态。 Buildozer是用于轻松创建应用程序包的工具。...Buildozer当前支持通过python-for-android项目进行Android打包,并通过kivy-ios项目支持iOS打包。 iOS和OSX仍在工作。 为一个
该存储库包含iOS和Android示例应用程序以及用于为WhatsApp创建第三方贴纸包的API。 如果您想创建自己的,则可以将其打包在Android或iOS应用中。 对于Android用户,您可以将贴纸应用程序发布到,下载并安装您的...
iOS和Android应用程序(基于 ) 基于或的桌面应用程序 任何浏览器中的网站应用程序(基于 ) 可获得网站应用程序的演示。 屏幕截图 行动应用程式(iOS和Android) 桌面应用程序(西北和电子) 网站应用 库/工具 ...