刚到公司时,我还是一个个人应用都没上线过的小白一枚,甚至都不知道.p12文件,不知道个人应用上线所使用的证书只能是自己机子创建的发布证书才可以打包上线,不知道企业级应用如何打包,不巧的是我还赶上了 iOS 10 问世,Xcode8.0新鲜出炉。

这下焦急了!不过,幸运的是,公司有大牛的带路。一边查资料,一边问大牛,总算平安度过了那段黑暗时光。接下来就总结一下这期间我学到的知识和经验。

首先有以下知识点需要清楚的:

苹果账号分三种:

<1>普通苹果账号(免费注册、使用),仅可用于下载苹果商店应用,没有权限创建证书(测试和发布,但是可以在Xcode7.0或以上里运行时使用真机调试,Xcode7之前好像不可以使用普通苹果账号进行真机测试)。

<2>开发者账号(年费99$),可创建测试(没有限制)和发布(最多三个)证书,将个人应用发布到AppStore。

<3>企业账号(年费199$),可创建测试(没有限制)和发布(最多三个)证书,打包好的程序不放到AppStore上,而是放到企业的服务器上,由企业提供链接供内部人员下载使用。

其次要知道项目的打包流程:

<1>个人应用若要打包,需要将个人发布证书添加到应用中,然后,我就是看的别人的博客来操作了(良心文章:史上最用心的 iOS App 上架流程)。

<2>企业应用打包,同样需要添加发布证书,但是后面的跟上面的不一样了,此处需要连接真机,运行程序,也许程序运行后会弹出一个提示框

不必担心,这个提示可以忽略,此时打开product目录的.app文件show in Finder,拖动到iTunes的应用界面再次show in Finder 即可得到新打的包。

最后是Xcode8.0 中企业级应用打包的变化

变化只有一点,那就是证书添加到Xcode里的选择改变了

Xcode8.0增加了这个选项,用于选择苹果开发者账号,如果选择了可用的账号(可以是普通的苹果账号),那么Xcode会为该项目的bundle identifier创建Signing Centificate,可用于真机测试,但是不能打包项目;如果不选,

在Provisioning Profile里添加你的证书,但是如果你的bundle identifier与证书不符就会出现下面的报错,

解决办法是:将“A”指向的bundle identifier复制粘贴到上面的bundle identifier输入框即可。

注意:Xcode8.0打包不再需要修改build Settings里面的signing选项。

说说我的企业级应用上线历程(A little different!)的更多相关文章

  1. 美团点评基于MGR的CMDB高可用架构搭建之路【转】

    王志朋 美团点评DBA 曾在京东金融担任DBA,目前就职于美团点评,主要负责金融业务线数据库及基础组件数据库的运维. MySQL Group Replication(以下简称MGR),于5.7.17版 ...

  2. 基于线程池、消息队列和epoll模型实现并发服务器架构

    引言 并发是什么?企业在进行产品开发过程中为什么需要考虑这个问题?想象一下天猫的双11和京东的618活动,一秒的点击量就有几十万甚至上百万,这么多请求一下子涌入到服务器,服务器需要对这么多的请求逐个进 ...

  3. R语言服务器程序 Rserve详解

    R语言服务器程序 Rserve详解 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到 ...

  4. Linux实战教学笔记41:企业级SVN版本管理与大型代码上线方案

    第1章 SVN服务实战应用指南 1.1 SVN介绍 1.1.1 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN ...

  5. 从0到上线开发企业级电商项目_前端_01_sublime使用技巧

    一.用户设置 { "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme", &quo ...

  6. 阿里钉钉技术分享:企业级IM王者——钉钉在后端架构上的过人之处

    本文引用了唐小智发表于InfoQ公众号上的“钉钉企业级IM存储架构创新之道”一文的部分内容,收录时有改动,感谢原作者的无私分享. 1.引言 业界的 IM 产品在功能上同质化较高,而企业级的 IM 产品 ...

  7. 数据库周刊30丨数据安全法草案将亮相;2020数据库产业报告;云南电网上线达梦;达梦7误删Redo Log;Oracle存储过程性能瓶颈;易鲸捷实践案例……

    摘要:墨天轮数据库周刊第30期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档. 热门资讯 1.数据安全法草案即将亮相:将确立数据分级分类管理.应急处置制度[摘要]数据安全法草案即将在本 ...

  8. 记一次企业级爬虫系统升级改造(二):基于AngleSharp实现的抓取服务

    爬虫系统升级改造正式启动: 在第一篇文章,博主主要介绍了本次改造的爬虫系统的业务背景与全局规划构思: 未来Support云系统,不仅仅是爬虫系统,是集爬取数据.数据建模处理统计分析.支持全文检索资源库 ...

  9. js模块化历程

    这是一篇关于js模块化历程的长长的流水账,记录js模块化思想的诞生与变迁,展望ES6模块化标准的未来.经历过这段历史的人或许会感到沧桑,没经历过的人也应该知道这段历史. 无模块时代 在ajax还未提出 ...

随机推荐

  1. Winmail.dat(TNEF) issue on outlook

    http://www.dwheeler.com/essays/microsoft-outlook-tnef.html

  2. firebug常用工具

    1.console.group("第一组"); console.log(1); console.groupend(); 2.console.dir(对象);//输出对象的所有信息 ...

  3. cctype头文件中的一些内容

    1. string 标准库 1.1初始化 string s1; 默认构造函数s1为空 string s2(s1); 将s2初始化为s1的一个副本 string s3(“value”); 将s3初始化为 ...

  4. Eclipse导入Tomcat源码(转)

    想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug). 这里参考了网上一些资料,将自己操作过程记个流水账. 准备: 1.Tomcat源码 ...

  5. .html()和.text()的区别

    在页面调用接口显示数据的时候,正常情况下.html()和.text()都可以显示数据内容,但是在特殊情况下,比如接口中这个参数为空的时候就表现出差距了,.html()显示的是空白,而.text()显示 ...

  6. sass安装与使用

    安装: 1.安装ruby 2.安装Koala,用于sass编译 3.gem install sass(mac电脑安装如果安装报错,一般是权限问题,没有权限安装到ruby下面,因此可以尝试sudo ge ...

  7. uva11292 Dragon of Loowater

    水题,排序遍历即可 #include<iostream> #include<cstdio> #include<algorithm> using namespace ...

  8. 解压版mysql安装

    步骤如下: 1.下载安装包 2.在环境变量中配置安装包的bin路径 3.修改安装包下的my-default.ini. 修改basedir和datadir的值为解压文件对应的路径,port和 serve ...

  9. DIV+CSS:Margin和Padding属性[转载]

    margin和padding用来隔开元素,margin是隔开元素与外边,padding是隔开元素里边. margin: 包括margin-top.margin-right.margin-bottom. ...

  10. Composer实现PHP中类的自动加载

    本篇博客承接上一篇,学习一下Composer实现的PHP的类的自动加载方式.首先说明一下,Composer是PHP针对PHP语言的第三方的依赖管理工具,将工程所用到的依赖文件包含在composer.j ...