IOS上架流程详解,包含审核避坑指南!
准备
- 开发者账号
- 完工的项目
上架步骤
- 一、创建App ID
- 二、创建证书请求文件 (CSR文件)
- 三、创建发布证书 (CER)
- 四、创建Provisioning Profiles配置文件 (PP文件)
- 五、在App Store创建应用
- 六、打包上架
一、创建App ID
- 1.打开苹果开发者网,点击“Account”登录会员中心
编辑
编辑
编辑
- 2.填写信息创建app ID
编辑
编辑
二、创建证书请求文件(CSR文件)
CRS文件主要用于 绑定你的电脑的
- 1 点开LaunchPad,在其他中找到打开钥匙串访问
编辑
- 2 点击电脑左上角的钥匙串访问–证书助理–从证书颁发机构请求证书
编辑
- 3 出现如下界面,选择存储到磁盘,点击继续
编辑
- 4 选择存储到桌面,存储
编辑
- 5 点击完成
编辑
- 6 在桌面上看到下面的文件,证书请求文件完成
编辑
三、创建发布证书 (CER文件)
- 1 找到Certificates ,点击All,然后点击右上角 + 号
编辑
- 2 点击App Store and Ad Hoc
编辑
发布证书和开发者证书需要分别创建,操作两次,开发者证书用于真机调试,发布证书用于提交到AppStore。
- 3.** 点击Continue**
编辑
- 4.** 点击Continue**
编辑
- 5.** 点击choose File.. 选择创建好的证书请求文件:CertificateSigningRequest.certSigningRequest 文件,点击Generate**
编辑
- 6.** 点击Download下载创建好的发布证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中。**
编辑
- 7.** 双击安装。如果安装不上,可以直接将证书文件拖拽到钥匙串访问的列表中**
重点
: 一般一个开发者帐号创建一个发布证书就够了,如果以后需要在其他电脑上上架App,只需要在钥匙串访问中创建p12文件,把p12文件安装到其他电脑上。这相当于给予了其他电脑发布App的权限。
四、创建Provisioning Profiles文件
- 找到Provisioning Profiles ,点击All,然后点击右上角 + 号
编辑
2.** 选择App Store,点击Continue**
编辑
该流程也需要进行两次,分别创建开发用的PP证书和发布的PP证书。
- 3.在App ID 这个选项栏里面找到你刚刚创建的:App IDs(Bundle ID) 类型的套装,点击Continue
编辑
- 4.选择你刚创建的发布证书(或者生成p12文件的那个发布证书),点击Continue
编辑
- 5.在Profile Name栏里输入一个名字(这个是PP文件的名字,可随便输入,在这里我用工程名字,便于分别),然后点击Generate
编辑
注意:wildCard格式的证书没有推送,PassCard等服务的应用,慎重选择。因为PP证书的开发者证书需要真机调试,所以我们需要绑定真机,这里因为之前添加过一些设备,所以这里就可以直接全选添加,如果没有的话,需要将真机的udid复制出来在此添加。在发布PP文件中,是没有这一步的。
- 6.Download生成的PP文件,然后点击Done
编辑
双击就添加到Xcode中,这样在真机调试或者发布时,就可以分别有不同的PP证书与其对应。其实可以不用下载保存
五、在App Store创建应用
1、回到Account,点击iTunes Connect
编辑
2、点击我的App
编辑
3、点击新建 iOSApp
编辑
4、依次按提示填入对应信息,然后点击创建
编辑
5、依次把不同尺寸的App截图拉入到对应的里面
编辑
6、填入App简介
编辑
7、按提示依次输入
编辑
此时这个构建版本还没有生成,我们先把基本信息填写完毕,然后再进入Xcode中把项目打包发送到过来。注意:填写完一定要点击右上角的保存。
编辑
不要忘记填写测试账号,否则会被拒的,而且一定要跟服务器同事说好,不要删除测试账号,否则同样被拒
六、打包上架
在Xcode中打包工程找到你刚刚下载的发布证书(后缀为.cer)或者p12文件,和PP文件,双击,看起来没反应,但是他们已经加入到你的钥匙串中。如果之前步骤已操作过,可省略此步。
1、打开Xcode,配置项目环境,点击+可以选择Add Apple ID;点击View Details可以查看该Apple Id下的Certificates和Provisioning Profile证书文件,在这里你可以点击下载。在项目Targets下的Identity中,Team选择对应的Apple ID 即可。
特别注意: 这里填写的Apple ID 不是你自己手机上创建的Apple ID 一定要是 开发者账号的 账号和密码 (QAQ 我就在这里被坑过)
编辑
2、选择模拟器为iOS Device,按照下图提示操作
编辑
编辑
编辑
3、修改.plist文件,两个.plist文件都要修改
编辑
4、Archive在线打包,在真机状态下选择Product——>Archive,如果不是真机状态下,Archive会是灰色不可用的)。
编辑
5、打包之后会生成一个 ipa文件 ,然后返回我的App~~在构建版本处,点击Application Loader 就会将其下载下来,然后通过该 软件把ipa文件上传到 appstore上。
编辑
编辑
编辑
编辑
我们这边介绍一个简便的打包工具appuploader。
xcode打包导出ipa
众所周知,在开发苹果应用时需要使用签名(证书)才能进行打包安装苹果IPA,作为刚接触ios开发的同学,只是学习ios app开发内测,并没有上架appstore需求,对于苹果开发者账号认证需要支付688,真的是极大的浪费,使用appuploader,只需要注册苹果普通的账号,不需要688认证,就可以打包自己开发的ios应用,自己真机测试,下面是详细教程:
第一步:注册苹果开发者账号
访问以下网址,按照提示注册即可,因为不需要支付688认证苹果开发者,所以没什么好讲的。 注册地址:Apple Developer Apple Developer (简体中文)
第二步:下载APP Uploader
下载地址: Appuploader官网--IOS ipa上传发布工具,证书制作工具跨平台版,windows,linux,mac系统都可用 (applicationloader.net) Appuploader home -- A tool improve ios develop efficiency such as submit ipa to appstore and manage ios certificate
我这里是VMware虚拟机安装的mac系统,所以下载了mac安装包,直接解压,双击appuploader即可启动,看下图:
编辑
主界面如下:
编辑
简单介绍一下,这块工具的使用方法:
1、登录,由于没有支付688认证,所以登录的时候,注意勾选未支付688:
编辑
2、功能介绍,我这里主要使用了工具的三个功能部分:
编辑
证书部分:主要是通过工具生成.p12证书文件,后面这个证书要导入mac系统。 描述文件:这个文件主要包含了证书,公钥,设备信息等,和app绑定。
测试设备:主要是录入要内测的ios手机,主要是udid,udid可以理解为设备的一个唯一标识码,iphone手机udid的获取,可以安装驱动后通过appuploader工具自动获取
其他功能模块我这也没有用到,具体可以通过工具软件的帮助文档详细了解,帮助文档也列出了常见的问题以及解决方法: Appuploader常见问题 (applicationloader.net),下载链接:Appuploader常见问题
第三步:使用xcode打包导出ipa文件,供其他人内测
1、mac系统导入appuploader生成的p12证书,导入方法入下图:
双击下载到的p12 文件,系统提示输入密码之类的,按照提示输入密码即可。
编辑
2、关键部分,xcode使用这个p12证书,进行打包ipa:
xcode添加好了苹果开发者账号,个人p12证书有了,接下来就是xcode打包ios应用:
编辑
记得取消勾选automatically manage signing
编辑
编辑
编辑
xcode编译没有问题,就会弹出一下界面
编辑
编辑
编辑
在Products目录下,把xxx.app文件拷贝出来,新建Playload文件夹,压缩Playload文件夹,得到Playload.zip文件,修改
Playload.zip文件为Playload.ipa文件,至此ios应用安装文件就弄好了.
打包过程中 会出现的问题
application Loader 上传出现的错误
解决方案:ERROR ITMS-90158:"The following URL schemes found in your app are not in the current format:[XXX]." 删除 schemes 中的XXX 路径 如下图
编辑
6.发送成功后返回到我的App,刷新页面,在构建版本处就会有个 + 号,点击 + 号把发送过来的程序添加上去就行了
IOS上架流程详解,包含审核避坑指南!的更多相关文章
- 图文详解丨iOS App上架全流程及审核避坑指南
App Store作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都"死"在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOS app上架流 ...
- rsyslog详解实战和避坑
目标是要把线上环境的debug日志及集中化收集起来,一方面是方便开发调试:一方面是避免直接到线上环境查看,存在安全隐患. 常用可选方案: rsyslog发送端 + rsyslog接收端: 直接存在接收 ...
- iOS 组件化流程详解(git创建流程)
[链接]组件化流程详解(一)https://www.jianshu.com/p/2deca619ff7e
- iOS应用开发详解
<iOS应用开发详解> 基本信息 作者: 郭宏志 出版社:电子工业出版社 ISBN:9787121207075 上架时间:2013-6-28 出版日期:2013 年7月 开本:16开 ...
- 了解iOS消息推送一文就够:史上最全iOS Push技术详解
本文作者:陈裕发, 腾讯系统测试工程师,由腾讯WeTest整理发表. 1.引言 开发iOS系统中的Push推送,通常有以下3种情况: 1)在线Push:比如QQ.微信等IM界面处于前台时,聊天消息和指 ...
- 转载]IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本 )
原文地址:IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本作者:佐佐木小次郎 因为最近项目上要用有关LBS的功能.于是我便做一下预研. 一般说来LBS功能一般分为两块:一块是地理 ...
- iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)
前言:一个路径可以包含由一个或者多个shape以及子路径subpath,quartz提供了很多方便的shape可以直接调用.例如:point,line,Arc(圆弧),Curves(曲线),Ellip ...
- iOS开发:详解Objective-C runTime
Objective-C总Runtime的那点事儿(一)消息机制 最近在找工作,Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题.当然还有一些其他问题也几乎 ...
- Lucene系列六:Lucene搜索详解(Lucene搜索流程详解、搜索核心API详解、基本查询详解、QueryParser详解)
一.搜索流程详解 1. 先看一下Lucene的架构图 由图可知搜索的过程如下: 用户输入搜索的关键字.对关键字进行分词.根据分词结果去索引库里面找到对应的文章id.根据文章id找到对应的文章 2. L ...
- iOS开发者证书-详解
iOS开发者证书-详解/生成/使用 本文假设你已经有一些基本的Xcode开发经验, 并注册了iOS开发者账号. 相关基础 加密算法 现代密码学中, 主要有两种加密算法: 对称密钥加密 和 公开密钥加密 ...
随机推荐
- openwrt使用tailscale实现内网穿透
问题 之前一直有电信公网ip,最近发现电信公网ip被撤下来了,打电话再去要发现给的是10开头的ip,电信客服还跟我说10开头就是公网ip,= =,根本就不是,无奈使用zerotier进行打洞,把zer ...
- 昇腾迁移丨4个TensorFlow模型训练案例解读
本文分享自华为云社区<TensorFlow模型训练常见案例>,作者: 昇腾CANN. 基于TensorFlow的Python API开发的训练脚本默认运行在CPU/GPU/TPU上,为了使 ...
- SQL改写案例4(开窗函数取中位数案例)
周总找我问个报表SQL实现逻辑的案例,废话不说给他看看. 原SQL: SELECT d.tname 姓名, d.spname 岗位, d.sum_cnt 报单单量, d.min_cnt 放款单量, d ...
- python 执行脚本,并将输出打印到文件
转载请注明出处: 在使用 python 直接执行脚本时,执行的相关输出会打印到当前的控制台,如果想输出到指定的文件,可以采用以下几种方式: 1.在启动时,使用 > 操作符,该操作符会将输出写入到 ...
- 文心一言 VS 讯飞星火 VS chatgpt (135)-- 算法导论11.3 1题
一.用go语言,假设我们希望查找一个长度为 n 的链表,其中每一个元素都包含一个关键字k并具有散列值h(k).每一个关键字都是长字符串.那么在表中查找具有给定关键字的元素时,如何利用各元素的散列值呢? ...
- Welcome to YARP - 7.目标健康检查
目录 Welcome to YARP - 1.认识YARP并搭建反向代理服务 Welcome to YARP - 2.配置功能 2.1 - 配置文件(Configuration Files) 2.2 ...
- JAVAweek4
本周学习: 1.JAVA环境的搭建,包括JDK的下载,和classpath环境设置 2.*.java和*.class程序的运行 class Demo {public static void main( ...
- 【uniapp】【外包杯】学习笔记day08 | 初具雏形+后期任务
总的来说就是BBQ了,基本上前后端都有了阶段性成果,但是问题在于是否符合我们题目的要求,所以也需要进行很详细的改动,其次就是小程序的支付功能以及登录功能1还有具体配置还是不太行. 然后下载的sprin ...
- Educational Codeforces Round 101 (Rated for Div. 2) E - A Bit Similar
题目传送门 很巧妙的一道题.对于一个 \(n\)位的 \(01\)字符串,一共有 \(2^n\)种不同字符排列,对于任意一个固定排列,在 \(2^n\)种排列中只有一种排列与该固定排列处处不等,而题干 ...
- 数据驱动决策,Datainside引领可视化报告新时代
数据驱动决策已经成为当今社会中的重要趋势,而Datainside作为一家数据可视化报告平台,正引领着可视化报告的新时代.下面是关于Datainside平台的详细描述. 数据集成与连接 Datainsi ...