PicList 现已上架Mac App Store 分享下整个上架过程和遇到的问题
PicList 是一款云存储/图床平台管理和文件上传工具,基于 PicGo 进行了深度二次开发,保留了 PicGo 的所有功能的同时,为相册添加了同步云端删除功能,同时增加了完整的云存储管理功能,包括云端目录查看、文件搜索、批量上传下载和删除文件,复制多种格式文件链接和图片/markdown/文本/视频预览等。
开源地址和软件官网
- Github: https://github.com/Kuingsmile/PicList
- 软件官网:https://piclist.cn
Mac App Store地址
PicList 基于PicGo的图片管理工具 on the Mac App Store (apple.com)
上架前的软件打包
加入开发者计划
第一步当然是加入Apple Developer Program - Apple Developer,这需要99 美元的年费,具体的申请流程直接参考官网跟着走就行。
当收到苹果的欢迎邮件后,就可以准备下一步了。
生成签名证书
这里,我们首先需要生成证书请求文件(Certificate Signing Request,CSR)文件,不同于我在上一篇使用Github actions自动化打包和签名基于electron的mac桌面应用流程分享 - 知乎 (zhihu.com)里提到的,这里的CSR文件需要通过mac os的钥匙串应用生成,不然后面签名时可能会报错。
打开 mac 的钥匙串访问 -> 证书助理 -> 从证书颁发机构请求证书,这里生了 CertificateSigningRequest.certSigningRequest
的文件,这个文件可以被多次用来生成 mac 证书。
前往Certificates, Identifiers & Profiles - Apple Developer,生成Mac App Distribution
,Mac Installer Distribution
和Developer ID Application
这三个证书。当需要上传文件时,就是上传刚才生成的CSR文件。
下载三个证书,导入到钥匙串-登录中。
注册AppId
前往Certificates, Identifiers & Profiles - Apple Developer,生成一个正式的AppId,这里需要选择对应的权限。
生成的AppId需要和项目打包配置里的appId设置一致,否则会被苹果拒绝。
生成配置文件
前往Certificates, Identifiers & Profiles - Apple Developer,添加一个新的配置文件,添加时需要选择刚才注册的appId和第一步生成的证书。
配置打包环境
这里我们需要为我们的项目新增几个打包所需的配置文件,注意我使用的打包软件是vue-cli-plugin-electron-builder
,在项目的build
目录下新建以下几个文件:
- entitlements.mas.plist
内容参考下面的代码,需要注意的是,你需要根据自己项目的实际情况添加需要的权限:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.cs.allow-jit</key>
<true/>
.....其它权限
</dict>
</plist>
- entitlements.mas.inherit.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.inherit</key>
<true/>
</dict>
</plist>
- entitlements.mas.loginhelper.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
</dict>
</plist>
将刚才生成的配置文件下载下来,也放到build目录下,然后如下修改vue.config.js
中的打包配置:
mac: {
target: [{
target: 'mas',
arch: [
'universal'
]
}],
....其它设置
},
mas: {
icon: 'build/icons/icon.icns',
hardenedRuntime: true,
entitlements: 'build/entitlements.mas.plist',
entitlementsInherit: 'build/entitlements.mas.inherit.plist',
provisioningProfile: 'build/placeholder.provisionprofile',
entitlementsLoginHelper: 'build/entitlements.mas.loginhelper.plist'
},
打包
直接使用vue-cli-service electron:build
命令进行打包,在打包过程中会自动对软件包进行签名,最后生成一个pkg安装包。
上架
添加APP
前往App Store Connect (apple.com),添加一个新的APP,根据官网的指示填写对应的各种APP相关的信息。
如果APP需要设置为收费的话,还需要去Agreements, Tax, and Banking (apple.com),签署和同意付费APP相关的协议。
上传APP与测试
使用官方软件Transporter on the Mac App Store (apple.com)把之前打包生成的pkg文件进行上传,这时apple会自动进行校验,如果报错的话根据指示修改就可以。
上传完成后,可以在软件的testflight设置页面添加自己为测试员,然后将对应的构建版本加入到测试列表内,再下载TestFlight on the App Store (apple.com),提前进行一下安装运行测试,防止出现bug影响审核。
审核
填写完所有的信息之后,就可以提交审核啦,审核过程中可能会被拒绝,这时候根据apple提供的修改建议进行修改就可以啦,我自己是被拒绝了两次之后才终于通过。。
推荐在提交审核之前,可以录制一个软件使用说明的视频,或者写一个简单的使用说明文档,放在审核附件里,防止审核员不会用你的app。。
PicList 现已上架Mac App Store 分享下整个上架过程和遇到的问题的更多相关文章
- 一个App从创意到最终上架到App Store里的整个过程是怎样的?
一个App从创意到最终上架到App Store里的整个过程是怎样的? 制作App需要什么软件?应该看什么书?需要哪些设备?推到App Store里,需要注册什么网站?是否需要付费?需要什么证书之类的? ...
- Prepare for Mac App Store Submission--为提交到Mac 应用商店做准备
返回 Mac App Store Prepare for Mac App Store Submission 提交到Mac 应用商店之前的准备 Most of your time is spent on ...
- [苹果APP上架]ios App Store上架详细教程-一条龙顺滑上架-适合小白
如何在 2022 年将您的应用提交到 App Store 您正在启动您的第一个应用程序,或者距离上次已经有一段时间了.作者纸飞机@cheng716051来给你讲讲将应用程序提交到 App Store ...
- The Mac App Store isn't working. How to fix?
Q. The Mac App Store isn't working. How to fix? First you must have built-in Ethernet at 'en0'. So, ...
- 使用Mac App Store更新、下载软件时出现未知错误的解决方法
很多果迷在使用 Mac App Store 更新/下载软件时,可能都曾被”未知错误”困扰过,怎么解决也不行.然而,过一段时间不知道做了什么又自己好了.今天我们提供两个解决这个问题的方法,下次遇到这个问 ...
- Start Developing Mac Apps -- Mac App Store Mac 应用商店
Mac App Store The information you’ve read so far focused on how to create an app in Xcode. However ...
- 一张图教你搞定Mac App Store 应用安装包存储路径
还在为找不到App Store 更新应用的安装文件发愁吗?是否有过多个人同时需要更新Xcode,都自己下载一次的痛苦经历? 大家都知道通过苹果服务器下载东西,确实难耐!AppStore 甚至都经常提示 ...
- Mac App Store应用签名和pkg签名(必须签名后才能销售)
App签名 只有用苹果颁发的证书签名的应用才能在App Store上进行销售,所以我们开发的应用必须打上签名. 签名有两种方式,一是使用Xcode,在配置里面设置签名,编译出来的app就有了签名:二是 ...
- Mac App Store应用签名和pkg签名,查看签名
App签名 只有用苹果颁发的证书签名的应用才能在App Store上进行销售,所以我们开发的应用必须打上签名. 签名有两种方式,一是使用Xcode,在配置里面设置签名,编译出来的app就有了签名:二是 ...
- IOS 上架到App Store被拒的常见问题总结
Guideline 2.3.3 - Performance - Accurate Metadata 2017年11月16日 上午12:52 发件人 Apple 2. 3 Performance: Ac ...
随机推荐
- linux下安装OpenJDK 1.8
1. 使用yum查找jdk: yum search java|grep jdk [root@iasdasd jvm]# yum search java|grep jdk Repository extr ...
- SQL相关知识
SQL(Structure Query Language) 结构化查询语言,它是关系型数据库的应用语言,由IBM上世纪70年代开发出来的. SQL语言规范 语句以;封号结束 ...
- pycharm 导入requests库踩坑帖
requests库确认安装了,但是在pycharm里各种导入不了,简直要奔溃,后来看帖子,有博主"alt + enter"了一下,跳出了install选项,然后就可以了... 用个 ...
- Jmeter添加JSR223对Python的支持
通过下载:org.python : jython-standalone : 2.7.2 - Maven Central Repository Search jython-standalone-2.7. ...
- CH32F103C8T6的USB开发(一)
一.背景 项目用到单片机采集模拟量数据,原先使用USB转串口,速度嫌慢,还要转串口芯片,电脑还要安装驱动,现更改为采用USB的HID类来传输. 二.单片机选型 STM32F103的USB接口简单易用, ...
- Vue3注册全局组件
1. Vue3全局组件注册 components文件夹下新建index.js文件,统一引入需要注册的组件 import CustomCheck from "./CustomCheck.vue ...
- 2202.10.11 CSP-S 2021 测试总结
2022.10.11 CSP-S 2021 测试总结 这场打的好心累, \(T1\) 想了 \(1\) 个多小时才想出来的, \(T2\),\(T4\)题意赛时还没读明白. \(T1\):廊桥分配 \ ...
- Android studio 使用dialog提示信息
package com.example.androidtest2; import androidx.appcompat.app.AlertDialog;import androidx.appcompa ...
- DataRow[]数组转换为DataTable
DataRow[] drData=DataTable.Select("....."); DataTable dtNew=drData.CopyToDataTable(); 注:Da ...
- JS实现一个函数getType获取所有的数据类型
1 function getType(obj) { 2 if (obj === null) { 3 return String(obj) 4 } 5 const toType = (obj) => ...