打包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. ubuntu 14.10 lts 64-bits环境下使用Android Studio

    距离google发布android studio 1.0正式版已经两个月左右了.由于一直习惯使用eclipse+ADT的模式,而且曾在windows下试用一次Android Studio预览版,感觉卡 ...

  2. Git 进阶指南(git ssh keys / reset / rebase / alias / tag / submodule )

    在掌握了基础的 Git 使用 之后,可能会遇到一些常见的问题.以下是猫哥筛选总结的部分常见问题,分享给各位朋友,掌握了这些问题的中的要点之后,git 进阶也就完成了,它包含以下部分: 如何修改 ori ...

  3. 企业IT管理员IE11升级指南【16】—— 使用Compat Inspector快速定位IE兼容性问题

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  4. 我的第一个python程序--给2.x的print代码加上括号

    最近想学习一门脚本语言,综合考虑,选择了python. 花了几天时间看完了 简明 Python 教程 ,想着应该写点什么东西才好,刚好我使用的是3.x版本,以前好多2.x的代码都直接报错,尤其是pri ...

  5. Go语言实战 - 我需要站内搜索

    山坡网的用户抱怨"为什么搜索'二鬼子李富贵'找不到'二鬼子汉奸李富贵'?我用百度搜都能找到." 当时我就滴汗了,用户说的有道理,应该要能搜索到. 之前的方案很简单,用户输入的字串会 ...

  6. PL/SQL快速选中一行并执行

    首先确认光标必须处在该行的位置 按下End键位 其次按下shift+home 最后按下F8执行

  7. JS对象继承篇

    JS对象继承篇 ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的 原型链 其基本思路是利用原型让一个引用类型继承另一个引用类型的属性和方法 function Person() ...

  8. Oracle数据库操作知道

    SELECT TGTID,PHONENUM,REGISTERDATE ,to_date(REGISTERDATE,'YYYY-MM-DD HH24:MI:SS') AS T FROM WTRESSEN ...

  9. Python 学习之路 (一):基础

    数据类型和变量 整数 在Python3中,整数可以处理任意大小的整数,不分长整型和整型, 十六进制用0x开头或者H结尾表示:0x2af ,2afH 用函数 int() 来转换字符串中的数字,里面不能包 ...

  10. 高性能JavaScript--加载和执行(简要学习笔记一)

    1.多数浏览器使用单一进程来处理用户界面刷新和JavaScript脚本的执行.所以同一时刻只能做同一件事.JavaScript执行过程耗时越久,浏览器等待相应的时间就越长.   2.<scrip ...