【AppStore】一文让你学会IOS应用上架Appstore

news/2024/7/6 15:25:56/文章来源:https://www.cnblogs.com/nothavebug/p/18284168

前言

咱们国内现在手机分为两类,Android手机与苹果手机,现在用的各类APP,为了手机的使用安全,避免下载到病毒软件,官方都极力推荐使用手机自带的应用商城进行下载,但是国内Android手机品类众多,手机商城各式各样,做不到统一,所以Android的APP上架得一个一个平台去申请上架,一直让开发人员头疼不已,但是还是没能做到统一。但是!App Store作为苹果官方的应用商店,虽然做到了统一,审核严格周期长、上架流程复杂麻烦,也是一直让开发人员头疼不已,很多app都卡在了审核和上架这两步,那我们就要放弃iOS上架了吗?当然不是!本篇文章就是近俩天公司要上架AppStore,我顺便做了一下笔记给记录下来,我们从iOS app上架流程开始梳理,详细了解下iOS app上架的那些事。

总体流程

打开苹果开发者中心网站:https://developer.apple.com,点击右上角 Account 进行开发者账号的申请。

1.申请开发者->(个人账号、公司账号、企业账号)

2.创建AppID、Bundle ID、certificates证书、Profiles配置文件

3.生成Profiles证书、密钥证书

4.创建APP

5.打包发布

流程实现

1.因为我的账号已经申请好了,这里就没法再演示一遍了。

2.创建AppID、Bundle ID

①打开苹果开发者官网,点击Certificates

②侧边栏找到Identifiers进行创建

③这里选择App IDs,点击右上角的Continue按钮

④然后选择APP

⑤在Bundle ID处选择Explicit,填写自己项目的ID,这里填写的ID即是控制台上传证书页面需要填写的App IDs

⑥如需要支付功能、分享功能等需要在Capabilities选择Associated Domains,需要消息推送则选择Push Notifications

⑦点击右上角Continue后确认信息无误后,点击register进行注册

3.生成certSigningRequest文件

①如图,打开应用程序->实用工具->钥匙串访问

②选择从证书颁发机构请求证书

③接下来填写邮件地址,选择存储到磁盘,点击继续

④保存到桌面

4.创建发布证书

①侧边栏找到Certificates进行创建

②选择IOS Distribution (App Store Connect and Ad Hoc)

③上传刚才保存到本地的certSigningRequest文件,点击Continue

④然后点击Download下载cer证书

⑤双击证书添加到钥匙串访问

⑥右键导出证书

⑦选择导出的格式,为个人信息交换(.p12)

⑧导出证书要设置密码

5.创建APP

①选择添加APP

②填写app信息

6.打包发布

进行打包之前要进行项目配置,如果你的APP有支付/跳转功能的话,首先按照上述讲到的勾选Associated Domains,因为IOS的微信支付需要iOS通用链接

Universal Link是苹果在WWDC 2015上提出的iOS 9的新特性之一。此特性类似于深层链接,并能够方便地通过打开一个Https链接来直接启动您的客户端应用(手机有安装App)。对比以往所使用的URLSheme, 这种新特性在实现web-app的无缝链接时,能够提供极佳的用户体验。

由于苹果iOS 13系统版本安全升级,微信SDK1.8.6版本要求支持Universal Links方式跳转,以便进行合法性校验,提升安全性。

简单来说就是以前你的APP要打开其他APP是通过URLScheme实现,后来苹果提出用Https链接来启动,手机上对应的app(已安装),更方便与web-app的无缝对接。微信响应了这个方案。所以大家开发的APP无论是微信登录、微信支付,还是微信分享等一切会跳转到微信,再跳回来的场景,需要提供这个链接。要不然你的应用打开了微信,微信就打不开你的应用。

那么问题来了,这个iOS通用链接改如何获取呢?官方给出的流程是这样的:

在苹果开发者中心:开启Associated Domains服务
获取相关参数,手动创建apple-app-site-association文件
部署apple-app-site-association文件到自己的云服务器,配置SSL证书解析域名
然后手动在manifest.json中配置Associated Domains(域名)
粘贴通用链接到对应权限模块
在微信开放平台配置通用链接

其二就是使用官方给的云服务,但是我个人是不喜欢这样,这样我更感觉麻烦!

其实无非就是在你的服务器上面放上一个名为apple-app-site-association的无后缀的公共访问文件,然后文件内部配置参数即可。

因为我们公司的服务器使用的是宝塔,就以宝塔为例子吧:

拟定一个访问目录,放开这个目录的访问权限,随后新建一个文件apple-app-site-association

文件内容是

{"applinks":{"apps":[],"details":[{"appID":"你的teamID.你的Bundle ID","paths":["*"]}]}}

随后将你的该文件的访问链接(不包括该文件名)填到前端项目的manifest.json->app模块配置->Payment(支付)->IOS通用链接即可

然后点击HbuilderX的发行->原生APP云打包->ios(ipa包)->选择证书,输入导出证书时设置的密码,然后点击发布即可

发布工具的话,我自己用的是AppStore的Transporter工具,直接登录苹果开发者账号,然后选择刚才云打包生成的ipa包进行上传即可,如果你没有xcode的话,会提示你下载,如不需要选择暂不下载即可。

上述为近俩天公司上线项目个人整理内容,水平有限,如有错误之处,望各位园友不吝赐教!如果觉得不错,请点击推荐和关注!谢谢~๑•́₃•̀๑ [鲜花][鲜花][鲜花]

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于airtest生成的报告中缺少poco语句问题

1、airtest生成的报告只显示airtest的相关操作,如果是poco和airtest-selenium的操作则不记录。因此需要在报告中引用插件。支持poco语句插件,poco.utils.airtest.report 支持airtest-selenium语句插件,airtest_selenium.report2、在IDE运行 .py 脚本报告生成的依据是脚本运行…

xshell7的下载ssh远程连接

1.下载地址家庭/学校免费 - NetSarang Website (xshell.com) 2.下载后一路next,来到主页面,我们来连接一下试一试吧,这里主机就是ifconfig得到的 3.用户名一般都是root密码是自己设置的那个 4.连接的时候注意比如我要连接Node1那么node1就要保持开启并却防火墙已经关闭 5.看一…

xhcms1.0

xhcms1.0 目录结构 admin --管理后台文件夹 css --存放css的文件夹 files --存放页面的文件夹 images --存放图片的文件夹 inc --存放网站配置文件的文件夹 install --网站进行安装的文件夹 seacmseditor --编辑器文件夹 te…

关于巴图自动化Profinet协议转Modbus协议网关模块怎么配置IP地址教学

Profinet协议和Modbus协议是工业通讯常用协议,通过巴图自动化PN转Modbus网关模块(BT-MDPN10)实现连接。常见的协议有:ModbusTCP协议,Profibus协议,Profibus DP协议,EtherCAT协议,EtherNET协议,CAN,CANOPEN等Profinet协议和Modbus协议是工业领域中常用的两种通讯协议,…

基础篇:Stable Diffusion 基础原理详述

【基础篇】Stable Diffusion 基础原理详述前言我认为学习 ComfyUI 应该先从理论学起。与传统绘图工具(如 Photoshop 或 Figma)相比,AI 绘图工具有着显著不同。首先,许多设置和操作在 AI 绘图工具中是非可视化的,这意味着即使你更改了某个配置,界面上也未必会有任何变化,…

微信云开发数据库连接

//.js文件const db = wx.cloud.database()Page({//页面的初始数据data: {dataObj:"" //定义对象dataObj}, //查询数据getData(){db.collection("pro1").where({ //pro1为数据库名author:"张三" …

Camstar里拿到Grid的行数据

两种方法: 1.GridDataMode属性为Geceric的:拿到的数据直接放在datatable里,并且赋值给grid,这里我把拿来的数据放在了一个集合里,测试用的 随便写写 2.GridDataMode属性为ItemList的:这里是用了一个集合去接收datatable的值,再把集合赋值给grid这里和第一种的区别是我没有…

MQTT专题

什么是Mqtt MQTT协议 全称是(Message Queuing Telemetry Transport),即消息队列遥测传输协议。 是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,并且该协议构建于TCP/IP协议之上,我们知道TCP协议本身就具有高可靠性的特点,因此基于其上的MQTT协议同样也…

安装visual studio失败,组策略阻止安装webview2

排查安装和升级问题 - Visual Studio | Microsoft Learn 需要修改注册表 ,将 InstallDefault值改为1注册表路径 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\EdgeUpdate

appium 使用

refer to: python+appium2~inspector工具使用及定位操作元素~_哔哩哔哩_bilibili 1 APPium Inspector 可以查看Android应用的 包名 和activity 打开APP,且处于启动页面 Q1 noReset=True 设置每次APP启动 不重头 初始化环境 怎么实现呢 Q1 那我们现在用的是appium1 还是 appi…

7月11日云技术研讨会 | 车载信息安全全流程实施方案

7月11日,经纬恒润《车载信息安全全流程实施方案》云技术研讨会,与您相聚云端,不见不散! 伴随着汽车的智能网联化发展,网络攻击也逐渐渗透漫延至汽车领域,汽车行业面临着重大的信息安全挑战。此外,UNECE WP.29 R155和ISO/SAE 21434等标准也对汽车的信息安全提出了规…

基于全数字实时仿真的嵌入式DevOps解决方案

​为丰富浙江省信息技术应用创新(以下简称“信创”)产业生态,在全社会各领域形成示范效应,浙江省经信厅联合省密码管理局开展2023年浙江省深化信创典型案例评选工作。经过征集申报、专家评选、名单公示等程序,确定36个应用示范案例和24个典型解决方案。【典型解决方案】 基…

巴图自动化PN转Modbus RTU协议转换网关模块快速配置

巴图自动化推出Profinet转Modbus网关模块BT-MDPN10,实现Modbus和Profinet设备互联互通。配置简便,提高系统智能化和生产效率。工业领域中常用的通讯协议有:Profinet协议,Modbus协议,ModbusTCP协议,Profibus协议,Profibus DP协议,EtherCAT协议,EtherNET协议,CAN,CanO…

springboot+vue前后端分离项目-项目搭建7-服务器上安装部署

1.下载VMware(个人使用版),官网下载,需要先用邮箱注册,下载地址:https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware%20Workstation%20Pro 2.下载镜像dvd类型的,华为云官网下载,需要先注册,下载地址:https://mirrors.huaweicloud.com/mirro…

linux进程被杀掉日志,Linux进程突然被杀掉(OOM killer),查看系统日志

Linux进程被杀掉(OOM killer),查看系统日志 基本概念: Linux 内核有个机制叫OOM killer(Out Of Memory killer),该机制会监控那些占用内存过大,尤其是瞬间占用内存很快的进程,然后防止内存耗尽而自动把该进程杀掉。内核检测到系统内存不足、挑选并杀掉某个进程的过程可以参…

Salesforce开发入门指南:零基础学习宝典!

开发人员将Salesforce组织扩展到声明式配置之外,构建应用程序,进而优化业务运营。Salesforce开发人员通常会使用两种编程语言:Apex和JavaScript。 然而,Salesforce开发不仅仅只包括代码。为了在职业道路上脱颖而出,开发人员还需要了解声明性功能,将组织的设计和性能保持最…

Apache SeaTunnel社区首位学生Committer诞生!

采访对象 | 陈炳烨 采访人&编辑 | Debra Chen Apache SeaTunnel社区第一位学生Committer就此诞生!这位来自西安交通大学软件工程专业的同学从较为简单的文档修改工作,逐步深入到代码层面,到最后独立负责开发模块,为Apache SeaTunnel项目的发展添砖加瓦的同时,他本人也…

VMware vSphere Tanzu部署_13_创建TKC集群

1.登录tanzu集群登录语法为:kubectl vsphere login --server= --vsphere-username --insecure-skip-tls-verify$ kubectl vsphere login --server=192.168.203.194 --vsphere-username administrator@vsphere.local --insecure-skip-tls-verify登录示例jianhua@napp:~$ kubec…

“东数西算”长三角(苏州)算力调度中心正式启用!

近日,“东数西算”长三角(苏州)算力调度中心启用暨智算点亮仪式在苏州吴江区举办,在智算产业园举行了算力调度中心启用、智算点亮和智算合作签约。近日,“东数西算”长三角(苏州)算力调度中心启用暨智算点亮仪式在苏州吴江区举办,在智算产业园举行了算力调度中心启用、…