SwiftUI iOS App上架Mac App Store
SwiftUI iOS App上架Mac App Store

SwiftUI iOS App上架Mac App Store

SwiftUI iOS App可以在Mac App Store的“iPhone 与 iPad App”栏,搜索并下载,默认会提示“专为iPad”设计。

iOs App上架Mac App Store配置App Store Connect和Xcode项目。

上架Mac App Store流程

1、App Store Connect添加Mac平台

打开App Store Connect网页,点击“App”,找到对应的iOS App。

在左侧点击“添加平台”-“macOS”,添加后可以上传Mac端App预览和截屏等内容。

注意:这里不能直接使用iOS App的构建版本。

2、iOS项目添加Mac (Catalyst) 支持平台

iOS App默认支持平台为Mac (Designed for iPhone),构建版本无法在App Store Connect中选择。

打开Xcode,找到项目-“TARGETS”-“General”-“Supported Destinations”支持平台。

添加“Mac (Catalyst)”,Xcode项目配置完成后,可以单独构建Mac应用。

3、开启Sandbox功能

应用上传到App Store Connect时,Xcode会检查Sandbox功能,需要在配置中启用Sandbox。

项目-“TARGETS”-“Signing & Capabilities”,点击“Capability”,选择App Sandbox功能,如果没有功能需求,不需要勾选任何选项。

App Sandbox详细内容,请了解《macOS管理App Sandbox权限》。

注意事项

1、OptimizationLevelError: Not built with -Onone

该问题表示当前Scheme为Release,无法预览。需要将Scheme改为Debug模式。

2、The CFBundleVersion of an app extension (‘1’) must match that of its containing parent app (‘2’).

该问题表示主App和App扩展的构建版本不同。

添加Mac (Catalyst) 后,Xcode会检查主App和App扩展的构建版本。

解决方案: Xcode -“TARGETS”-“General”-“Identity”-“Build”,检查主App和App扩展的字段,确保Build字段保持一致。

3、Your target is built for macOS but contains embedded content built for the iOS platform (BankletWidgetExtension.appex), which is not allowed.

该问题表示iOS的小组件只支持iOS,不支持Mac。

解决方案:Xcode-“TARGETS”-“General”-“Supported Destinations”中,添加 Mac (Catalyst)。

4、’ActivityAttributes’ is unavailable in Mac Catalyst

该报错表示Live Activity(ActivityKit)在 Mac Catalyst 上根本不存在,Live Activity 的代码,必须只在 iOS / iPadOS 编译。

解决方案:

#if !targetEnvironment(macCatalyst)
import ActivityKit
import WidgetKit

// 所有 Live Activity 相关代码
#endif

或者隐藏Live Activity代码。

4、App sandbox not enabled. The following executables…

当应用打包时,提示App sandbox报错,原因为Mac Catalyst版本提交到App Store时,Mac端要求开启App Sandbox,否则无法通过notarization或上传App Store。

解决方案为,开启App Sandbox。

总结

iOS App启用Mac (Catalyst) 后,构建应用会被视为macOS应用,而不是iOS 应用。

在上传构建版本后,App Store Connect中,只能在macOS构建版本中选择。

如果需要上传iOS和Mac两个构建版本,就需要新增/删除Mac (Catalyst)支持平台,来构建对应的版本。

iOS App启用 Mac (Catalyst) 后,可能存在一些报错,简单的问题已经罗列在“注意事项”中。

如果iOS支持多个图标的话,App Store Connect中Mac构建版本的默认图标可能和项目的默认图标不一致,但是TestFlight下载的应用图标,还是以项目的默认图标为准,有类似问题的可以选择忽略。

相关文章

1、macOS管理App Sandbox权限:https://fangjunyu.com/2025/06/20/macos%e7%ae%a1%e7%90%86app-sandbox%e6%9d%83%e9%99%90/

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注