如何在 SwiftUI 应用程序中添加适用于 iPhone 而不是 Mac 的 ActivityKit 扩展?

问题描述 投票:0回答:2

我有一个为所有 iOS 设备和硅 Mac 操作系统开发的 SwiftUI 应用程序。

我为 iOS 设备添加了 ActivityKit Widget,效果很好。但是当我提交到appStore时,我收到以下错误:

ITMS-90863:具有 Apple 芯片支持问题的 Mac - 该应用程序链接 macOS 中不存在的库:

/系统/库/框架/ActivityKit.framework/ActivityKit

我不想取消选中 Mac,因为此应用程序适用于 Mac OS 和 iOS。如何排除仅适用于 iOS 的小部件来修复此警告?

ios xcode appstore-approval activitykit
2个回答
2
投票

我在我的项目中解决了这个问题:

  • 在 Xcode 中选择项目 > 你的目标 > 构建阶段
  • 在“链接二进制文件与库”阶段添加
    ActivityKit
    WidgetKit
    (如果它们尚不存在)
  • 将他们的状态更改为
    Optional

进行这些更改后,我可以在 macOS 上运行 iOS 应用程序。


0
投票

一个选项是将 ActivityKit 添加为可选库,如 此答案 所示。这对我不起作用 - 从 TestFlight 或 App Store 下载并打开应用程序时,该应用程序仍然在启动时挂起。

最重要的是,您可以尝试将

#if canImport(ActivityKit)
添加到引用 ActivityKit 的所有位置。它有助于暂时为您的 iOS 应用程序添加一个
Mac Catalyst
目标并尝试在本地运行该应用程序。如果这不起作用(因为它对我不起作用),您甚至可以开始使用 Mac Catalyst 版本分发独立的 macOS 应用程序。

对我来说,维护一个独立的 macOS 发行版是不值得的,所以我不得不停止支持 macOS 平台。这需要苹果解决!

© www.soinside.com 2019 - 2024. All rights reserved.