IOS上架流程详解,包含审核避坑指南!

news2025/1/10 11:36:48

准备

  • 开发者账号
  • 完工的项目

上架步骤

  • 一、创建App ID
  • 二、创建证书请求文件 (CSR文件)
  • 三、创建发布证书 (CER)
  • 四、创建Provisioning Profiles配置文件 (PP文件)
  • 五、在App Store创建应用
  • 六、打包上架

一、创建App ID

  • 1.打开苹果开发者网,点击“Account”登录会员中心

  • 2.填写信息创建app ID
     

二、创建证书请求文件(CSR文件)
CRS文件主要用于 绑定你的电脑的
 

  • 点开LaunchPad,在其他中找到打开钥匙串访问

  • 点击电脑左上角的钥匙串访问–证书助理–从证书颁发机构请求证书

  • 出现如下界面,选择存储到磁盘,点击继续

  • 选择存储到桌面,存储

  • 点击完成

  • 在桌面上看到下面的文件,证书请求文件完成
     


三、创建发布证书 (CER文件)

  • 找到Certificates ,点击All,然后点击右上角 + 号
     

  • 点击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文件

  1. 找到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,刷新页面,在构建版本处就会有个 + 号,点击 + 号把发送过来的程序添加上去就行了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/602524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

又一运维利器:资源监控微应用

过去几个月,优维在新的资源监控微应用相关能力的研发上投入大量的时间与精力。 上周三,优维专门召开了一场资源监控微应用发布会,介绍了优维的监控微应用的功能亮点和后续规划。 下面就跟着鹿小U一起来具体了解一下。 01 过去&#xff0c…

需求不完备测试解决方案——分布式微服务架构测试实践

1痛点和研究背景 目前随着分布式核心下移和小型机下线的趋势,主流系统架构已逐步演变为CCETDSQL。而在这一演进过程中也陆续暴露出来一些痛点难点问题,需要我们着力解决。为此,我们聚焦于分布式架构下需求、架构、数据这三个方面的痛点问题探…

【Linux驱动】VScode 环境简单配置

在开始编写驱动之前,我们需要保证良好的编码环境,这里编写代码所使用的编辑器是VScode,如果进行环境配置,可能会提示很多错误,比如头文件找不到、内核函数的定义无法跳转等等。 VScode 在这里只作为编辑器使用&#x…

Springboot配置Yml多环境

文章目录 学习链接前言pom.xmlapplication.ymlapplication-dev.yml 开发环境配置application-prod.yml 线上环境配置logback.xml 日志配置 学习链接 easypan Spring Boot手把手教学(2):使用yml多环境配置和创建多环境profile打包 springboot 配置多环境使用yml配置…

自动化测试介绍和分类,看这一篇就够了

自动化测试介绍及分类 什么是自动化测试? 自动化测试是软件测试活动中一个重要的分支和组成部分,即利用工具或脚本达到测试目的,没有人工或者极少人工参与的软件测试活动称为自动化测试. 自动化测试的优势有哪些? 方便进行回归测试,当软件的版本发布比较频繁的时候,自动化…

平台工程是 DevOps 的未来

Gartner 预测到 2026 年时,将有 80% 的软件工程组织会建立平台团队 DevOps 与平台工程 DevOps 是一种文化和理念。平台工程,是我们实现**“谁构建、谁运行”**的唯一方式。这是 DevOps 的核心初衷,也是后来企业级规模和云原生时代的实现基础…

游泳健身馆预约小程序开发 助力门店拓客引流

暑假快要到了,很多游泳健身馆都想方设法来招揽顾客,其实无论是派发传单还是媒体投放,都不如开发一款游泳健身类预约小程序来的好。因为有了健身游泳小程序系统不仅能够起到很好的推广宣传效果,对于日后的经营发展也有诸多好处。 …

javaEE在2023年5月21知识复盘(一)

今天讲述了doget()、doPost()方法,介绍了里面参数req,resp的一些实用方法 getParameter()获取请求参数 getParameterValues() 返回参数数组 【post方式】 设置编码格式 req-> setCharacterEncoding() resp->SetContent-Type(“text/html;charsetutf-8”) 获取…

SpringBoot + minio实现文件切片极速上传技术(敢说全网整合完整度前三)

一. 概述 提示:请不要多个博客来回跳着看,此文章之详细绝无仅有,融合多家之长,如果遇见报错,请仔细捋一遍文章,不要忽略!我在写的时候因为许多文章不全面,来回跳遇见许多坑&#xf…

Java 集合,你肯定也会被问到这些

作为一位小菜 ”一面面试官“,面试过程中,我肯定会问 Java 集合的内容,同时作为求职者,也肯定会被问到集合,所以整理下 Java 集合面试题 说说常见的集合有哪些吧? HashMap说一下,其中的Key需要重…

傻子都能学会的LNMP部署

LNMP 一、安装 Nginx 服务1、安装依赖包2、创建运行用户3、编译安装4、优化路径5、添加 Nginx 系统服务 二、安装 MySQL 服务】1、安装Mysql环境依赖包2、创建运行用户3、编译安装4、修改mysql 配置文件5、更改mysql安装目录和配置文件的属主属组6、设置路径环境变量7、初始化数…

接口测试测什么?一个简单问题把我难住了

那么设计测试用例时我们主要考虑如下几个方面: 一、功能测试 接口的功能是否正确实现了 接口是否按照设计文档中来实现(比如username参数写为了user,那么这就不符合,因为接口文档在整个开发中都需要使用,所以接口实…

MEX 文件 ‘lsd.mexw64‘ 无效: 找不到指定的模块。问题解决方法

问题描述 在跑MATLAB和C混合编程的一个算法时,出现了如下错误: MEX 文件 C:\Project\final code\reference code\lsd.mexw64 无效: 找不到指定的模块。 如下图所示: 原因分析 根据资料[1]的说法,*.mexw64文件无效可能的原因是缺…

GitLab从旧服务器迁移到新服务器(空间不足,gitlab安装报错)

注意事项:迁移前首先要保证新旧服务器上的GitLab版本号一致,而且gitlab的包要符合安装的系统gitlab安装,系统与安装包不一致导致的安装错误。 1.查看当前GitLab版本 cat /opt/gitlab/embedded/service/gitlab-rails/VERSION显示为 12.5.5。…

Linux之Ubuntu 22.04实现微信双开

Linux之Ubuntu 22.04实现微信双开 基于deepin-wine仓库安装第一个微信添加仓库安装对应软件包com.qq.weixin.deepin 微信的安装存在的问题补充 Linux下使用模拟器进行微信多开(可取?)下载Linux模拟器下载完成打开: 安装第二个微信…

zookeeper机制及消息队列kafka集群部署

目录 一、zookeeper1、zookeeper简介2、zookeeper特点3、zookeeper工作模式及机制4、zookeeper应用场景及选举机制5、zookeeper集群部署 二、消息队列kafka1、为什么要有消息队列2、使用消息队列的好处3、kafka简介4、kafka特点5、kafka系统架构名词介绍6、Kafka架构及流程7、k…

技术分享 | 如何编写同时兼容 Vue2 和 Vue3 的代码?

LigaAI 的评论编辑器、附件展示以及富文本编辑器都支持在 Vue2(Web)与 Vue3(VSCode、lDEA)中使用。这样不仅可以在不同 Vue 版本的工程中间共享代码,还能为后续升级 Vue3 减少一定阻碍。 那么,同时兼容 Vue…

Shell脚本攻略:文本三剑客之grep

目录 一、理论 1.grep 2.sort 3.uniq 4.tr 5.cut 6.split 7.paste 二、实验 1. grep 2.sort 3.uniq 4.tr 5.cut 6.split 7.统计当前主机的连接状态 8.统计当前连接主机数 一、理论 1.grep (1)概念 grep是Linux中最常用的”文本处理工…

Redis-主从复制以及哨兵

前言 ​ 要避免单点故障,即保证高可用,便需要冗余(副本)方式提供集群服务。而Redis 提供了主从库模式,以保证数据副本的一致,主从库之间采用的是读写分离的方式。在 Redis 主从集群中,哨兵机制…

共享打印机出现文件无法打印|0X00000709错误的解决方案|win7 win11

现在办公室通常会使用打印机共享功能,在使用打印机共享中会出现在[文件无法打印,因为在“\ip\打印机名 在Ne02:”上发生错误] 这时,我们输入相应IP重新共聚共享端打印机,就会出现“0X00000709”的错误。 回到共享端…