前言

咱们国内现在手机分为两类,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的话,会提示你下载,如不需要选择暂不下载即可。

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

【AppStore】一文让你学会IOS应用上架Appstore的更多相关文章

  1. (转))iOS App上架AppStore 会遇到的坑

    iOS App上架AppStore 会遇到的坑   前言:非原创 文章摘自:http://zhuanlan.zhihu.com/100000PM/20010725 相信大家一定非常「深恶痛疾」AppS ...

  2. iOS App上架AppStore 会遇到的坑

    前言部分 前言:非原创 文章摘自:http://zhuanlan.zhihu.com/100000PM/20010725 相信大家一定非常「深恶痛疾」AppStore的一系列产品上架规则.每次产品上架 ...

  3. ios app 上架AppStore

    一.证书的导出      1.1 前期工作        首先你需要有一个苹果的开发者帐号,一个Mac系统.        如果没有帐号可以在打开http://developer.apple.com/ ...

  4. Hbuilder用自有证书打包 ios App上架AppStore流程

    最近在用Hbuilder做跨平台开发,经过一番研究终于在苹果商店上架成功了一款产品!这款产品就很简单,直接用hbuilder打包好,然后上传到商店即可.这里参照ios app提交应用商店 这篇文章结合 ...

  5. 最新Xcode7.x环境下上架iOS App到AppStore 完整流程

    最新Xcode7.x环境下上架iOS App到AppStore 流程  part 1 前言部分 之前App要上架遇到些问题到网上搜上架教程发现都是一些老的版本的教程 ,目前iTunesConnect ...

  6. 47.iOS跳转AppStore评分和发送邮件

    1.跳转到AppStore评分 应用地址是关键:IOS 设备,手机搜索应用,拷贝链接 NSString *appStr =@"https://itunes.apple.com/cn/app/ ...

  7. 三文搞懂学会Docker容器技术(中)

    接着上面一篇:三文搞懂学会Docker容器技术(上) 6,Docker容器 6.1 创建并启动容器 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] --na ...

  8. 三文搞懂学会Docker容器技术(下)

    接着上面一篇:三文搞懂学会Docker容器技术(上) 三文搞懂学会Docker容器技术(中) 7,Docker容器目录挂载 7.1 简介 容器目录挂载: 我们可以在创建容器的时候,将宿主机的目录与容器 ...

  9. 3天时间从零到上架AppStore流程记录

    3天时间从零到上架AppStore流程记录 清明假期刚过去一周,我如愿以偿把自己想要的一个App上架了AppStore 从有idea到技术选型,从设计稿到框架开发,从提审AppStore到上架一共经历 ...

  10. iOS App上架流程(2016详细版)

    iOS App上架流程(2016详细版) 原文地址:http://www.jianshu.com/p/b1b77d804254 感谢大神整理的这么详细 一.前言: 作为一名iOSer,把开发出来的Ap ...

随机推荐

  1. idea修改项目中某个模块名称

    1.修改模块名称 2.修改文件夹名称 3.修改本模块里面pom的名称 4.修改其他模块里面引用的名称

  2. kettle使用2-增量插入

    1.新建转换 2.在DB连接中,新建2个数据库连接 3.在输入中,新建:表输入 4.在输入中,新建:表输入 5.在输出中,新建:表输出

  3. C#TMS系统学习(ShippingNotice页面)

    C#TMS系统代码-业务页面ShippingNotice学习 学一个业务页面,ok,领导开完会就被裁掉了,很突然啊,他收拾东西的时候我还以为他要旅游提前请假了,还在寻思为什么回家连自己买的几箱饮料都要 ...

  4. PageOffice 6 版本最简单的打开保存文件

    在OA办公.文档流转等各个Web系统中,实现最简单的打开编辑保存文件功能,调用PageOffice只需要几行代码就可以完成. 后端代码 在后端编写代码调用webOpen方法打开文件之前给SaveFil ...

  5. zabbix第二篇

    常用命令 查看版本 [root@zabbix001 xx]# zabbix_server -V zabbix_server (Zabbix) 4.2.8 Revision cb5d5b10f4 28 ...

  6. MYSQL造数据占用临时表空间

    在MySQL中,临时表空间通常用于存储如ORDER BY.GROUP BY.DISTINCT.UNION.JOIN等操作中产生的临时数据.当这些操作的数据集太大而无法在内存中完成时,MySQL会使用磁 ...

  7. linux time测试命令的运行时间

    在linux中,time命令是用来测试命令的运行时间的,命令的运行时间有三种: ​ real:实际使用时间,该时间包括进程执行时实际使用的 CPU 时间,进程耗费在阻塞上的时间(如等待完成 I/O 操 ...

  8. 5款超好用的AI换脸软件,一键视频直播换脸(附下载链接)

    随着AIGC的火爆,AI换脸技术也被广泛应用于娱乐.广告.电影制作等领域,本期文章系统介绍了市面上超火的5款AI软件 换脸整合包收录了全部5款AI工具,请按照需要选择下载: 百度网盘:https:// ...

  9. 如何在Windows上一键部署PaddleOCR的WebAPI服务

    PaddleOCR旨在打造一套丰富.领先.且实用的OCR工具库,助力开发者训练出更好的模型,并应用落地. 官方​开源项目地址:PaddlePaddle/PaddleOCR: Awesome multi ...

  10. LLM 大模型学习必知必会系列(十):基于AgentFabric实现交互式智能体应用,Agent实战

    LLM 大模型学习必知必会系列(十):基于AgentFabric实现交互式智能体应用,Agent实战 0.前言 **Modelscope **是一个交互式智能体应用基于ModelScope-Agent ...