PicList 是一款云存储/图床平台管理和文件上传工具,基于 PicGo 进行了深度二次开发,保留了 PicGo 的所有功能的同时,为相册添加了同步云端删除功能,同时增加了完整的云存储管理功能,包括云端目录查看、文件搜索、批量上传下载和删除文件,复制多种格式文件链接和图片/markdown/文本/视频预览等。

开源地址和软件官网

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 DistributionMac Installer DistributionDeveloper ID Application这三个证书。当需要上传文件时,就是上传刚才生成的CSR文件。

下载三个证书,导入到钥匙串-登录中。

注册AppId

前往Certificates, Identifiers & Profiles - Apple Developer,生成一个正式的AppId,这里需要选择对应的权限。

生成的AppId需要和项目打包配置里的appId设置一致,否则会被苹果拒绝。

生成配置文件

前往Certificates, Identifiers & Profiles - Apple Developer,添加一个新的配置文件,添加时需要选择刚才注册的appId和第一步生成的证书。

配置打包环境

这里我们需要为我们的项目新增几个打包所需的配置文件,注意我使用的打包软件是vue-cli-plugin-electron-builder,在项目的build目录下新建以下几个文件:

  1. 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>
  1. 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>
  1. 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 分享下整个上架过程和遇到的问题的更多相关文章

  1. 一个App从创意到最终上架到App Store里的整个过程是怎样的?

    一个App从创意到最终上架到App Store里的整个过程是怎样的? 制作App需要什么软件?应该看什么书?需要哪些设备?推到App Store里,需要注册什么网站?是否需要付费?需要什么证书之类的? ...

  2. Prepare for Mac App Store Submission--为提交到Mac 应用商店做准备

    返回 Mac App Store Prepare for Mac App Store Submission 提交到Mac 应用商店之前的准备 Most of your time is spent on ...

  3. [苹果APP上架]ios App Store上架详细教程-一条龙顺滑上架-适合小白

    如何在 2022 年将您的应用提交到 App Store 您正在启动您的第一个应用程序,或者距离上次已经有一段时间了.作者纸飞机@cheng716051来给你讲讲将应用程序提交到 App Store ...

  4. 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, ...

  5. 使用Mac App Store更新、下载软件时出现未知错误的解决方法

    很多果迷在使用 Mac App Store 更新/下载软件时,可能都曾被”未知错误”困扰过,怎么解决也不行.然而,过一段时间不知道做了什么又自己好了.今天我们提供两个解决这个问题的方法,下次遇到这个问 ...

  6. 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 ...

  7. 一张图教你搞定Mac App Store 应用安装包存储路径

    还在为找不到App Store 更新应用的安装文件发愁吗?是否有过多个人同时需要更新Xcode,都自己下载一次的痛苦经历? 大家都知道通过苹果服务器下载东西,确实难耐!AppStore 甚至都经常提示 ...

  8. Mac App Store应用签名和pkg签名(必须签名后才能销售)

    App签名 只有用苹果颁发的证书签名的应用才能在App Store上进行销售,所以我们开发的应用必须打上签名. 签名有两种方式,一是使用Xcode,在配置里面设置签名,编译出来的app就有了签名:二是 ...

  9. Mac App Store应用签名和pkg签名,查看签名

    App签名 只有用苹果颁发的证书签名的应用才能在App Store上进行销售,所以我们开发的应用必须打上签名. 签名有两种方式,一是使用Xcode,在配置里面设置签名,编译出来的app就有了签名:二是 ...

  10. IOS 上架到App Store被拒的常见问题总结

    Guideline 2.3.3 - Performance - Accurate Metadata 2017年11月16日 上午12:52 发件人 Apple 2. 3 Performance: Ac ...

随机推荐

  1. Django中models下常用Field以及字段参数

    常见的FieldType数据库字段类型     1.AutoField:自增Field域,自动增加的一个数据库字段类型,例如id字段就可以使用该数据类型,参数中必须填入primary_key=True ...

  2. sed编辑器

    sed sed是一个非交互式的流文本编辑器,可实现增删改查,广泛适用于shell脚本中 工作原理 sed每次只从文本或标准输入中读取一行数据,将其拷贝到一个编辑缓冲区,然后对其如同命令一般处理,并显示 ...

  3. CCF 202009-1 称检测点查询

    #include <iostream> #include <bits/stdc++.h> #include <string> using namespace std ...

  4. 树莓派4B的Node-Red编程(一)

    一.树莓派烧写 二.Node-Red 环境搭建 (一)安装Node.js (二)安装Node-Red (三)启动服务:win+R输入CMD:输入Node-red. (四)进入浏览器127.0.0.1: ...

  5. python机器学习——BP(反向传播)神经网络算法

    背景与原理: BP神经网络通常指基于误差反向传播算法的多层神经网络,BP算法由信号的前向传播和反向传播两个过程组成,在前向传播的过程中,输入从输入层进入网络,经过隐含层逐层传递到达输出层输出,如果输出 ...

  6. html 手机端适配不同手机高度 ,把内容居中显示

    手机端适配不同手机高度 ,把内容居中显示,可以将div.img.section.span.p等等元素,设置 top:50%; margin-top:xxvw; 这样可以保证主题内容居中显示.

  7. epoll 基本知识与使用

    https://blog.csdn.net/qq_35721743/article/details/86742508 epoll 最大的好处在于它不会随着监听 fd 数目的增长而降低效率. epoll ...

  8. MAC 关闭office自动更新提示

    ①.先进入到 /Library/Application Support/Microsoft/ 文件夹 (/Library/Application Support/Microsoft/) 点击 前往 - ...

  9. Excel如何默认禁用科学计数法?

    微软论坛版主回复"无法默认禁用此功能",可在"设置单元格格式"-"自定义"-"类型"改为"0",去除 ...

  10. MySQL核心知识

    MySQL常用的命令 启动:net start mySql; 进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出数据库 ...