打包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. IOS开发之—— 在AFN基础上进行的网络请求的封装

    网络请求的思路:如果请求成功的话AFN的responseObject就是解析好的. 1发送网络请求:get/post/或者别的 带上URL,需要传的参数 2判断后台网络状态码有没有请求成功: 3 请求 ...

  2. Backbone源码解析(六):观察者模式应用

    卤煮在大概一年前写过backbone的源码分析,里面讲的是对一些backbone框架的方法的讲解.这几天重新看了几遍backbone的源码,才发现之前对于它的理解不够深入,只关注了它的一些部分的细节和 ...

  3. ABP框架搭建项目系列教程基础版完结篇

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...

  4. Entity Framework 6 Recipes 2nd Edition(10-3)译 -> 返回结果是一个标量值

    10-3. 返回结果是一个标量值 问题 想取得存储过程返回的一个标量值. 解决方案 假设我们有如Figure 10-2所示的ATM机和ATM机取款记录的模型 Figure 10-2. 一个ATM机和A ...

  5. MySQL对时间戳的转换处理

    开发中很多时候在数据库里都会存储Long类型的时间戳,而时间戳做比对会相对麻烦 我的绝决方案: SELECT FROM_UNIXTIME(LEFT(create_time,10), '%Y-%m-%d ...

  6. SQL-从数据类型 varchar 转换为 bigint 时出错的解决方案

    解决

  7. 图的生成树(森林)(克鲁斯卡尔Kruskal算法和普里姆Prim算法)、以及并查集的使用

    图的连通性问题:无向图的连通分量和生成树,所有顶点均由边连接在一起,但不存在回路的图. 设图 G=(V, E) 是个连通图,当从图任一顶点出发遍历图G 时,将边集 E(G) 分成两个集合 T(G) 和 ...

  8. Vertica 7.1安装最佳实践(RHEL6.4)

    一.前期准备工作 1.1各节点IP和主机名 1.2上传脚本并设定环境变量 1.3添加信任 1.4前期准备检查并调整 二.Vertica安装 三.集群性能评估 一.前期准备工作: 1.1各节点IP和主机 ...

  9. android黑科技——完美解决界面逻辑的数据框架DataBinding(最新)的使用(二)

    昨天我们一起学习了dataBinding的基础用法,我想你可能还停留在它只是不用再findViewById,其实不然,今天我们就来扩展延伸,看看这个框架到底有什么魔力让谷歌官方大力推崇.这里还没看昨天 ...

  10. docker进入后台运行的容器

    转载请注明出处   我们运行docker容器的时候,使用了-d参数,把容器在后台运行后. 这个时候,我们使用docker ps命令,我们就可以知道哪些程序在后台运行.   我们要怎么进入到docker ...