惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Recent Announcements
Recent Announcements
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
罗磊的独立博客
月光博客
月光博客
J
Java Code Geeks
A
About on SuperTechFans
Microsoft Security Blog
Microsoft Security Blog
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
U
Unit 42
C
Check Point Blog
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog

博客园 - Hey,Coder!

微信小程序 web方案实现调音器功能 systemctl slice配置docker最大占用cpu 内存 pipenv环境变量配置 .net8验证码 数据库差异对比工具 docker部署prometheus grafana pgexporter Alertmanager ubuntu24 换源 ssh配置 ubuntu24 Harbor部署 ubuntu24 kvm部署 cockpit web管理界面 .net api代理 Ubuntu 24.04 DMAR IOMMU 报错修复 vs文件软链接 Docker 网络别名 .net8通用中间件处理公共返回值结构 .net环境下OpenTelemetry Body 读取注意事项 jaeger界面显示异常 .net opentelemetry collector jaeger c# opentelemetry 自定义export c# opentelemetry 自定义export c# 生成对象的初始化代码 Elasticsearch ILM 与 Data Stream 概念及实例说明文档 portainer httphelper封装 Ocelot + Consul + SignalR 粘性会话 正交软件架构 docker postgresql17 主从复制 rabbitmq总结与c#示例 docker rabbitmq quartz dashboard docker consul registrator 服务自动注册consul 微服务动态扩容
uniapp iOS App 上架
Hey,Coder! · 2026-08-10 · via 博客园 - Hey,Coder!

iOS App 上架流程

适用范围:uni-app (HBuilderX) 云打包 → iOS App Store 上架


一、Appuploader 创建证书三件套

1. 创建 Bundle ID

Appuploader → Bundle ID 管理 → 添加 → 填写反向域名格式的 ID(如 com.xxx.app)→ 保存

2. 创建发布证书(P12)

Appuploader → 证书管理 → 新建证书 → 类型选 iOS Distribution (App Store) → 设置密码 → 创建 → 下载 .p12

3. 创建发布描述文件

Appuploader → 描述文件管理 → 创建 → 类型选 App Store → 关联上面建的 Bundle ID 和证书 → 下载 .mobileprovision

⚠️ 三处 Bundle ID 必须一致:Appuploader / HBuilderX manifest.json / App Store Connect


二、HBuilderX 云打包

  1. 打开 manifest.json → 基础配置
    • AppID = 你的 Bundle ID(反向域名格式,如 com.xxx.app
    • versionName = 对外版本号(如 1.0.0
    • versionCode 每次上传必须递增(如 1 → 2 → 3)
  2. 菜单 → 发行 → 原生 App 云打包
    • 平台:iOS
    • 上传 .p12 + 证书密码 + .mobileprovision
  3. 等待打包完成 → 下载 .ipa

三、上传 IPA(两种方式)

方式 A:Appuploader 上传

GUI 操作:提交上传 → 填 Apple ID + 专用密码 + 选 IPA → 上传

方式 B:Transporter 上传(Mac 推荐)

  1. 安装:Mac App Store 搜 Transporter(Apple 官方,免费)
  2. 登录:Apple ID + 16 位专用密码(不是登录密码)
  3. 添加 IPA:拖入窗口 或 点「添加 App 或资源包」
  4. 交付:选中应用 → 点蓝色「交付」按钮 → 等待完成

界面状态说明

  • 列表显示应用名称、版本号(如 1.0.0 (1))、App ID
  • ✅ 交付成功 → 绿色对勾
  • ❌ 交付失败 → 右侧显示「X 个问题...」→ 点击查看错误详情

四、App Store Connect 提交审核

  1. 等待 10-30 分钟构建版本处理完成(苹果会发邮件通知)
  2. 登录 appstoreconnect.apple.com → 我的 App → 选择你的应用
  3. TestFlight 确认构建版本状态为「准备提交
  4. 切到 App Store 选项卡 → 构建版本「+」→ 选择刚上传的 IPA
  5. 填写:截图、描述、关键词、隐私政策网址、测试账号
  6. DSA 合规声明:商务 → 协议 → 合规 → 数字服务法 → 声明交易商身份
  7. 点击「提交审核」→ 1-3 个工作日出结果

五、常见报错速查

报错 原因 解决
Build 号冲突(-19232 versionCode 未递增 改大 versionCode 重新云打包
Bundle ID 不匹配(ITMS-90046 三处 ID 不一致 检查 Appuploader / manifest / App Store Connect
App 记录不存在(ITMS-4241 后台未创建 App 先去 App Store Connect 创建 App
专用密码错误 填了登录密码 去 appleid.apple.com 生成 16 位专用密码
交付失败(红色感叹号) 点击「X 个问题」查看详情 常见原因:加密声明缺失、Build 冲突

六、关键链接