当前位置: 首页 > 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 安装…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

【机器视觉】单目测距——运动结构恢复

ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛&#xf…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...

Web后端基础(基础知识)

BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...

SQL进阶之旅 Day 22:批处理与游标优化

【SQL进阶之旅 Day 22】批处理与游标优化 文章简述(300字左右) 在数据库开发中,面对大量数据的处理任务时,单条SQL语句往往无法满足性能需求。本篇文章聚焦“批处理与游标优化”,深入探讨如何通过批量操作和游标技术提…...