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

Uni从开发到上架IOS APP一站式流程(包含测试、正式证书 | 自定义基座 | Apple登录 | Apple与微信登录、分享对接 | APP备案 | 上线审核步骤)

目前网络上好多IOS上架的文章年份都比较早了很多流程与实际操作有些出入这里我总结了一些我在上架过程中踩到的坑并把全程记录。一、准备工作IOS APP开发比较复杂 需要具备一定的前提条件开发阶段1.Apple Developer 开发者账号99美刀/年需要事先购买否则无法进行IOS测试2. IOS手机一部用于实机测试3.Mac电脑证书申请4.开发使用电脑Mac或Window都可上架阶段1. IOS6.5英寸或6.9英寸的机型6.5英寸Iphone X - 13 PM 6.9英寸Iphone 14 - 17PM2.Mac电脑用于上传IPA文件二、测试证书、描述文件、.p12私钥前言该环节特别重要 涵盖到了从开发到测试到上架的核心内容该环节内容1.获取APP的 Bundle ID2.获取开发证书及私钥证书文件3.添加IOS测试账号4.获取APP描述文件1.登录Apple Developer官网Apple Developer 中文官网https://developer.apple.com/cn使用Apple开发者账号进行登录这里就不对账号的购买流程进行详细描述个人开发者账号$99/年 申请较为简单公司开发者账号$99/年需要部分资质如软著企业开发者账号$299/年登录后查看《证书、标识符和描述文件》首先点击《标识符英文》选项进行App标识申请2.APP ID申请identifiers1点击号 新增一个App ID2这里选择App IDs 直接点击Continue下一步3选择APP 然后继续Continue下一步4填写APP Bundle ID这里需要注意一下Description是APP的描述可以理解为你给你的APP取的名字这个名字是给自己看的可以随意编写。Bundle ID 这个很重要 可以理解为APP的唯一标识符 后续会频繁使用格式为com.作者.app名称 中间可以填写个人名字或者公司名字 最后填写app名称5对APP功能进行选择这里我用到了第三方登录微信登录所以需要勾选Associated Domains和Sign In with AppleApple强制要求接入第三方登录必须接入Apple登录所以这两个选项几乎是绑定的。后续也可以对APP的选项进行修改无需过度纠结这部分内容勾选后点击Continue下一步6对APP的内容进行确认确认自己填写的内容如果有误可以点击Back上一步进行修改无误后点击Register确认之后自己的APP就会被添加到identifiers队列中3.测试证书申请(Certificates)1生成证书请求文件需使用Mac电脑①打开钥匙串访问应用在访达的应用程序内搜索 ”钥匙串访问“ 打开该应用②从证书编发机构请求证书点击顶部的 ‘钥匙串访问’ -- ‘证书助手’ -- ‘从证书编发机构请求证书...’③填写证书信息并保存填写一下个人或者公司的电子邮箱不用纠结随意一个即可 没有什么区别填写常用名称也不用纠结随意即可请求选择 存储到磁盘 点击继续将文件保存到电脑选择自己熟悉的位置后续需要使用2生成证书①新建Certificate回到一开始的页面 点击Certificates 并点击号创建新的证书②选择Software这里选择IOS App Development App测试 之后点击Continue下一步③上传证书请求文件点击Choose File选择刚才生成的证书请求文件并点击上传确认证书上传情况 之后点击Continue 下一步④确认信息证书信息并下载确认信息无误后 点击Download下载证书 会下载一个.cer文件保存到自己熟悉的目录后续需要使用4.获取.p12私钥证书1无法导出.p12文件解决方案这里我先讲一下这一步最容易陷入的坑我观察到很多朋友也有相同的问题在许多官方文档上并未提及该解决方案。在导入.cer文件后无法导出为.p12文件 核心问题在于导入的位置不对需要将.cer文件导入到 ‘登录’ -- ‘我的证书’内 再次导出 即可导出.p12文件下面按照我的步骤来一步就能完成比官方文档简洁许多2将certificates内生成的.cer文件导入到钥匙串访问同时开两个窗口 一个是文件目录 一个是钥匙串访问将钥匙串访问的位置直接设置为 登录 -- 我的证书然后直接拖动该文件到我的证书目录下 一步完成导入这里我演示使用的证书是提前生成的无需在意文件名只需要使用到你自己生成的.cer文件即可3导出.p12文件按照我的方法进行导入百分之百可以导出.p12文件选择刚才导入的证书 右击选择导出文件点击文件格式 选择个人信息交换(.p12)输入证书私钥密码这个密码很重要需要妥善保存之后选择自己熟悉的目录位置进行存储即可后续需要使用 妥善保存5.添加测试IOS账号DevicesIOS的APP开发需要绑定对应的IOS手机 否则在测试APP安装到手机时会报错无法进行测试工作(1)准备工作获取IOS手机的 UDID在添加测试账号之前需要先获取到测试手机的UDID有许多种方式可以获取到UDID大家可以在网上自行查阅这里我讲解一种比较方便的方式需要工具1.Window电脑2.IOS手机3.连接电脑与手机的数据线①在Window电脑上安装爱思助手爱思助手官网-安全好用的苹果设备管理软件https://www.i4.cn/②连接Window与IOS手机将电脑与手机连接并信任电脑将权限提供给爱思助手当爱思助手显示手机时则表明连接成功点击查看设备详情在偏上的位置即可查看手机的UDID 需要记录下来 后续添加测试账号会使用2添加Devices回到最开始的页面点击Devices 点击加号新增填写Device Name只是自己需要看的标识随意填写自己记住就行填写UDID 填写第一步拿到的手机UDID 点击Continue下一步在Continue后 再次点击Register确认即可确认后会在 Devices列表内显示你添加的数据6.生成APP描述文件Profiles1新建Profiles返回主页面 点击Profiles 点击新建2选择描述文件类型选择IOS App Development测试描述 点击Continue下一步3选择App ID(在步骤二-2中获取) 选择之前设置好的App ID 点击Continue下一步4选择证书在步骤二-3中获取选择之前设置好的证书Certificates 点击Continue下一步5选择测试的IOS手机在步骤二-5中获取可以对需要测试的账号进行逐个选择也可以直接点SelectAll 之后点击Continue下一步6设置并生成Profile填写文件名称仅标识作用随意即可之后点击Generate生成文件7下载App描述文件点击“Download”下载保存开发描述文件文件后缀为 .mobileprovision三、自定义基座打包与运行前置条件1.Profiles中下载的.mobileprovision文件2.Devices中添加的IOS测试手机3.Certificates中下载的.cer文件所导出的.p12文件4.identifiers中添加的App Bundle ID5.uni-app项目的manifest.json基础配置完成(如果未完成可根据打包时的提示修改非常简便)1.自定义基座打包打开HbuilderX编译器进入到开发的项目根目录在顶部操作栏点击发行 --App-Android/iOS-云打包点击IOSipa包输入BundleID步骤二-2中获取选择支持iPhone选择profile文件(文件后缀为 .mobileprovision)(步骤二-6中获取)选择私钥证书(文件后缀为.p12)(步骤二-4中获取)输入.p12文件对应的密码步骤二-4中获取选择 自定义调试基座 点击打包2.在真机上运行自定义基座需要使用数据线将添加过测试Devices的IOS手机连接到电脑启动HbuilderX编译器 在项目根目录点击运行 -- 运行到手机或模拟器 -- 运行到iOS App基座编译器会自动识别连接的IOS手机 点击使用自定义基座运行 -- 本地基座刚才打包的自定义基座编译器会自动在手机内下载测试APP注意IOS手机需要打开 开发者模式 才能够访问测试APP打开 设置 应用进入 隐私与安全性滚动到底部找到 开发者模式开启开关根据提示重启设备重启后确认启用开发者模式四、IOS App对接微信登录需要材料1.APP ID步骤二-2中获取2.Bundle ID 步骤二-2中获取3.APP创建时勾选Associated Domains服务如果未勾选可以编辑勾选后续只需要重新生成一下Profiles描述文件即可1.编写apple-app-site-association文件先查看自己所创建的APP信息 在identifiers页面点击自己创建的对应的APP名称进入详情点击进入后查看APP ID 和Bundle ID 注意不需要携带括号内的内容新建一个名为apple-app-site-association的文件无文件后缀注意 两个ID之间用. 点连接 不要有空格{ applinks: { apps: [], details: [ { appID: 你的APPID.你的BundleID, paths: [*] } ] } }示例2.放置并配置文件将该文件放置在服务端的服务器上目录可选择为1. 可放置在根目录下.well-known/apple-app-site-association2.可直接放置在根目录配置接口映射文件将文件内容通过接口形式返回注意接口要求必须支持HTTPS访问不应对该文件设置HTTP重定向Content-Type应为application/json获取到后端提供的接口例如https://www.你的网址.com/ulink3.与微信对接打开微信开放平台微信开放平台https://open.weixin.qq.com/在“管理中心”页面的“移动应用”下找到已经申请的应用没有申请应用请点击“创建移动应用”新建应用点击“查看”打开应用详情页面。 在“开发信息”栏后点击修改在“iOS应用”下的“Universal Links”项中配置应用的通用链接注意这里有坑微信要求UnlversalLinks必须已 / 结尾 所以link应该写成https://www.你的网址.com/ulink/4.在uni-app配置UnlversalLinks打开HbuilderX编译器打开manifest.json 下拉直接看源码识图这里直接使用源代码填写无需进行可视化编辑可视化编辑比较复杂在app-plus -- sdkConfigs--oauth--weixin--UniversalLinks填写https://www.你的网址.com/ulink/注意这里填写也需要携带 / 无论在浏览器是否打得开该文件必须要跟微信平台审核提交的link保持一致也可以在share中同样配置微信的Links 可同时支持微信分享功能五.App上架前准备正式证书、描述文件、备案在App上架审核前需要重新申请一边正式证书和描述文件并根据证书内容进行APP工信部备案1.获取正式证书和描述文件1获取正式证书在Certificates新建证书选择software的 iOS Distribution 点击下一步选择步骤二时创建的请求证书文件生成正式环境证书点击Download下载使用相同的方式 导入到钥匙串访问 然后导出.p12文件妥善保存2获取正式描述文件在Profiles页面内 点击号新建在Distribution中选择App Store选择自己的APP信息选择刚才生成的正式证书之后输入描述下载即可妥善保存2.IOS APP备案在APP上架审核时只要上架中国大陆必须提供工信部审核的ICP备案号所以这里是必选项如果没有备案则无法通过审核。网站备案_ICP备案_备案迁移_App备案_小程序备案_备案-阿里云https://beian.aliyun.com/?utm_contentse_1021887597按照阿里云的ICP备案流程可以很快速的进行备案信息的填写这里比较难的是获取APP证书的SHA-1和公共密钥(Mac电脑操作)在钥匙串访问应用中目录登录--我的证书找到正式证书.cer文件 双击打开1公共密钥获取找到公共密钥 双击内容 展开注意这里展开后依旧有省略号网上很多内容都在教如何查看完整的其实不需要直接复制省略号之前的内容到ICP备案审核即可2SHA-1 获取往下滚动拉到最下面可以直接看到SHA-1密钥复制粘贴到ICP审核信息即可六、APP上架App Store打包-上传-审核-上架1.打包与测试打包相同只不过将证书和描述文件更改为正式的 并更改选项打正式包打完包后通过控制台查看并下载ipa文件2.上传上传有很多种方法这里我使用了较为简便的方式需要Mac电脑在App Store下载 Transporter 软件 并打开打开后登录自己的Apple Developer 开发者账号登录后点击号 将自己的ipa包上传即可3.提交审核内容打开Apple Store Connect网站 并登录自己的开发者账号App Store Connecthttps://appstoreconnect.apple.com/login点击App进入新建App 可以按照步骤填写对应的信息进入后在TestFlight页面就可看到刚刚上传的IPA包之后点击分发 进行APP信息的填写按照步骤一步一步填写即可需要注意2026年需要使用6.5英寸及其以上尺寸的手机截屏进行审核6.5英寸为iPhoneX -13 的promax版本6.9英寸为iPhone14 - 17的promax版本如果只有新款的手机 可以在图中标注的链接打开 只上传6.9英寸的 同步到6.5英寸的即可除此之外还需要对App信息App隐私App定价等详细信息进行填写并无什么特别苦难的操作可以一次次点击提交审核进行查漏补缺

相关文章:

Uni从开发到上架IOS APP一站式流程(包含测试、正式证书 | 自定义基座 | Apple登录 | Apple与微信登录、分享对接 | APP备案 | 上线审核步骤)

目前网络上好多IOS上架的文章年份都比较早了,很多流程与实际操作有些出入,这里我总结了一些我在上架过程中踩到的坑,并把全程记录。 一、准备工作 IOS APP开发比较复杂 需要具备一定的前提条件: 开发阶段: 1.Apple…...

别再只用看门狗了!用STM32的PVD功能给你的低功耗设备加个‘离线通知器’

基于STM32 PVD的智能离线通知系统设计指南 引言 在物联网设备设计中,电池供电的可拆卸设备面临一个独特挑战:如何优雅地通知系统中的其他设备自己即将断电。传统解决方案往往依赖看门狗或定期心跳包,但这些方法要么反应迟钝,要么消…...

告别抢码焦虑:3步掌握MHY_Scanner的智能扫码登录技巧

告别抢码焦虑:3步掌握MHY_Scanner的智能扫码登录技巧 【免费下载链接】MHY_Scanner MHY扫码登录器,支持从直播流抢码。 项目地址: https://gitcode.com/gh_mirrors/mh/MHY_Scanner 你是否曾在米哈游游戏登录时,面对转瞬即逝的二维码感…...

3个简单步骤让WeChatMsg成为你的数字记忆保险箱

3个简单步骤让WeChatMsg成为你的数字记忆保险箱 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg 你是否曾…...

低空经济腾飞,人才认证如何“持证上岗”?—— 深度解析体系、技术与未来

低空经济腾飞,人才认证如何“持证上岗”?—— 深度解析体系、技术与未来 引言 当无人机将热气腾腾的外卖精准投递到你家阳台,当“空中出租车”在摩天大楼间穿梭不再是科幻电影的场景,我们正亲眼见证 “低空经济” 从蓝图变为现实。…...

纯前端实现发票二维码批量识别——PDF.js + jsQR 实战

最近在做财务报销相关的需求,需要从大量电子发票 PDF 中提取发票号码、购买方、销售方、金额等信息。手动复制粘贴效率极低,于是研究了一下能不能纯前端实现自动识别。 折腾了几天,最终用 PDF.js jsQR Tesseract.js 实现了一个完全在浏览器…...

面试绝杀!大模型必考题:多轮对话+上下文优化,满分答案直接背

做过大模型应用开发的都懂,面试只要聊到对话系统,这道题100%会被问到:面试官:大模型多轮对话怎么实现?聊久了上下文太长,该怎么优化?身边太多求职者栽在这道题上:要么答得零零散散没…...

四轮独立驱动汽车自动轨迹跟踪+横向稳定性控制:CarSim与Simulink联合控制之MPC控...

四轮独立驱动汽车自动轨迹跟踪横向稳定性控制 CarSim与Simulink联合 控制目标为对给定轨迹进行跟踪(不带轨迹规划)同时进行横向稳定性控制 上层控制器为MPC控制器,输出为附加横摆力矩和方向盘转角,采用了二自由度车辆模型 MPC控制器采用代码编写,原理一目…...

为什么共享 IP 会放大误封风险?

很多平台在面对刷号、爬虫、攻击流量时,最顺手的动作就是“先封 IP 再说”。这个动作在单用户、单出口的理想环境里看起来合理,但在今天的真实互联网里,一个 IP 往往并不只代表一个人。一旦出口被共享,IP 封禁就从“打击异常行为”…...

从零开始:OpenClaw汉化版v2026.4.1-zh.3 详细安装指南

适用版本:OpenClaw中文汉化版 v2026.4.1-zh.3(2026年4月最新稳定版) 支持系统:Ubuntu 22.04/Debian 11/macOS 14/Windows 10/11(WSL2推荐) 核心优势:100%全中文界面、国内网络优化、兼容所有官方…...

力扣热门100题之跳跃游戏

核心思路维护一个变量:当前能跳到的最远位置 maxReach遍历每一位:如果当前位置 已经跳不到了(i > maxReach),直接 return false更新 maxReach如果 maxReach > 最后一位下标,提前 return true解释i n…...

机器人全覆盖路径规划技术挑战与ROS BSA算法解决方案

机器人全覆盖路径规划技术挑战与ROS BSA算法解决方案 【免费下载链接】full_coverage_path_planner Full coverage path planning provides a move_base_flex plugin that can plan a path that will fully cover a given area 项目地址: https://gitcode.com/gh_mirrors/fu/…...

把 Running IDE Actions 真正用进 ADT 日常开发

很多人第一次在 ADT 里看到 IDE Action,会把它当成一个偏演示性质的小功能,觉得无非是在 Eclipse 里多塞了一个菜单项。真到项目里开始高频写 ABAP,尤其是做 RAP、CDS view entity、行为定义、扩展点实现、对象导航这些工作时,才会发现它其实很像一个可编排的开发入口。SAP…...

LEETCODE HOT 100 二分查找 C‘s Log

二分查找也是最重要的就是明确自己变换的前提,也就是到底是哪个闭,哪个开, 转化成下面这句话可以这么思考:关键不在于区间里的元素具有什么性质,而是区间外面的元素具有什么性质,这个也是我在刷B站的灵神课…...

伺服驱动器编码器信号(A+/A-,B+/B-,Z+/Z-)差分接线详解:从高创CDHD2到雷赛L8EC

伺服驱动器编码器差分信号接线实战指南:从原理到避坑 在工业自动化领域,伺服系统的精度和稳定性很大程度上取决于编码器信号的质量。A/A-、B/B-、Z/Z-这些看似简单的差分信号线,却是整个位置反馈系统的命脉。我曾亲眼见过一个价值数十万的生产…...

【仅限头部AI产品团队内部流通】:生成式AI A/B测试SOP 2.3版(含GPT-4o/ Claude-3实测对比模板与统计功效计算器)

第一章:生成式AI应用A/B测试方法论概览 2026奇点智能技术大会(https://ml-summit.org) 生成式AI应用的A/B测试远非传统Web界面实验的简单迁移——其核心挑战在于评估不可预测、多模态、上下文敏感的输出质量,而非仅统计点击率或转化率。需同步度量功能…...

Android 渲染引擎——SurfaceFlinger 合成流程与性能优化

1. SurfaceFlinger 的核心工作机制 SurfaceFlinger 是 Android 图形系统的中枢神经,负责将所有应用界面最终合成到屏幕上。想象它就像一个高效的餐厅后厨,接收各路厨师(应用)做好的菜品(图形缓冲区)&#…...

生成式AI容灾不是加台备用服务器!资深SRE拆解3类典型故障场景下的备份盲区

第一章:生成式AI容灾不是加台备用服务器!资深SRE拆解3类典型故障场景下的备份盲区 2026奇点智能技术大会(https://ml-summit.org) 生成式AI系统容灾的常见误区,是将传统无状态服务的“冷备负载均衡”模型直接套用到大模型推理/微调栈上。然…...

HP iLO4报错自救指南:Embedded Flash/SD-CARD故障的3种修复方案(附详细截图)

HP iLO4嵌入式存储故障深度修复手册:从应急处理到长效预防 当你看到iLO控制台右上角跳出"Self-Test reports a problem with: Embedded Flash/SD-CARD"的红色警告时,服务器管理界面突然变得不可靠——这种场景足以让任何运维人员心跳加速。作为…...

从广播星历到精密星历与钟差:GNSS数据文件格式解析与应用场景

1. GNSS数据文件入门:从广播星历到精密产品 刚接触GNSS数据处理时,我完全被各种文件格式搞晕了——brdc、sp3、clk这些后缀名就像天书。直到有次项目定位误差超标,才发现用错星历文件会导致厘米级误差。今天我们就用最直白的语言,…...

3.2 Java 运算符(字符串和字符的加操作)

一、核心概念在 Java 中, 运算符 不仅仅用于数值相加,它还具有 字符串拼接功能。 当表达式中包含 String 类型时, 会优先执行 字符串拼接 操作。关键点: 只要有一个操作数是 String,整个表达式就变成字符串拼接&#x…...

【C 语言系统入门教程】第 14 讲:深入理解指针 (4) | 零基础学习笔记

【C 语言系统入门教程】第 14 讲:深入理解指针 (4) | 零基础学习笔记 前言 本讲是指针进阶收官篇,聚焦字符指针、数组指针、二维数组传参、函数指针、函数指针数组、转移表六大高阶指针知识点,彻底打通 C 语言指针的最后壁垒,是…...

第17届蓝桥杯C语言B组省赛题目

2026年4月11日#include <stdio.h>int main() {long long N 2026202520242023;long long ans 0;for (long long i 0; i < 1013101260121012; i){if (N-i > i){ans;}else{return 0;}}printf("%lld", ans);return 0; }#include <stdio.h>long long…...

测试报告革命:用数据讲故事的艺术

在软件测试领域&#xff0c;一份标准的测试报告往往呈现为冰冷数据的堆砌&#xff1a;缺陷总数、严重等级分布、测试用例通过率、自动化覆盖率……这些数字精确地度量了测试活动&#xff0c;却常常在向产品经理、技术总监或业务方汇报时&#xff0c;遭遇尴尬的沉默。当汇报者逐…...

折腾Cursor这几周,我才发现之前编辑器都用错了

折腾Cursor这几周&#xff0c;我才发现之前编辑器都用错了 上个月还在用Codex的时候&#xff0c;朋友就天天安利Cursor。我心想不就是个套壳VS Code吗&#xff0c;能用出什么花来。 结果上周闲得无聊&#xff0c;装了一个试了试。 真香。 不是那种“哇好厉害”的感叹&#…...

Java全栈工程师面试实录:从技术到业务的深度解析

Java全栈工程师面试实录&#xff1a;从技术到业务的深度解析 1. 开场白 面试官&#xff1a;你好&#xff0c;很高兴见到你。我是负责技术评估的面试官&#xff0c;今天我们会围绕你的技术能力、项目经验以及对业务的理解来展开交流。你可以先简单介绍一下自己。 应聘者&#xf…...

2025最权威的AI论文助手横评

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek AI开题报告工具借助自然语言处理以及知识图谱技术&#xff0c;能够迅速剖析研究领域的热点之…...

长推理不一定更强:北航 × 字节提出SAGE-RL,挖出大模型隐藏天赋

大模型其实“心里有数”&#xff0c;天生具备高效推理的潜能。论文标题&#xff1a;Does Your Reasoning Model Implicitly Know When to Stop Thinking?研究团队&#xff1a;北航字节跳动联合研究论文地址&#xff1a;https://arxiv.org/abs/2602.08354项目主页&#xff1a;h…...

Houdini流体进阶:巧用VDB与Collision Source实现复杂容器碰撞(含静态对象设置)

Houdini流体进阶&#xff1a;巧用VDB与Collision Source实现复杂容器碰撞&#xff08;含静态对象设置&#xff09; 在影视级流体特效制作中&#xff0c;最令人头疼的莫过于液体与复杂几何体的交互问题。当你的咖啡需要流过一个镂空的金属滤网&#xff0c;或是红酒要注入造型奇特…...

避开这些坑,你的华为机考也能多拿100分:通软开发三道真题拆解与刷题策略

华为通用软件开发机考高分攻略&#xff1a;三道经典题型深度解析与实战技巧 第一次参加华为机考的程序员小王盯着屏幕上的三道题目&#xff0c;手指悬在键盘上方却迟迟敲不下去。距离考试结束还有40分钟&#xff0c;他的第一题代码已经反复修改了五次仍无法通过测试用例。这种场…...