HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

【解决ios网络问题】处理ios app端网络问题

上架被拒 上架 网络 iOS

在utils目录下添加network.js文件

// 监听网络变化  
export const watchNetwork = () => {  
    // #ifdef APP  
    uni.onNetworkStatusChange((res) => {  
        if (res.networkType && res.networkType !== "none") {  
            uni.showModal({  
                title: "温馨提示",  
                content: "已连接网络,请重新加载应用",  
                showCancel: false,  
                success: (res) => {  
                    if (res.confirm) {  
                        plus.runtime.restart();  
                    }  
                }  
            })  
        }  
    })  
    // #endif  
}  

// 获取当前网络状态  
export const getNetworkType = () => {  
    // #ifdef APP  
    uni.getNetworkType({  
        success: (res) => {  
            if (res.networkType && res.networkType === "none") {  
                uni.showToast({  
                    title: "当前未开启网络,请前往设置开启",  
                    icon: "none"  
                })  
                watchNetwork();  
            }  
        }  
    })  
    // #endif  
}

App.vue添加以下代码

import { getNetworkType } from "@/utils/network.js";  
export default {  
    onLaunch: function() {  
        getNetworkType();  
    }  
}
继续阅读 »

在utils目录下添加network.js文件

// 监听网络变化  
export const watchNetwork = () => {  
    // #ifdef APP  
    uni.onNetworkStatusChange((res) => {  
        if (res.networkType && res.networkType !== "none") {  
            uni.showModal({  
                title: "温馨提示",  
                content: "已连接网络,请重新加载应用",  
                showCancel: false,  
                success: (res) => {  
                    if (res.confirm) {  
                        plus.runtime.restart();  
                    }  
                }  
            })  
        }  
    })  
    // #endif  
}  

// 获取当前网络状态  
export const getNetworkType = () => {  
    // #ifdef APP  
    uni.getNetworkType({  
        success: (res) => {  
            if (res.networkType && res.networkType === "none") {  
                uni.showToast({  
                    title: "当前未开启网络,请前往设置开启",  
                    icon: "none"  
                })  
                watchNetwork();  
            }  
        }  
    })  
    // #endif  
}

App.vue添加以下代码

import { getNetworkType } from "@/utils/network.js";  
export default {  
    onLaunch: function() {  
        getNetworkType();  
    }  
}
收起阅读 »

uni-id-pages 错误 Invalid uni-id config file , Invalid password secret

下载uni-id-pages 配置显示Invalid uni-id config file , Invalid password secret 等错误,发现config配置正确,直接复制了config.json 配置,搞了半天没有去掉注释的后果,而且json里第一行就写着 // 如果拷贝此内容切记去除注释

还得仔细看注释呀兄弟们

继续阅读 »

下载uni-id-pages 配置显示Invalid uni-id config file , Invalid password secret 等错误,发现config配置正确,直接复制了config.json 配置,搞了半天没有去掉注释的后果,而且json里第一行就写着 // 如果拷贝此内容切记去除注释

还得仔细看注释呀兄弟们

收起阅读 »

关于uni-push OPPO厂商私信改版公告

oppo unipush

关于uni-push,近期OPPO消息分类将上线模板校验能力,需要开发者线上提交通讯与服务消息(原私信)模板审核,推送通讯与服务消息(原私信)时只能用审核通过的模板ID进行发送。

  1. 新接入通讯与服务消息(原私信)的应用,将按照新规接入发送;

  2. 已开通通讯与服务消息(原私信)的应用,需在2025年12月31号前完成迁移。具体接入流程请参照: https://open.oppomobile.com/documentation/page/info?id=12391

  3. 若已开通OPPO私信模板,新应用在调用uni-cloud-push扩展库API或个推服务端推送API下发私信时,必须设置OPPO私信模板相关参数,老应用要在2025年12月31号完成适配,以免发送OPPO私信消息失败,接口设置参照文档【OPPO】私信模板id: https://docs.getui.com/getui/server/rest_v2/third_party/

以上请尽快完成适配,根据应用业务场景,发送不同类别的消息。

如有疑问,可以添加微信客服群进行咨询,加群方式参考文档:https://uniapp.dcloud.net.cn/unipush-v2.html#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

继续阅读 »

关于uni-push,近期OPPO消息分类将上线模板校验能力,需要开发者线上提交通讯与服务消息(原私信)模板审核,推送通讯与服务消息(原私信)时只能用审核通过的模板ID进行发送。

  1. 新接入通讯与服务消息(原私信)的应用,将按照新规接入发送;

  2. 已开通通讯与服务消息(原私信)的应用,需在2025年12月31号前完成迁移。具体接入流程请参照: https://open.oppomobile.com/documentation/page/info?id=12391

  3. 若已开通OPPO私信模板,新应用在调用uni-cloud-push扩展库API或个推服务端推送API下发私信时,必须设置OPPO私信模板相关参数,老应用要在2025年12月31号完成适配,以免发送OPPO私信消息失败,接口设置参照文档【OPPO】私信模板id: https://docs.getui.com/getui/server/rest_v2/third_party/

以上请尽快完成适配,根据应用业务场景,发送不同类别的消息。

如有疑问,可以添加微信客服群进行咨询,加群方式参考文档:https://uniapp.dcloud.net.cn/unipush-v2.html#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

收起阅读 »

您的最新正式版应用不支持 16 KB 内存页面大小

GooglePlay 16KB

应用必须支持 16 KB 的内存页面大小
状态
您将无法发布应用更新(还剩 246 天)
发送日期
2025年8月28日
最后期限
2026年5月1日
为确保您的应用能在最新版 Android 上正常运行,Google Play 要求以 Android 15 及更高版本为目标平台的应用支持 16 KB 内存页面大小。
自 2026年5月1日起,如果您的应用更新不支持 16 KB 内存页面大小,您将无法发布相应更新。
=============================
收到Google Play邮件,请问各位大佬这个如何解决?

继续阅读 »

应用必须支持 16 KB 的内存页面大小
状态
您将无法发布应用更新(还剩 246 天)
发送日期
2025年8月28日
最后期限
2026年5月1日
为确保您的应用能在最新版 Android 上正常运行,Google Play 要求以 Android 15 及更高版本为目标平台的应用支持 16 KB 内存页面大小。
自 2026年5月1日起,如果您的应用更新不支持 16 KB 内存页面大小,您将无法发布相应更新。
=============================
收到Google Play邮件,请问各位大佬这个如何解决?

收起阅读 »

uniapp+vue3手机版oa系统|uniapp仿ios界面手机admin后台管理

uni-admin vue3 uni-app uniapp uni_app

uni-vue3-osadmin:一款全新自研的uni-app+vue3+pinia2+uvui搭建跨端仿ios手机界面admin后台系统模板。提供了图表、表格、表单、编辑器、用户管理、角色管理等常用功能场景。支持编译到H5+小程序+APP端。

运行到h5+小程序+app端效果如下:

采用技术

  • 编辑器:HbuilderX4.75
  • 技术框架:uniapp+vue3+vite5+pinia2
  • UI组件库:uni-ui+uv-ui(uniapp vue3组件库)
  • 弹框组件:uv3-popup(基于uniapp+vue3自定义弹窗组件)
  • 表格组件:uv3-table(基于uniapp+vue3跨端综合表格组件)
  • 图表组件:qiun-data-charts
  • 模拟数据:mockjs(用于自定义表格模拟数据)
  • 缓存技术:pinia-plugin-unistorage
  • 编译支持:h5+小程序+app端

项目结构目录

使用hbuilderx4.75创建项目模板,vue3 setup语法编码。

uniapp-vue3-oa手机版后台项目已经同步到我的原创作品集。

uni-app+vue3+pinia2跨端仿ios桌面OA管理系统

还支持运行到PC端,750px展示布局结构。

开发uniapp-vue3-oa项目,探索一种全新的手机版os式后台admin管理系统新解决方案。可以理解为pc端后台之手机版后台os admin系统。

热文推荐

最新版uni-app+vue3+uv-ui跨三端仿微信app聊天应用【h5+小程序+app端】
Flutter3-MacOS桌面OS系统|flutter3.32+window_manager客户端OS模板
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序

继续阅读 »

uni-vue3-osadmin:一款全新自研的uni-app+vue3+pinia2+uvui搭建跨端仿ios手机界面admin后台系统模板。提供了图表、表格、表单、编辑器、用户管理、角色管理等常用功能场景。支持编译到H5+小程序+APP端。

运行到h5+小程序+app端效果如下:

采用技术

  • 编辑器:HbuilderX4.75
  • 技术框架:uniapp+vue3+vite5+pinia2
  • UI组件库:uni-ui+uv-ui(uniapp vue3组件库)
  • 弹框组件:uv3-popup(基于uniapp+vue3自定义弹窗组件)
  • 表格组件:uv3-table(基于uniapp+vue3跨端综合表格组件)
  • 图表组件:qiun-data-charts
  • 模拟数据:mockjs(用于自定义表格模拟数据)
  • 缓存技术:pinia-plugin-unistorage
  • 编译支持:h5+小程序+app端

项目结构目录

使用hbuilderx4.75创建项目模板,vue3 setup语法编码。

uniapp-vue3-oa手机版后台项目已经同步到我的原创作品集。

uni-app+vue3+pinia2跨端仿ios桌面OA管理系统

还支持运行到PC端,750px展示布局结构。

开发uniapp-vue3-oa项目,探索一种全新的手机版os式后台admin管理系统新解决方案。可以理解为pc端后台之手机版后台os admin系统。

热文推荐

最新版uni-app+vue3+uv-ui跨三端仿微信app聊天应用【h5+小程序+app端】
Flutter3-MacOS桌面OS系统|flutter3.32+window_manager客户端OS模板
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序

收起阅读 »

uniapp暂时不要升级4.76,运行安卓会有BUG

uniapp

09:46:34.400 项目 xxx 开始编译
09:46:35.661 4.76
09:46:35.661 请注意运行模式下,因日志输出、sourcemap以及未压缩源码等原因,性能和包体积,均不及发行模式。
09:46:35.766 正在编译中...
09:46:36.196 ​Browserslist: caniuse-lite is outdated. Please run:
09:46:36.196 npx update-browserslist-db@latest
09:46:36.196 Why you should do it regularly: https://github.com/browserslist/update-db#readme​
09:47:09.864 [警告⚠] uni_modules\lime-echart\static\echarts.min.js 文件体积超过 500KB,已跳过压缩以及 ES6 转 ES5 的处理,手机端使用过大的js库影响性能。
09:47:20.064 项目 xxx 编译成功。
09:47:20.620 当前自定义基座的SDK与HBuilderX自带的基座SDK版本不一致,可能有兼容问题,请及时制作新版自定义基座
09:47:20.807 正在安装手机端自定义基座...
09:47:23.418 项目 xxx 编译成功。
09:47:23.445 Module build failed (from ./node_modules/@dcloudio/uni-cli-shared/lib/uts/uts-loader.js):
09:47:23.445 TypeError: bindings.bundleKotlin is not a function
09:47:23.445 at bundleKotlin (D:\WWW\xxx\node_modules\@dcloudio\uts\dist\api.js:66:10)
09:47:23.445 at bundle (D:\WWW\xxx\node_modules\@dcloudio\uts\dist\index.js:23:39)
09:47:23.445 at compile (D:\WWW\xxx\node_modules\@dcloudio\uni-uts-v1\dist\kotlin.js:441:26)
09:47:23.445 at Object.runKotlinDev [as runDev] (D:\WWW\xxx\node_modules\@dcloudio\uni-uts-v1\dist\kotlin.js:136:27)
09:47:23.445 at Object.compile (D:\WWW\xxx\node_modules\@dcloudio\uni-uts-v1\dist\index.js:349:77)
09:47:23.582 已停止运行...

继续阅读 »

09:46:34.400 项目 xxx 开始编译
09:46:35.661 4.76
09:46:35.661 请注意运行模式下,因日志输出、sourcemap以及未压缩源码等原因,性能和包体积,均不及发行模式。
09:46:35.766 正在编译中...
09:46:36.196 ​Browserslist: caniuse-lite is outdated. Please run:
09:46:36.196 npx update-browserslist-db@latest
09:46:36.196 Why you should do it regularly: https://github.com/browserslist/update-db#readme​
09:47:09.864 [警告⚠] uni_modules\lime-echart\static\echarts.min.js 文件体积超过 500KB,已跳过压缩以及 ES6 转 ES5 的处理,手机端使用过大的js库影响性能。
09:47:20.064 项目 xxx 编译成功。
09:47:20.620 当前自定义基座的SDK与HBuilderX自带的基座SDK版本不一致,可能有兼容问题,请及时制作新版自定义基座
09:47:20.807 正在安装手机端自定义基座...
09:47:23.418 项目 xxx 编译成功。
09:47:23.445 Module build failed (from ./node_modules/@dcloudio/uni-cli-shared/lib/uts/uts-loader.js):
09:47:23.445 TypeError: bindings.bundleKotlin is not a function
09:47:23.445 at bundleKotlin (D:\WWW\xxx\node_modules\@dcloudio\uts\dist\api.js:66:10)
09:47:23.445 at bundle (D:\WWW\xxx\node_modules\@dcloudio\uts\dist\index.js:23:39)
09:47:23.445 at compile (D:\WWW\xxx\node_modules\@dcloudio\uni-uts-v1\dist\kotlin.js:441:26)
09:47:23.445 at Object.runKotlinDev [as runDev] (D:\WWW\xxx\node_modules\@dcloudio\uni-uts-v1\dist\kotlin.js:136:27)
09:47:23.445 at Object.compile (D:\WWW\xxx\node_modules\@dcloudio\uni-uts-v1\dist\index.js:349:77)
09:47:23.582 已停止运行...

收起阅读 »

w-picker组件微信小程序兼容性问题

很多项目中的选择器用的全部是Dcloud插件市场的 w-picker组件,这个组件功能非常的强大能满足大部分选择器的使用场景。
最近发现了一个bug,微信小程序w-picker下拉选择数据时,偶然出现选中的数据依然是上次的老数据而不是最新的数据

经过深入研究发现bug出现原因: picker-view 组件的 @change 事件仅在用户完成滑动操作后触发。
当系统出现异常情况时,通常是由于用户滑动操作过于迅速,并在滑动尚未结束时点击了右上角的”确认按钮“。
在此情形下,由于 @change 事件未被触发,系统无法获取滑动后更新的值,因此实际获取到的仍然是滑动前的原始值。

解决方案:
picker-view 上增加属性: immediate-change="true"
immediate-change:是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件。

注意事项:
也就是说 uniapp的picker-view 组件在小程序上都会存在这种问题,根据我们的实际业务场景来使用immediate-change属性,请查看picker-view组件详细介绍

继续阅读 »

很多项目中的选择器用的全部是Dcloud插件市场的 w-picker组件,这个组件功能非常的强大能满足大部分选择器的使用场景。
最近发现了一个bug,微信小程序w-picker下拉选择数据时,偶然出现选中的数据依然是上次的老数据而不是最新的数据

经过深入研究发现bug出现原因: picker-view 组件的 @change 事件仅在用户完成滑动操作后触发。
当系统出现异常情况时,通常是由于用户滑动操作过于迅速,并在滑动尚未结束时点击了右上角的”确认按钮“。
在此情形下,由于 @change 事件未被触发,系统无法获取滑动后更新的值,因此实际获取到的仍然是滑动前的原始值。

解决方案:
picker-view 上增加属性: immediate-change="true"
immediate-change:是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件。

注意事项:
也就是说 uniapp的picker-view 组件在小程序上都会存在这种问题,根据我们的实际业务场景来使用immediate-change属性,请查看picker-view组件详细介绍

收起阅读 »

应用发起转让,会发到对方的邮箱里有一个地址,这个地址是可以接收的

这地方要是有短信通知一下,去邮箱接收就好了,使用体验太不好了, 接收方如果不及时看到邮件根本不知道

这地方要是有短信通知一下,去邮箱接收就好了,使用体验太不好了, 接收方如果不及时看到邮件根本不知道

关于在 setup中使用 getCurrentInstance,结果返回为null的问题

import { reactive, ref, getCurrentInstance } from 'vue'

const install = getCurrentInstance()

getCurrentInstance应该像这样在代码一开始就调用,如果放到各种异步回调的函数中 就会报null

继续阅读 »

import { reactive, ref, getCurrentInstance } from 'vue'

const install = getCurrentInstance()

getCurrentInstance应该像这样在代码一开始就调用,如果放到各种异步回调的函数中 就会报null

收起阅读 »

uniapp+vue3跨三端仿微信app聊天程序【h5+小程序+app端】

uni_app vite vue3 uniapp uni-app

uniapp-vue3-wechat:基于uni-app+vite5+vue3+uv-ui纯手写搭建仿微信app界面聊天实例。集成 聊天、通讯录、我、朋友圈等功能模块。支持编译运行到H5+小程序端+App端。实现消息/emo、仿微信长按语音动效、图片/视频预览、红包等功能。

项目知识点

  • 编辑器:HbuilderX 4.75
  • 跨端技术:uni-app+vue3+pinia2+vite5
  • 状态管理:pinia2
  • 组件库:uni-ui+uv-ui(uniapp+vue3组件库)
  • 弹框组件:uv3-popup(自定义uniapp+vue3多端弹框组件)
  • 自定义组件:uv3-navbar导航栏+uv3-tabbar菜单栏
  • 缓存技术:pinia-plugin-unistorage
  • 编译支持:h5+小程序+app端

项目框架目录

使用uni-app+vue3创建项目模板,采用vue3 setup语法编码。

uniapp-wechat聊天项目已经更新到我的原创作品集。

uni-app+vue3+pinia2+uv-ui跨三端仿微信app聊天

热文推荐

Flutter3-MacOS桌面OS系统|flutter3.32+window_manager客户端OS模板
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序

继续阅读 »

uniapp-vue3-wechat:基于uni-app+vite5+vue3+uv-ui纯手写搭建仿微信app界面聊天实例。集成 聊天、通讯录、我、朋友圈等功能模块。支持编译运行到H5+小程序端+App端。实现消息/emo、仿微信长按语音动效、图片/视频预览、红包等功能。

项目知识点

  • 编辑器:HbuilderX 4.75
  • 跨端技术:uni-app+vue3+pinia2+vite5
  • 状态管理:pinia2
  • 组件库:uni-ui+uv-ui(uniapp+vue3组件库)
  • 弹框组件:uv3-popup(自定义uniapp+vue3多端弹框组件)
  • 自定义组件:uv3-navbar导航栏+uv3-tabbar菜单栏
  • 缓存技术:pinia-plugin-unistorage
  • 编译支持:h5+小程序+app端

项目框架目录

使用uni-app+vue3创建项目模板,采用vue3 setup语法编码。

uniapp-wechat聊天项目已经更新到我的原创作品集。

uni-app+vue3+pinia2+uv-ui跨三端仿微信app聊天

热文推荐

Flutter3-MacOS桌面OS系统|flutter3.32+window_manager客户端OS模板
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序

收起阅读 »

windows创建ios证书和上架app store的教程

iOS证书

使用uniapp开发ios应用,云打包的时候需要提供证书profile文件(描述文件)和私钥证书p12文件。

然而这两个文件需要使用mac OS系统的电脑来生成,其实使用windows电脑也可以生成这两个文件,包括上架也是可以的。

首先来说生成证书的方法,生成证书首先要有苹果开发者账号,而苹果开发者账号来自己苹果开发者中心。假如你们公司还没有苹果开发者账号,请先参考这篇文章进入苹果开发者官网申请一个账号:

https://juejin.cn/post/7529496810265575458

申请账号应该是最麻烦的,申请完账号后,下面创建证书和上架就容易得多了。

首先来搞证书和证书profile文件

由于我们没有苹果电脑,因此我们使用香蕉云编来协助生成证书:

一、创建证书流程大致是这样:
(1)登录苹果开发者中心页面,进入证书页面,如下图:

(2)然后开始创建证书,创建证书第一步是选择证书的类型,这里固定选择ios distribution ad hoc and app store connect类型,不要选择其他的类型。

(3)点击下一步,需要提供一个csr文件,这时候就需要使用香蕉云编来辅助生成这个csr文件了:

https://www.yunedit.com/createcert

生成后,将这个csr文件下载到本地

然后继续刚才的步骤,选择这个csr文件,就可以生成证书了

(4)将第(3)步生成的证书下载下来,发现是.cer格式的,而不是p12格式,因此我们还需要使用香蕉云编,将这个cer文件转化为p12文件。

(5)重新登录香蕉云编,上传刚才的cer文件,就可以使用生成p12功能,转化为p12格式的私钥证书了。如下图所示:

二、创建profile文件(描述文件)的步骤。

(6)进入到苹果开发者中心,找到identifiers模块,如下图所示:

这个界面是管理appId的界面,在这里新建一个appId. appId的描述可以随便填,关键的appId需要填写uni.xxxxxxx或com.xxxxx.yyy这样的包名的格式,需要跟我们在uniapp里打包填写的AppId一致

(7) 创建完APPID 后,点击profiles模块,开始创建profile文件了

创建profile文件的时候,选择app store类型(假如想创建测试类型可以问下香蕉云编的客服或者看香蕉云编的教程)。

(8)点击下一步,会要我们选择APPID和选择证书,选择APPID比较直观,不容易选错,但是选择证书很容易选错。所示我们截图看看,选择证书的界面是怎样的,见到这个界面不要点太快,不要选错了:

好了,没什么意外,profile文件也生成成功了。

三、最后,说下上架的的流程,由于上架的流程也比较多,新手一时间可能消化不了,上架可以参考这篇文章:

https://blog.csdn.net/weixin_48914851/article/details/149223552

继续阅读 »

使用uniapp开发ios应用,云打包的时候需要提供证书profile文件(描述文件)和私钥证书p12文件。

然而这两个文件需要使用mac OS系统的电脑来生成,其实使用windows电脑也可以生成这两个文件,包括上架也是可以的。

首先来说生成证书的方法,生成证书首先要有苹果开发者账号,而苹果开发者账号来自己苹果开发者中心。假如你们公司还没有苹果开发者账号,请先参考这篇文章进入苹果开发者官网申请一个账号:

https://juejin.cn/post/7529496810265575458

申请账号应该是最麻烦的,申请完账号后,下面创建证书和上架就容易得多了。

首先来搞证书和证书profile文件

由于我们没有苹果电脑,因此我们使用香蕉云编来协助生成证书:

一、创建证书流程大致是这样:
(1)登录苹果开发者中心页面,进入证书页面,如下图:

(2)然后开始创建证书,创建证书第一步是选择证书的类型,这里固定选择ios distribution ad hoc and app store connect类型,不要选择其他的类型。

(3)点击下一步,需要提供一个csr文件,这时候就需要使用香蕉云编来辅助生成这个csr文件了:

https://www.yunedit.com/createcert

生成后,将这个csr文件下载到本地

然后继续刚才的步骤,选择这个csr文件,就可以生成证书了

(4)将第(3)步生成的证书下载下来,发现是.cer格式的,而不是p12格式,因此我们还需要使用香蕉云编,将这个cer文件转化为p12文件。

(5)重新登录香蕉云编,上传刚才的cer文件,就可以使用生成p12功能,转化为p12格式的私钥证书了。如下图所示:

二、创建profile文件(描述文件)的步骤。

(6)进入到苹果开发者中心,找到identifiers模块,如下图所示:

这个界面是管理appId的界面,在这里新建一个appId. appId的描述可以随便填,关键的appId需要填写uni.xxxxxxx或com.xxxxx.yyy这样的包名的格式,需要跟我们在uniapp里打包填写的AppId一致

(7) 创建完APPID 后,点击profiles模块,开始创建profile文件了

创建profile文件的时候,选择app store类型(假如想创建测试类型可以问下香蕉云编的客服或者看香蕉云编的教程)。

(8)点击下一步,会要我们选择APPID和选择证书,选择APPID比较直观,不容易选错,但是选择证书很容易选错。所示我们截图看看,选择证书的界面是怎样的,见到这个界面不要点太快,不要选错了:

好了,没什么意外,profile文件也生成成功了。

三、最后,说下上架的的流程,由于上架的流程也比较多,新手一时间可能消化不了,上架可以参考这篇文章:

https://blog.csdn.net/weixin_48914851/article/details/149223552

收起阅读 »

Vue3 H5打包后assets static文件夹中有重复图片

uniapp

Vue3 H5打包后assets static文件夹中有重复图片

Vue3 H5打包后assets static文件夹中有重复图片