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开发者账号. 相关基础 加密算法 现代密码学中, 主要有两种加密算法: 对称密钥加密 和 公开密钥加密 ...
随机推荐
- 使用Python批量发送个性化邮件
前言 在现代工作环境中,我们经常需要向多个收件人发送个性化的邮件.通过使用Python编程语言,我们可以自动化这个过程,从Excel文件中读取收件人和相关数据,并发送定制的邮件. 首先,导入所需的库: ...
- 如何解决Asp.Net Core 3.1上传文件出现跨域
这个问题挺奇怪的,明明就是文件过大的问题,却出现了跨域的错误,搞不懂,有了解的大佬请指教. 但问题还是解决了,其实就是Nginx默认上传大小限制为1M,如果超出了,则出现跨域的错误. 一.自定义Ngi ...
- Python 文件处理指南:打开、读取、写入、追加、创建和删除文件
文件处理是任何Web应用程序的重要部分.Python有多个用于创建.读取.更新和删除文件的函数. 文件处理 在Python中处理文件的关键函数是open()函数.open()函数接受两个参数:文件名和 ...
- Nginx自定义日志中时间格式
背景 工作需要对接内部的日志中台,对日志打印有固定的格式要求,为了使Nginx的access日志也能被采集,需要对日志格式进行自定义,要求日志格式为: yyyy-MM-dd HH:mm:ss.SSS ...
- 学生开发者勇担青年使命,用AI守护少数人的“视界”
本文分享自华为云社区<[先锋开发者云上说]学生开发者勇担青年使命,用AI守护少数人的"视界">,作者:华为云社区精选 . 青年动人之处,在于他们的勇气,和非凡的创造探索 ...
- MIGO配置过账后自动打印
1.业务需求 本文档介绍,当MIGO发货过账时,自动打印自开发表格. 2.打印程序 复制标准配置中调用的程序和子例程,到新的程序(路径可参考下文系统配置) 只用复制子例程entry_wa01即可,参考 ...
- Java 21增强对Emoji表情符号的处理了
现一个 Java 21 中有意思的东西! 在java.Lang.Character类中增加了用于确定字符是否为 Emoji 表情符号的 API,主要包含下面六个新的静态方法: public stati ...
- 百度API学习 | day01
大作业:(2023.12.27日完成) 各位同学可根据自身情况进行选择: 选项一:根据实验一.二.三完成如下任务: 任务一:基于Jfinal构建信息管理系统,要求包含用户管理,翻译业务模块管理,图片优 ...
- 解决Spring Boot Mail无法发送HTML格式的邮件
Spring Boot版本:2.6.2 查阅spring-boot-starter-mail源码的MimeMessageHelper.setText方法,发现有个Boolean类型参数控制是否是HTM ...
- 吉特日化MES & HttpClient基础连接已经关闭: 连接被意外关闭
在吉特日化MES调用某公司AGV平台下发任务的时候,使用HttpClient 进行POST请求,出现如下异常: HttpClient基础连接已经关闭: 连接被意外关闭 , 之前已经使用HTTPCli ...