一、

在xcode6.1和ios10.10.1环境下实现app发布

http://blog.csdn.net/mad1989/article/details/8167529

http://jingyan.baidu.com/article/f25ef25477db8b482d1b8252.html

http://blog.sina.com.cn/s/blog_6ca8877f0101g2u0.html

二、

iOS APP 打包提交审核详细步骤

(1) 要明确的几个概念 Certification、Provisioning、Keychain、APP IDs概述

1.  Certification(证书)

证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:

1)   DeveloperCertification(开发证书)

安装在电脑上提供权限:开发人员通过设备进行真机测试。

可以生成副本供多台电脑安装;

2) DistributionCertification(发布证书)

安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。

不可生成副本,仅有配置该证书的电脑才可使用;

2.  Provisioning Profile(授权文件)

授权文件是对设备如iPod Touch、iPad、iPhone的授权,文件内记录的是设备的UDID和程序的App Id,即使被授权的设备可以安装或调试Bundleidentifier与授权文件中记录的App Id对应的程序。

开发者帐号在创建授权文件时候会选择App Id,(开发者帐号下App Id中添加,单选)和UDID(开发者帐号下Devices中添加最多100个,多选)。

授权文件分为两种,对应相应的证书使用:

1)   Developer ProvisioningProfile(开发授权文件)

在装有开发证书或副本的电脑上使用,开发人员选择该授权文件通过电脑将程序安装到授权文件记录的设备中,即可进行真机测试。

注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的授权文件的App Id要一致;连接调试的设备的UDID在选中的授权文件中有记录。

2)  DistributionProvisioning Profile(发布授权文件)

在装有发布证书的电脑上(即配置证书的电脑,只有一台)制做测试版和发布版的程序。

发布版就是发布到App Store上的程序文件,开发者帐号创建授权文件时选择store选项,选择App Id,无需选择UDID;

测试版就是在发布之前交给测试人员可同步到设备上的程序文件,开发者帐号创建授权文件时选择AdHoc,选择AppId和UDID;只有选中的UDID对应的设备才可能安装上通过该授权文件制做的程序。

3.  Keychain(开发密钥)

安装证书成功的情况下证书下都会生成Keychain,上面提到的证书副本就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他机子上,让其他机子得到证书对应的权限。DeveloperCertification就可以制做副本Keychain分发到其他电脑上安装,使其可以进行真机测试。

注意:Distribution Certification只有配置证书的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。

3.  APP IDs(应用程序标示符)

通常是使用 com.域名.应用程序名 这样的反向域样式。此标识符必须唯一并且不会与苹果公司系统中已注册的任何其他应用程序标识符冲突。

推送服务应用程序不能使用统配标识符,每个启用了推送服务的应用程序都要求有一个唯一的标识符。

(2)要准备的几个工作

1: iTunes 图标  : 1024px x 1024px (required)

2: 屏幕截图       :(用Xcode截图,图片不能勾选alpha)

3: 元数据           :  在提交应用之前,要管理好app的元数据,

包括1应用名称、2版本号、3主要类别,4简洁的描述,5关键词,6.支持URL。如果你需要更新应用,你还要 提供新增加的版本内容。

4: 测试账户或者demo账户,这样审核人员就能很快进入app,而不用再注册账号。

5: 友盟url版本

1.  申请 App ID

(1)  连到 Developer 网页 ( http://developer.apple.com )。并登录到苹果MemberCenter

(2)  进入 iOS Provisioning Portal。所有证书相关的都在这里进行

(3)  App IDs,我们先创建一个AppId点选左侧的 App IDs。

(4)  点选右上角的 New App ID。

(5)  Description : 输入 app name。

Bundle Seed ID (App ID Prefix ) : 选 Generate New。

Bundle Identifier (App ID Suffix ) : 输入 com.companyname.(app name),Ex: com.taolewireless.myDemo。

(6)  填完后submit,如下图,可以看见我们已经生成的appid:ebook appid。想要支持推送服务和iCould等也可以在这儿配置:

(7)  在 App IDs 页面,即可看到一组写着 appname 的Description。

2.  申请 DistributionProvisioning Profiles 申请发布授权证书

2.1、先创建一个证书请求文件

首先打开应用程序-实用工具-钥匙串访问(KEY CHAIN),在证书助理中,选择"从证书颁发机构求证书",如下图:

在下图所示的界面,你的电子邮件地址:填你申请idp的电子邮件地址,常用名称,默认就好,CA空,选择存贮到磁盘,点击"继续":

选择保存的位置,比如选择桌面。

下一步点击完成,你就可以看到你的桌面多了一个CertificateSigningRequest.certSigningRequest的证书请求文件。

(1)  在 iOS Provisioning Portal 页面,点选左侧的 Provisioning。

(2)  点选上面的 Distribution tab。

(3)  点选右上方的 New Profile。

(4)  Distribution Method 选 App Store。

Profile Name 输入 TaoleWireless_myDemo_Distribution。

(5)  点选 submit。

(6)  在 Distribution Provisioning Profiles 页面可看到多出一组名为 TaoleWireless_myDemo_DistributionProfile。

(7)  过一分后重新整理网页,点 Download Provisioning Profile。

(8)  开启 Xcode -> Window -> Organizer。

(9)  点选左下的 Profisioning Profiles。

(10)  将 (7) 下载的profile 拖拉到 Xcode的Organizer 画面。

3.  iTunes Connect New App

(1)  连到 iTunes Connect 网页 (http://itunesconnect.apple.com)。

(2)  点选右边中间的 Manage Your Applications。

(3)  点选左上方的 Add New App。

(4)  App Name 输入 app name,Ex: myDemo。

SKU Number 输入 yyyyMMdd。

Bundle ID 选 app 后,按Continue。

(5)  选日期、价格后 Continue。

(6)  Version Number 输入 1.0.0。

Description 输入 ….

Primary Category

Secondary Category

Keywords

Copyright: @2011 TaoleWireless All Rights Reserved.

Contact Email Address: 输入上传人员的 email。

(7)  点选 Ready to Upload Binary。

三、Xcode配置

(1)、

(2)

Xcode中target的build settings了。

1、配置App ID、distribution certificate 和provisioning profile已经完成,是时候配置Xcode中target的build settings了。在Xcode Project  Navigator的targets列表中选择一个target,打开顶部的Build Settings选项,然后更新一下Code Signing来跟之前创建的distribution provisioning profile相匹配。最近添加的provisioning profiles有时候不会立马就在build settings的Code Signing中看到,重启一下Xcode就可以解决这个问题。

2. 上传二进制文件

为了上传程序,需要为程序创建一个archive。你只能在一台真实设备上创建一个archive。如果你在active scheme中选择了iOS Simulator,那么在Xcode的Product菜单中Archive选项是灰色不可选的。连接一台iOS设备到Mac机器上,然后在active scheme中选择这台设备,然后选择Xcode中Product菜单里面的Archive。

选中项目名称,设备改为ios Device(我们不需要使用模拟器或真机来build打包),然后选择 edit Scheme(如上截图)

此界面顶部要确定选中的是你的项目名称和iosDivice设备;左边栏选中Archive,右边的内容为以上视图。点击ok。(如上截图)

此时大功告成,在xcode-Product菜单选中build一下(快捷键command+B),然后再点击Archive。(如上截图)两个都成功的话,就继续下一步,否则请检查两个证书的配置。

如果一切正常的话,现在你会获得一个archive,并且Xcode的Organizer会自动打开,并显示出刚刚生成的archive。在列表中选中archive,然后点击右边的“Distribute”按钮。在显示出来的画面中,选择“Submit tothe iOS App Store”。然后输入你的iOS开发者账号进行认证。接着选择Application Code Signing Identity

应用程序的二进制文件会上传到苹果的服务器中——在这个过程中,你的程序同样需要被验证。如果在验证过程中遇到了错误,程序的提交流程就会失败。验证处理非常有用,如果程序中有一些错误,苹果的 App Store评审团会告诉你具体原因。

Archive成功后,就会在Organizer界面生成我们的应用,进入后可以看到软件详细信息,这个identifier一定要和我们第三步网页上的一致。

iOS开发之 xcode6 APP 打包提交审核详细步骤的更多相关文章

  1. APP打包提交审核的步骤

  2. iOS开发之 Xcode6 添加xib文件,去掉storyboard的hello world应用

    iOS开发之  Xcode6.1创建仅xib文件,无storyboard的hello world应用 由于Xcode6之后,默认创建storyboard而非xib文件,而作为初学,了解xib的加载原理 ...

  3. iOS 开发之 Xcode6 打包生成ipa给测试

    Xcode 6正式版Version 6.0.1 (6A317)已经放出Mac AppStore,之前为了体验swift也安装过beta版,但是并没有注意到6系Xcode对于导出ipa的变化,更新正式版 ...

  4. iOS 开发之 Xcode6 创建真机调试证书

    http://jingyan.baidu.com/article/ff411625b8141312e48237a7.html 1.登录苹果开发者中心 2.登录后的界面如图所示,如果没有最上面的两个选项 ...

  5. iOS开发之 XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)

    参考:http://mobile.51cto.com/iphone-455500.htm XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效) 前提:设备已经越狱 目前在XCode上开发 ...

  6. ios 开发之 Xcode6 No valid signing identities (i.e. certificate and private key pair) matching...

    之前的项目用证书真机测试过,我想再无证书Build,出现下面的报错提示! 下面的team我无法改成None!一点击None选的还是Unhonw name(JPGE28K3W9)这个是报错的关键 最后由 ...

  7. iOS开发之Xcode6 之手动添加Pch预编译文件

    参考文档 http://blog.csdn.net/crazyzhang1990/article/details/44243343 红色部分为本人自己补充注意事项 在Xcode6之前,创建一个新工程x ...

  8. ios开发之xcode6中如何添加pch全局引用文件

    xcode6中去掉了默认添加pch文件,这就需要我们自己手动添加pch文件了,添加pch文件是为了一些琐碎的头文件引用,加快编译速度! 下面就说下该如何手动添加pch文件: 1.添加一个文件,在oth ...

  9. iOS 开发之 Xcode6 installation failed invalid argument!

    1.运行模拟器的时候 报出: installation failed invalid argument! 原因分析: 我把Bundle indentifier 置为空了! http://stackov ...

随机推荐

  1. SQL Server 索引和表体系结构(三)

    转自:http://www.cnblogs.com/chenmh/p/3785285.html 包含列索引 概述 包含列索引也是非聚集索引,索引结构跟聚集索引结构是一样,有一点不同的地方就是包含列索引 ...

  2. poj2269 Friends

    计算表达式. 只有3种运算符:*,+,- , *优先级高于后两者,后两者优先级相同. 有两种符号:{},(). 利用递归和堆栈即可解决. 首先遇到左括号开始入栈直到遇到右括号,遇到右括号时对括号内的数 ...

  3. UVa 489,紫书P79,刽子手游戏

    题目链接:https://uva.onlinejudge.org/external/4/489.pdf 这个题很像之前的一个拓扑排序的题目,思路类似咯. 程序模块化: 每次判断一个字母,lose,wi ...

  4. Unix网络编程--卷一:套接字联网API

    UNIX网络编程--卷一:套接字联网API 本书面对的读者是那些希望自己编写的程序能够使用成为套接字(socket)的API进行彼此通信的人. 目录: 0.准备环境 1.简介 2.传输层:TCP.UD ...

  5. Mysql-学习笔记(==》连接查询_高级查询五)

    CREATE TABLE t( tid INT UNSIGNED NOT NULL AUTO_INCREMENT, tname VARCHAR(30), PRIMARY KEY (tid))ENGIN ...

  6. MUI 框架微信支付

    在MUI 框架中实现了支付宝支付后,以为MUI微信支付,也没什么大问题,结果这个问题困扰了我几天,后面再同事的提醒下终于弄出来了, 问题出在,开始使用Dcloud 公有证书 怎么也付不了....,后面 ...

  7. javaweb的开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  8. 【leetcode❤python】 Sum of Left Leaves

    #-*- coding: UTF-8 -*- # Definition for a binary tree node.# class TreeNode(object):#     def __init ...

  9. Quartz:ERROR threw an unhandled Exception

    详细的错误信息如下: -- ::] ERROR org.quartz.core.JobRunShell: - Job group1.job1 threw an unhandled Exception: ...

  10. 粒子群优化算法(Particle Swarm Optimization)

    粒子群算法的思想源于对鸟/鱼群捕食行为的研究,模拟鸟集群飞行觅食的行为,鸟之间通过集体的协作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法.它没有遗传算法的"交 ...