如何将macOS app发布到app store?

原创 吴就业 151 1 2024-07-20

本文为博主原创文章,未经博主允许不得转载。

本文链接:https://wujiuye.com/article/d10780fa76b745fc9e00ccc5bad4387f

作者:吴就业
链接:https://wujiuye.com/article/d10780fa76b745fc9e00ccc5bad4387f
来源:吴就业的网络日记
本文为博主原创文章,未经博主允许不得转载。

开发完一个macOS app之后,我们应该如何将其发布到app store呢?这个文档记录了笔者从零开始一步步学习将自己开发好的macOS app发布到app store的过程。

成为开发者

第一步,先注册成为开发者。通过这个链接:https://developer.apple.com/account,信息如实填写即可。

注册后需要开通apple的开发者会员,688元/年。

需要在iPhone手机上下载Apple Developer(Mac OS电脑上下载也可),然后选择“账户”->登录账户->注册开发者。

然后填写信息、人脸识别、订阅扣费。这一步有一个坑,建议不要使用wifi环境操作(如果是在公司),会一直提示未知错误,切换到蜂窝网络(4g/5g)来操作就可以了。

image-20240720140648080

上架前的准备

AppIcon

准备好一个好看的Logo做应用icon。

推荐这个在线工具制作圆形或者圆角的图标:https://www.wetools.com/image-round

然后在app store下载Assets Maker这个软件,将我们的图标制作成多尺寸的AppIcon资源。

沙盒(App Sandbox)权限

如果开发的过程中,我们取消了App Sandbox,要上架App Store我们需要加回来,并根据自己开发的app配置需要的权限。比如,是否需要访问网络的权限,是否需要访问文件的权限等。

打包上传应用

使用xcode开发,打包应用也很简单。

在xcode中,点击product->archives,构建完成后就会弹出下面窗口。

截屏2024-07-20 14.39.49

建议先验证app,再上传。点击Validate App按钮,如果出现下面的弹窗,提示我们:“您的应用程序必须先在 App Store Connect 中注册,然后才能上传。 Xcode 将创建具有以下属性的应用程序记录。”,我们需要确认名称等信息没有错误,然后点击Next。

截屏2024-07-20 15.59.10

验证通过。

截屏2024-07-20 16.00.44

现在可以点击Distribute App按钮上传应用了。

截屏2024-07-20 16.00.58

选择将应用上传到App Store Connect。

截屏2024-07-20 16.01.11

上传完成:

截屏2024-07-20 16.01.58

至此,就已经成功将应用上传至App Store Connect了。

提交审核

打开:https://appstoreconnect.apple.com/apps,我们可以看到自己上传的应用。

截屏2024-07-20 16.04.19

选中应用进入应用分发页面。

截屏2024-07-20 17.54.01

按要求填写完成这一页的信息。

比较有困惑的是,推广文本和描述的区别是什么?

我理解的是,推广文章是在用户未点查看应用详情显示的一句话推广,例如抖音的是“记录美好生活”:

截屏2024-07-20 16.14.02

而描述则是应用详情页面对该应用功能的详细描述,例如剪映app的描述是:

截屏2024-07-20 18.15.47

需要注意的是,如果你的app需要登录才能使用,那么需要提供测试用的账户密码。由于我的app不需要登录,但使用这个app要求用户提供pcap文件,为了能审核通过,我在附件提供了一个pcap文件,并给出备注说明。

截屏2024-07-20 16.27.42

填完本页信息后,点击右上角的存储按钮,然后会出现“提交以供审核”按钮,点击按钮继续提交。

如果有信息未填写,这一步会提示错误,并且会给出哪些地方未完成。

截屏2024-07-20 17.12.11

App隐私策略页面我们必须要填一个URL,尽管这个app完全是离线的,不收集任何应用信息,也需要填写。所以我们必须要给APP配一个简单的官网,然后提供隐藏政策页面。至于隐私政策怎么写,网上有很多的教程,或者直接让AI帮生成也可以。

然后是选择构建版本,如果选择构建版本出现“缺少出口合规证明”的情况,如下图。

截屏2024-07-20 17.30.28

我们只需要在info添加App Uses Non-Exempt Encryption为NO即可。意思是未使用加密。

截屏2024-07-20 17.32.00

最后,如果提交以供审核出现“根据《数字服务法》,你必须提供并验证账户相关信息”。那么可以按照以下步骤进行操作,如果没有则跳过。

打开https://appstoreconnect.apple.com/business,进入主体选择。

截屏2024-07-20 17.46.28

选择主体,在打开的页面中,选择“完成合规要求”。然后根据提示完成即可。

截屏2024-07-20 17.43.55

这里我直接选择我没有在欧盟地区进行分发计划。

如果你的app还涉及应用内购,那么还需要继续完成签署付费APP协议。我这里不涉及就跳过了。

完成这一步后,继续提交审核就能通过了。

截屏2024-07-20 17.51.54


参考文献:

https://blog.csdn.net/lovechris00/article/details/131801614

https://wenge365.com/a/Vi9FUHFsd2k0SndqQ2RCd2l0bHhOUT09.html

https://www.wowcoder.net/article/25.html

#前端

声明:公众号、CSDN、掘金的曾用名:“Java艺术”,因此您可能看到一些早期的文章的图片有“Java艺术”的水印。

文章推荐

SwiftUI原生Chart组件如何实现鼠标移动选中才显示数值

使用SwiftUI的原生Chart组件,堆叠柱形图如何实现像网站使用ercharts实现的鼠标移动到柱状图上面才弹窗显示对应数值的效果。

微信小程序原生开发获取input光标位置和监听光标位置改变问题

input失去焦点后,用户点击input重新获取焦点,怎么获取光标位置?如果用户获取到焦点之后,没有输入,而是移动光标,怎么获取移动后的光标位置呢?

SwiftUI开发macOS APP,如何自定义标题栏(TitleBar)

macOS APP应用的标题栏(TitleBar)是指包含“交通信号灯”(红黄绿三个小按钮)的一栏,通常TitleBar只包括“交通信号灯”和一个title,使用SwiftUI开发macOS APP,怎么把TitleBar隐藏掉呢?

如何编译构建一个同时支持多cpu架构的静态链接库(.a文件)

我想要让自己的mac OS应用支持更多用户可以使用,就必须要打出一个能同在amd64架构cpu的mac os设备上运行,也需要能在arm64架构cpu的mac os设备上运行。

使用node:alpine基础镜像今天突然就构建不了了

我的一个nextjs项目使用node:alpine基础镜像,在此之前部署到线上都能正常构建和运行,今天修改点代码提交到生产环境,发现竟然镜像构建失败了。

SwiftUI macOS开发,Button和TextField控件设置背景色不生效的问题

SwiftUI macOS开发,Button和TextField控件设置背景色不生效的问题。