打包iOS应用程序

如果想要将做的iOS应用程序安装到自己的iOS设备上测试、或者安装到别人的iOS设备上,或者想发布到App Store中,先要给应用签名。签名就要有证书,这就需要申请证书的过程了。
把自己的应用程序安装到设备中,主要有一下几种方式:
  1. 把iOS设备与电脑连接起来,如果Xcode中已经添加了包含这个设备的Profile文件且在工程中已经选择了该文件,那么在Xcode左上角便可以选择这个设备,之后点击RUN,程序就被安装在这个iOS设备中了。这个主要用于在真机上测试程序。
  2. 使用Xcode将应用程序以Ad Hoc方式打包,到处ipa文件,然后用iTunes等工具将应用程序安装到iOS中。这种方式的Profile文件主要是Ad Hoc类型,并且包含制定的设备信息。导出的ipa也只能安装到制定的设备中。
  3. 将应用程序发布到App Store上,待苹果审核通过后,其他人就可以下载安装了。
本文主要讲第二种方法。当前环境为Xcode5.1,测试时间是2014年八月。Xcode版本不同操作过程可能也会不同。另外苹果开发者网站也可能以后改版,操作流程也会改变。
一、制作Profile文件
如果想让自己的App可以在真机上运行,必须要成为iOS开发者并拥有iOS开发者帐号。如何注册成为iOS开发者将不再赘述。
运行浏览器,登录https://developer.apple.com/,在顶部菜单中找到Member Center,打开进入登录页面,输入帐号和密码后登录。登录后主要页面如下所示:
 
选择Certificates, Identifiers & Profiles进入如下页面:
 
点击iOS Apps下面的Certificates按钮,进入证书制作页面。
 
制作Profile文件需要经过“添加证书—添加App ID—添加设备—制作Profile文件”四个步骤,下面将分别进行介绍。
  1. 添加证书
在上图左边的菜单栏中点击Certificates下的All选项进入证书管理界面。若要添加新的证书,点击左上角的 + 号按钮,进入添加证书页面。
 
      证书类型选择App Store and Ad Hoc,然后点击continue。
 
      这个页面要求我们制作一个证书,方法如下:
    • 运行电脑中的“钥匙串访问”应用程序,在菜单中一次选择 证书助理——从证书颁发机构请求证书:
 
    • 在打开的窗口输入电子邮件和常用名称,去掉勾选“用电子邮件发送给CA”并选择“存储到磁盘”以及“让我制定密钥对信息”。
 
    • 单机继续,在打开的窗口设定文件的名称和位置,点击继续,密钥大小选择2048位,算法选择RSA:
 
    • 点击继续,则在之前的位置生成了.CSR的签名文件。默认名称是CertificateSigningRequest.cerSigningRequest。
证书制作完毕,回到浏览器页面,点击continue:
          
在打开的页面点击Choose File…,选择并提交刚刚制作的证书文件点击Generate。等待页面刷新,在打开的页面中点击Download,下载证书到本地。
 
双击下载的证书安装,此时证书会自动添加到钥匙串访问程序。
  1. 创建App ID
 
点击浏览器页面的左边菜单栏中Identifiers下的App IDs按钮,在打开的页面中选择左上角的 + 号按钮进入创建App ID页面:
 
 
在Description输入你的应用的描述,Bundle Identifier是应用的代码标识,例如可以输入com.company.demoapp。如果你有Team ID,那么这个ID会自动加在Identifier前边。建议申请Wild Card      Suffix类型的App ID,即一个最后字段为“ *”的ID,这样可以用同样的ID,提交一套应用程序,而无需为每个应用都申请单独的ID。输入完成后点击continue,进入确认信息界面,确认无误后点击Submit。
 
在打开的页面中选择done完成App ID注册。
  1. 添加设备
点击浏览器页面的左边菜单栏中Device下的All按钮,在打开的页面中选择左上角的 + 号按钮进入添加设备页面:
 
填写Name和UDID后提交。可将设备和电脑连接后在iTunes中查看设备UDID,在此不做赘述。提交后在打开的页面选择register,完成设备的添加。
 
 
  1. 制作Profile
点击浏览器页面的左边菜单栏中Provisioning Profile下的All按钮,在打开的页面中选择左上角的 + 号按钮进入添加Profile文件页面:
 
点击右上方的 + 号开始制作Profile文件:
 
Profile文件的类型选择Ad Hoc,continue:
 
选择刚刚制作的App ID,continue:
 
选择刚刚制作的证书,continue:
 
选择设备,continue:
 
输入Profile文件的名称,点击Generate:
 
至此,Profile文件就制作好了,点击Download下载到本地,如果你的Xcode在打开的状态下的话,双击便可将Profile文件添加到Xcode中了。
 
二、打包ipa文件
首先打开需要打包的工程,选中右上角的工程进入工程设置界面:
 
选中Broject—Build Settings—Code Signing:
 
其中Provisioning Profile选中刚刚制作的Profile文件,Code Signing Identity下全部选择刚刚制作的证书。
同理选中Target—Build Settings—Code Signing,执行同样的操作。
Xcode左上角设备选择 iOS Device,然后选择菜单栏中的Product—Archive,开始存档,如下图:
 
等待存档完毕后会打开如下窗口:
 
点击Distribute发布应用程序:
 
 
选择对应的Profile文件,点击Export:
 
在打开的窗口选择应用程序的存储路径,点击Save,完成操作。
至此,iOS应用程序打包完毕,你可以将iOS设备连接到电脑,通过iTunes安装App。不过,只有在你制作的Profile文件中包含了这个设备的UDID的情况下才能安装。

iOS 开发 -----公司测试打包上传流程的更多相关文章

  1. IOS开发 APP提交程序上传流程

    由于苹果的机制,在非越狱机器上安装应用必须通过官方的App Store,开发者开发好应用后上传App Store,也需要通过审核等环节.AppCan作为一个跨主流平台的一个开发平台,也对ipa包上传A ...

  2. iOS开发中文件的上传和下载功能的基本实现-备用

    感谢大神分享 这篇文章主要介绍了iOS开发中文件的上传和下载功能的基本实现,并且下载方面讲到了大文件的多线程断点下载,需要的朋友可以参考下 文件的上传 说明:文件上传使用的时POST请求,通常把要上传 ...

  3. IOS 发布程序(打包上传)

    • 发布程序的主要步骤 登录开发者主页 生成cer证书:cer是一个跟电脑相关联的证书文件,让电脑具备发布程序的功能 添加App ID:发布哪些app? 生成MobileProvision文件:生成一 ...

  4. iOS 添加第三方.framework 打包上传iTunesConnect 遇到的坑

    1.添加完第三方库,模拟器运行没事,打iOS通用设备包的时候报一个错. ld: '/Users/jiangwei.wang/Documents/Project/APP NAME/SeosMobileK ...

  5. IOS开发教程之put上传文件的服务器的配置及实例分享-备用

    感谢大神分享 1,HTTP常见的方法 GET 获取指定资源 POST 2M 向指定资源提交数据进行处理请求,在RESTful风格中用于新增资源 HEAD 获取指定资源头部信息PUT 替换指定资源(不支 ...

  6. iOS开发篇-AFNetworking 上传和下载

    最近用到了关于AFNetworking的上传和下载问题,顺便写到博客中,以供大家参考和研究. //下载NSURLSessionConfiguration *configuration = [NSURL ...

  7. iOS开发之多文件上传

    // //  ViewController.m //  B03-多文件上传 // //  Created by 0426iOS on 15/7/1. //  Copyright (c) 2015年 0 ...

  8. ios开发之--使用AFN上传3.1.0上传视频,不走成功回调原因及解决方法

    在测试接口的时候,发现接口称走走了,但是success的回调不走,检查了下代码,发现没有初始化下面两个方法: manage.responseSerializer = [AFHTTPResponseSe ...

  9. iOS开发进阶 - 使用shell脚本自动打包上传到fir.im上-b

    用fir.im测试已经好长时间了,感觉每次打包上传都很麻烦,想着是不是可以用脚本自动打包,在网上搜了一下确实有,下面总结一下如何使用脚本自动打包上传到fir.im,以及打包过程中遇到的问题和解决办法 ...

随机推荐

  1. Hello bokeyuan!

    一个学习技术的年轻人 从2016/09/03进入大学学习计算机科学与技术这门学科,我已经学习了4个月了,大学的生活很枯燥,很麻烦,很多事,与我想象中的大学有很大的区别.但是这都不会影响我想要成为一个技 ...

  2. webService

    什么是webService WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用.  1:从WebService的工作模式上 ...

  3. WPF - 属性系统 (4 of 4)

    依赖项属性的重写 在基于C#的编程中,对属性的重写常常是一种行之有效的解决方案:在基类所提供的属性访问符实现不能满足当前要求的时候,我们就需要重新定义属性的访问符. 但对于依赖项属性而言,属性执行逻辑 ...

  4. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  5. Spark笔记:复杂RDD的API的理解(下)

    本篇接着谈谈那些稍微复杂的API. 1)   flatMapValues:针对Pair RDD中的每个值应用一个返回迭代器的函数,然后对返回的每个元素都生成一个对应原键的键值对记录 这个方法我最开始接 ...

  6. C#对WebApi数据操作

    目标 简化并统一程序获取WebApi对应实体数据的过程,方便对实体进行扩充.原理就是数据服务使用反射发现数据提供者,处理好泛型就行. 相关传送门:Restful WebApi开发实践 先来看下最后的请 ...

  7. C#制作、打包、签名、发布Activex全过程

    一.前言 最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调用,单单依靠HTML是无法实现了,因此必须借用Activex来实现.由于本人主要擅长C#,自然本文给出了用C#实现的范例 ...

  8. 在v-for中利用index来对第一项添加class(vue2.0)

    <li v-for="(el,index) in event" v-bind:class="{ 'm-swipe-active': !index}"> ...

  9. Android性能优化之App应用启动分析与优化

    前言: 昨晚新版本终于发布了,但是还是记得有测试反馈app启动好长时间也没进入app主页,所以今天准备加个班总结一下App启动那些事! app的启动方式: 1.)冷启动      当启动应用时,后台没 ...

  10. Task三个列子的分享

    这次要分享的是C#Task任务的几个列子,感觉最实用的是封装的分页任务执行方法,这个方法步奏也是目前在我工作中执行多任务常用的,不知道各位也有这用的情况,那么开始吧. 1.顺序任务执行 //顺序任务执 ...