打包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. jQuery.data() 使用方法

    data() 方法向被选元素附加数据,或者从被选元素获取数据.在实际开发中,可以用来记录上一步操作某一对象的值,来给下一步操作做一些判断 $("#btn1").click(func ...

  2. embedding mono实战笔录(一)

    最近在给自己的服务器节点添加脚本功能,考虑到 执行性能.开发效率.调试效率.可维护性.严谨性 五大要素,最终选用C#作为脚本语言,并使用mono作为中间层,使其具备跨平台特性,以备具有在Windows ...

  3. 微软发布 Windows Server 2016 预览版第三版,开发者要重点关注Nano Server

    微软已经发布 Windows Server 2016 和 System Center 2016 第三个技术预览版,已经提供下载.Windows Server 2016 技术预览版第三版也是首个包括了容 ...

  4. 我叫Twenty,我是要成为博客王的博客框架

    标题套用了路飞的格式,其实我想说的是大多数都不相信你的梦想,直到你快走到了. 不废话了,介绍一下twenty: 这是基于CMS框架 zerojs打造一个博客.zerojs 的架构介绍在这里http:/ ...

  5. SQL优化案例—— RowNumber分页

    将业务语句翻译成SQL语句不仅是一门技术,还是一门艺术. 下面拿我们程序开发工程师最常用的ROW_NUMBER()分页作为一个典型案例来说明. 先来看看我们最常见的分页的样子: WITH CTE AS ...

  6. CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面

    CentOS 6.8 有默认的安装的 vnc 位于端口 5900 : 系统->首选项->远程桌面 勾选[共享]的选项,  取消勾选[安全]的选项, 然后防火墙添加 5900 端口 基本就可 ...

  7. springmvc注解事例

    注解有简化 ,灵活性增强的功能 1.引入jar包 com.springsource.javax.validation-1.0.0.GA.jarcom.springsource.org.aopallia ...

  8. 《JavaScript高级程序设计》读书笔记 2

    1,动态模型模式 function Person (name,age,job) { this.name=name; this.age=age; this.job=job; if(typeof this ...

  9. windows 环境下nginx + tomcat群 + redis 实现session共享

    nginx作为负载均衡根据定义将不同的用户请求分发到不同的服务器,同时也解决了因单点部署服务器故障导致的整个应用不能访问的问题 在加入nginx之后,如果多个服务器中的一个或多个(不是全部)发生故障, ...

  10. 《你不知道的JavaScript》整理(一)——作用域、提升与闭包

    最近在读一本进阶的JavaScript的书<你不知道的JavaScript(上卷)>,里面分析了很多基础性的概念. 可以更全面深入的理解JavaScript深层面的知识点. 一.函数作用域 ...