打包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. JS or C#?不存在的脚本之争

    前言: 又来到了周末,小匹夫也终于有了喘口气写写博客的时间和精力.话说周五的下午,小匹夫偶然间晃了一眼蛮牛的QQ群,又看到了一个Unity3D开发中老生长谈的问题,“我的开发语言究竟是选择JavaSc ...

  2. Angular移除不必要的$watch之性能优化

    双向绑定是Angular的核心概念之一,它给我们带来了思维方式的转变:不再是DOM驱动,而是以Model为核心,在View中写上声明式标签.然后,Angular就会在后台默默的同步View的变化到Mo ...

  3. 为什么说每个程序员都应该刷几道LeetCode?

    2015年即将过去,最近在回顾和总结过去一年的工作经历,发现自己并不能算是一名合格的程序员. Google某前员工Lucida在文章<白板编程访谈——Why,What,How>当中写道: ...

  4. 菜鸟学Struts2——HelloWorld

    写在前面 自从工作后就过上了只有一个月记忆的生活,太健忘,很多学过的东西因为用得少便忘记了,第二次学习struts,为了以后便于查阅,开始自己的博客之旅.Struts的学习还是从Hello World ...

  5. .NET 程序集单元测试工具 SmokeTest 应用指南

    Smoke Test(冒烟测试),也称Regression Test(回归测试),是对软件的安装和基本功能的测试.一般地我们使用脚本来实现Smoke Test的自动化,可借用虚拟机的snapshot机 ...

  6. 【原】SDWebImage源码阅读(二)

    [原]SDWebImage源码阅读(二) 本文转载请注明出处 —— polobymulberry-博客园 1. 解决上一篇遗留的坑 上一篇中对sd_setImageWithURL函数简单分析了一下,还 ...

  7. Ubuntu 14.04 LTS中怎样安装fcitx中文输入法

    轉載: http://jingyan.baidu.com/article/4b07be3c60da3f48b380f3f0.html 一,安装fcitx,这么好的软件,ubuntu软件中心肯定是找得到 ...

  8. 原生JS实现"旋转木马"效果的图片轮播插件

    一.写在最前面 最近都忙一些杂七杂八的事情,复习软考.研读经典...好像都好久没写过博客了... 我自己写过三个图片轮播,一个是简单的原生JS实现的,没有什么动画效果的,一个是结合JQuery实现的, ...

  9. 【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)

    RAC在LINUX上使用NFS安装前准备(六) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇 ...

  10. Http协议相关内容

    http协议概述 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义浏览器与WEB服务器之间交换数据的过程. 客户 ...