当前位置: 首页 > news >正文

iOS App的打包和上架流程

  转载:iOS App的打包和上架流程 - 掘金

1. 创建账号

苹果开发者账号几种开发者账号类型

个人开发者账号

  1. 费用:99 美元/年(688.00元)
  2. 协作人数:仅限开发者自己
  3. 不需要填写公司的邓百氏编码( D-U-N-S Number)
  4. 支持账号下的 app 上线 App Store
  5. 需要创建 Apple ID

公司开发者账号:

  1. 费用:99 美元/年(688.00元)
  2. 允许多个开发者协作开发
  3. 需要填写公司的邓百氏编码( D-U-N-S Number)
  4. 该账号下的 app 可上线至 App Store
  5. 需要创建 Apple ID

企业开发者账号:

  1. 费用:299 美元/年(1988.00元)
  2. 允许多个开发者协作开发
  3. 需要填写公司的邓百氏编码( D-U-N-S Number)
  4. 该账号下的 app 不能发布到 App Store 中
  5. 需要创建 Apple ID
  6. 注:企业账号申请特别困难

申请 AppleID

申请 Apple ID 

注册时填写的主要信息:姓氏、名字、国家、出生日期、邮箱、密码、密码保护问题、图片验证码,邮箱验证码。注意填写的内容必须为全英文,不得出现中文。

注册完成以后记得登陆apple设备开启双重验证

申请邓白氏码(个人开发者账号不需要)

打开 查找D-U-N-S 编号 

申请华夏邓白氏需要填写的表单信息

  • 公司英文名
  • 街道
  • 城市
  • 邮编
  • 联系电话
  • 联系人信息:姓名,电话(有可能打电话确认),邮箱(与华夏邓白氏交流的邮箱,收到确认邮件及时填写公司信息有时间限制,)
  • 营业执照
  • 公章

等待邓白氏申请成功

编码申请成功后,邓白氏公司会把DUNS编码发送到workEmail邮箱中,等待7-14天使用就好了(苹果和邓白氏公司不是一个系统,需要等待他们数据同步)

DUNS编码申请成功后,等待7个工作日(注意不是一个礼拜~)再去继续申请公司开发者账号吧!

申请开发者账号

  1. 直接在App Store搜索开发者app,登陆你上面申请的Apple ID即可(现支持微信、支付宝支付)

  1. 或者去Apple ID官网 Apple ID  进行申请
  • 后面申请主要按照提示,给个人信息、身份验证等
  • 如果是公司还需要公司的一些基本信息+DUNS编码
  • 基本上到这里等待申请成功基本就ok了,现在(2021-09)申请基本信息没问题一天就ok了

2. 申请签名证书(钥匙串访问)

  • 意义就是签名,也是因为有Apple特有的签名机制,让app更为安全的
  1. 打开 Mac app 的钥匙串访问

  1. 颁发证书

  1. 以下两个信息可以随便填(主要是做一个标识)

  1. 直接存储到磁盘,直接是一个 CertificateSigningRequest.certSigningRequest 这样的文件即可

3. 先在  Apple Developer  申请证书

  1. 登陆开发者账号
  2. 进入到account页面

  1. 先创建ID

我们主要是发布 App Store的app,选第一个就够了

  1. 创建证书 -证书我们做iOS应用下面两个就够用,其他就是Mac app 通用证书等。

  1. 创建证书下一步就要选取我们钥匙串申请的文件上传就好了

我们可以看到

一般的方法是申请到.cer证书然后再用钥匙串助手转换p12,需要用到苹果Mac电脑,过程比较复杂。Appuploader可以辅助在Windows、linux或mac系统直接申请iOS证书p12,及上传ipa到App Store,最方便在Windows开发上架没有苹果Mac电脑的开发者!无需钥匙密钥。

IOS证书制作教程

点击苹果证书 按钮



 

点击新增


 

输入证书密码,名称

这个密码不是账号密码,而是一个保护证书的密码,是p12文件的密码,此密码设置后没有其他地方可以找到,忘记了只能删除证书重新制作,所以请务必记住密码。还有为了安全起见,密码不要太简单。
证书名称是你为了在证书列表里面便于区别的一个字符,自己好辨识就可以,尽量是是字母和数字之类


 

选择证书类型

 带distribution的是发布类型,带development的是开发类型。apple类型=ios+mac,所以开发时选择ios app development和apple development 类型都是可以的 


 

选择bundle ID

只有部分类型的证书需要选择bundle id,例如推送证书。因为大部分证书是不和app关联的。而是通过描述文件profile文件关联app。


 

使用appuploader服务同步

如果期望制作好证书后在其他电脑上同样可以下载到这个证书,或者和你同事同步此证书,则需要勾选使用appuploader服务同步。否则您需要手动管理p12文件在不同电脑之间的传输,并且一但创建下载后,无法在其他电脑下载,只能手动复制文件过去。一般情况下,推荐使用appuploader服务同步。


 

证书类型说明

IOS开发选择apple development或者ios app development 类型
ios 发布选择 apple distribution或者 ios distribution (app store and ad hoc)
开发推送证书选择 apple push notification service ssl (sandbox)
发布推送证书选择 apple push notification service ssl (sandbox & production)

其他证书不是很常用,可以自行百度各种证书说明

回复

  1. 配置文件,顾名思义就是配置正式环境和测试环境的配置文件,比如配置推送等

选中我们上面创建的ID

选中申请的证书(关联)

如果你是新账号,第一次创建开发者证书,还需上传device ID,就是你要测试的手机

用数据线,连上Xcode,在devices里查看 identifier

  1. 创建证书、配置文件、id、device基本到这里就完成了,后面需要吧证书和配置文件下载下来双击安装;证书会安装到钥匙串,配饰文件是安装到xcode,就是证书和Xcode关联的bundle ID的app建立证书关系

  2. 在xcode里选中你配置的文件,即可运行你的app这真机上

小技巧

在创建id 的时候可以创建通配符 、或者直接写一个,代表任意app,避免,每一次我们该一个包名需要测试的时候都要去创建了一个id

当然在最新的xcode 中,也可以直接 fixed

4. 在 App Store Connect  创建app

如果需要申请内购,需要在协议、银行信息里填写银行卡相关信息

我的app去创建app

基本信息

  • 标题
  • 副标题
  • 分类
  • 评级

价格于销售范围

  • 销售的地区可供选择
  • 设置App Store的价格

在准备提交里需要填写App Store需要展示的信息

  • 预览图
  • logo
  • 描述
  • 一些审核信息

如果需要申请内购需要点击申请内购信息

  • 名称
  • id 唯一标识,代码中通过这个查到当前那个
  • 弹出窗口展示的信息
  • 内购审核信息

如果需要测试内购信息,需要注册沙盒测试账号

  • 填写基本信息,一个沙盒测试账号只能在一个开发者账号下使用

设置完成去看电子邮箱里,直接点击链接去完成就ok了

登陆你设置的密码,继续即可

验证成功就可以使用你的沙盒账号测试内购了

5. XCode 打包上架

直接打包,主要配置的bundle id 需要和开发者中设置的一样,版本号也要和App Store connect里设置的一样

最后在你构建完成,去App Store connect 查看添加构建的版本,提交审核即可

ending 大功告成,等待审核通过吧~

相关文章:

iOS App的打包和上架流程

转载:iOS App的打包和上架流程 - 掘金 1. 创建账号 苹果开发者账号几种开发者账号类型 个人开发者账号 费用:99 美元/年(688.00元)协作人数:仅限开发者自己不需要填写公司的邓百氏编码( D-U-N-S Number…...

Net6中遇到的一个很奇葩的问题

先来看一段代码,是控制台应用程序 internal class Program{static void Main(string[] args){Test().Wait();}private static async Task Test(){await Task.Run(() >{Debug.WriteLine("线程内输出");});Debug.WriteLine("线程外输出");}}执…...

2940. 花坛的最小改变次数

Powered by:NEFU AB-IN Link 文章目录 2940. 花坛的最小改变次数题意思路代码 2940. 花坛的最小改变次数 题意 略 思路 首先需要区间查询gcd,想到st表 其次思路,固定左端点,二分右端点,找gcd与区间长度相等的右端点,个…...

安装源代码 QT 4.8.7

在centos7.9.2009 (Core)操作系统上,安装qt 4.8.7 查看centos版本:cat /etc/centos-release 安装g:sudo yum install gcc gcc-c g版本查看(gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)):g -v 先安装…...

PINN学习与实验之拟合sin(x)

首先给出数学上的知识。 1. 2. 3. 其次给出PINN最基础的理解与应用说明。 1.PINN中的MLP多层感知机的作用? 答:目的是用来拟合出我们需要的那个 常微分方程,即函数逼近器。 2.PINN中物理信息的作用? 答:用于约束MLP反向…...

Java中进制转换的两种方法你知道吗?

目录 十进制转其他进制 其他进制转十进制 实战: A进制转B进制 关于大数运算可以参考躲不掉的高精度计算,蓝桥杯必考_高精度算法在哪些比赛考_无忧#的博客-CSDN博客 十进制转其他进制 使用 Integer.toString(int n,int radix) 方法,该方法…...

Qemu搭建ARM Vexpress开发环境

Qemu搭建ARM Vexpress开发环境 文章目录 Qemu搭建ARM Vexpress开发环境Qemu简介QEMU安装前的准备工作QEMU 安装的两种方式通过网络在线安装源码编译安装源码获取QEMU依赖库安装编译安装 命令选项qemu的标准选项qemu显示选项网络属性相关选项kvm的网络模型 Ubuntu 双网卡&#x…...

JMM如何实现volatile写/读的内存语义

内存屏障类型表 StoreLoad Barriers是一个“全能型”的屏障,它同时具有其他3个屏障的效果。现代的多处理器大多支持该屏障(其他类型的屏障不一定被所有处理器支持)。执行该屏障开销会很昂贵,因为当前处理器通常要把写缓冲区中的数…...

Smali的使用技巧:快速定位Android应用程序中的关键代码

简述 Smali是一种Android应用程序的Dalvik虚拟机指令集汇编语言,用于编写和修改应用程序的DEX文件。通过编写和修改Smali代码,可以实现对Android应用程序的定制化和逆向分析。Smali语言类似于汇编语言,直接操作Dalvik虚拟机指令集。 Smali代…...

04_两种常见的网页反爬措施及应对方法

一、封禁IP地址反爬 1、应对思路: 理解这种反爬方法的含义:当我们用自己电脑的ip地址短时间,高频率访问某个具有此类反爬设置的网站,这种网站就会把我们的ip地址封禁,一般都是封24小时或者其他时间。解决方案:通过代理ip访问,这种方式只不过就是让你有了重新访问网页的…...

安装docker环境,并制作docker镜像

docker环境安装 进入linux虚机后,安装docker环境,制作docker镜像并运行,进入运行中的容器,查看挂载的日志或报告 1.安装docker sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 2.使用docker仓库安装…...

MySQL数据库 – node使用

1 MySQL查询对象 2 MySQL查询数组 3 mysql2库介绍使用 4 mysql2预处理语句 5 mysql2连接池使用 6 mysql2的Promi 这里仅说明如何使用服务器连接数据库并进行操作。 预处理语句就是可以输入变量的语句(表现形式是有符号:?)。需…...

JAVA使用HTTP代码示例模板

以下是一个使用Java发送HTTP请求的示例代码: java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class HttpExample { public static void main(String[] args) { try…...

elementui tree 支持虚拟滚动和treeLine (下)

​ 由于我之前没有发布过npm 包,这里还得现学一下。 参考资料: 链接: 如何写一个vue组件发布到npm,包教包会,保姆级教学链接: vue组件发布npm最佳实践 按照上面的步骤,我通过 vue-sfc-rollup 生成了项目,…...

富人父母都教给孩子什么样的财富思维?

1.认清金钱的价值和作用,不要否认或忽视它对生活的影响。 2.提高社交能力,学会与不同的人沟通和合作,扩大人脉和资源。 3.理性消费,让钱在流动中产生效益,而不是囤积或浪费。 4.释放自己的欲望,追求自己想要…...

国内比较火的报表工具测评——Smartbi电子表格软件和Finereport

最近在学习BI软件,因为最近工作中需要开发报表,因此选用了国内市场比较热门的报表工具——Finereport和Spreadsheet进行学习。 BI软件经常会定期发布新的版本,增加新的功能模块,或者对现有功能进行增强,提升运行效率。…...

变电所运维云平台在电力系统中的应用

安科瑞虞佳豪 变电所运维云平台可以看做是电力监控系统的网络应用延伸,变电所运维云平台通过互联网,电力运维人员通过手机可以随时随地了解工厂配电系统的运行情况,做到无人值守或者少人值守,同时可以监测用能状况、漏电、线缆异…...

【51单片机】AT24C20数据帧(I2C总线)

🎊专栏【51单片机】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Love Story】 🥰大一同学小吉,欢迎并且感谢大家指出我的问题🥰 小吉先向大家道个歉,因为最近在期末…...

Python内置函数isinstance()函数介绍

Python内置函数isinstance()函数介绍 isinstance() 函数是Python内置函数,来判断一个对象是否是一个已知的类型,返回值为布尔值True或False。其语法格式: isinstance(object, classinfo) 【官方说法https://docs.python.org/zh-cn/3/librar…...

QxRibbon 知:搭建 CMake 构建环境

文章目录 前言安装 cmake问题处理qtcreator 检测 CMake 异常 参考资料 前言 高版本的 QtCreator 已经集成了 cmake 工具,并支持以 CMakelists.txt 文件作为工程开发项目。 https://www.qt.io/blog/2019/07/30/update-on-cmake-project-support-in-qt-creator 安装…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...