在 macOS 上没有 AVFoundation 框架会引起 iOS 应用程序的警告(应该也可以在 AS Mac 上使用)。

时间:2021-08-12 04:24:02

标签: ios swift macos frameworks

我的 iOS 应用程序使用 AVFAudio 框架为用户提供语音反馈。我希望这个应用程序也能在 Apple Silicon Macs(当中语音反馈并不是必要的)上运行。

然而,仅仅导入该框架后,上传到 App Store Connect 之后会收到以下警告电子邮件:

我们已经识别出了您应用程序“App Name”7.0(24)中的一个或多个问题。您的交付成功,但是您可能希望在下一次交付中更正以下问题:

ITMS-90863:Apple Silicon Macs 支持问题 - 应用程序链接到未在 Mac 上存在的库:

/System/Library/Frameworks/AVFAudio.framework/AVFAudio

我猜测这意味着该应用程序无法在 Mac 上运行。

我应该如何使该应用程序能够在 iOS 上使用 AVFAudio 框架,并且仍然可以在 AS Macs 上(有或没有 macOS 中的该框架)运行?

相关代码是:

import AVFoundation

class Speaker {

    var speechSynth: AVSpeechSynthesizer

    class func establishAudioSession() {
         do {
              try AVAudioSession.sharedInstance().setCategory(.playback, options: [.interruptSpokenAudioAndMixWithOthers, .duckOthers])
              try AVAudioSession.sharedInstance().setMode(.voicePrompt)
              try AVAudioSession.sharedInstance().setActive(true, options: [])

** 更新 / 澄清:**

请注意,我的项目不包括多个目标。如果有多个目标,这将相当简单。我想知道是否有一种利用新 AS Macs 能够在没有单独目标的情况下运行为 iOS 构建应用程序的方法来实现这一点。

使用此框架时,这是否可能?

** 更新 2:**

我已经向苹果提交了支持请求,他们的第一个建议是将

import AVFoundation

替换为

import AVFAudio

然后重新上传到 App Store Connect,但在尝试这种方法之后,我又收到了相同的警告电子邮件。当我再次听到他们的回复时,我会发布更新(或希望能够得到答案)。

0 个答案:

没有答案