ios - 禁用 SwiftUI 应用程序的 iTunesStore 访问 - 摆脱 "Error retrieving iTunesStore accounts"警告

标签 ios swift xcode swiftui

在我的应用程序中,我正在使用 MPMediaQuery 访问本地 iTunes 音乐.我只需要在 iOS 设备上查询本地音乐,不需要访问 Apple Music/iTunesStore。

swift 版本:5
iOS 目标:14.x

为了访问本地音乐,我将其添加到我的 Info.plist 中:

<key>NSAppleMusicUsageDescription</key>
<string>Music player needs access to your music</string>

这是我最初的 Swift 代码:

import MediaPlayer

struct Track {
    let url: URL
    let artist: String?
    let title: String?
}

class ViewModel: ObservableObject {
    @Published var tracks: [Track] = [Track]()
    
    init() {
        MPMediaLibrary.requestAuthorization { status in
            if status == .authorized {
                DispatchQueue.main.async {
                    let mediaItems: [MPMediaItem] = MPMediaQuery.songs().items!
                    
                    for item in mediaItems {
                        self.tracks.append(Track(url: item.assetURL!, artist: item.artist, title: item.title))
                    }
                }
            }
        }
    }
}

struct ContentView: View {
    @ObservedObject var viewModel = ViewModel()
    
    var body: some View {
        VStack() {
            List {
                ForEach(self.viewModel.tracks, id: \.url) { track in
                    VStack(alignment: .leading) {
                        Text(track.artist ?? "")
                        Text(track.title ?? "")
                    }
                }
            }
        }
    }
}

在我的 iPhone 上运行此代码时,我在 Xcode 日志中收到以下警告:

2020-09-29 15:42:37.395885+0200 Playground1[12541:1125769] [core] "Error returned from daemon: Error Domain=com.apple.accounts Code=9 "(null)""
2020-09-29 15:42:37.396041+0200 Playground1[12541:1125769] [iTunesCloud] ACAccountStore 0x280597090 - Error retrieving iTunesStore accounts. err=Error Domain=com.apple.accounts Code=9 "(null)"
2020-09-29 15:42:37.397384+0200 Playground1[12541:1125769] [core] "Error returned from daemon: Error Domain=com.apple.accounts Code=9 "(null)""
2020-09-29 15:42:37.397491+0200 Playground1[12541:1125769] [iTunesCloud] ACAccountStore 0x280597090 - Error retrieving iTunesStore accounts. err=Error Domain=com.apple.accounts Code=9 "(null)"
2020-09-29 15:42:37.407044+0200 Playground1[12541:1125769] [core] "Error returned from daemon: Error Domain=com.apple.accounts Code=9 "(null)""
2020-09-29 15:42:37.407147+0200 Playground1[12541:1125769] [iTunesCloud] ACAccountStore 0x280597090 - Error retrieving iTunesStore accounts. err=Error Domain=com.apple.accounts Code=9 "(null)"
2020-09-29 15:42:37.407200+0200 Playground1[12541:1125769] [iTunesCloud] ACAccountStore 0x280597090 - Error retrieving local store account. err=Error Domain=com.apple.accounts Code=9 "(null)"
2020-09-29 15:42:37.407250+0200 Playground1[12541:1125769] [iTunesCloud] [ICUserIdentityStore] Failed to fetch local store account with error: Error Domain=com.apple.accounts Code=9 "(null)".

如何抑制这些警告? 我可以完全禁用我的应用程序的任何 iTunesStore/Apple Music 功能吗?

最佳答案

我刚看到你的问题。

这是记录在案的 Apple 错误 here以及其他地方。

当我的代码使用 MPMediaQuery 时,我还没有找到阻止这些警告的方法。

很抱歉成为坏消息的传递者。 :-(

关于ios - 禁用 SwiftUI 应用程序的 iTunesStore 访问 - 摆脱 "Error retrieving iTunesStore accounts"警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64122102/

相关文章:

ios - 如何像 iOS "Contacts"应用程序一样显示搜索结果

ios - Swift + Core Data 只保存最后一个循环。

swift - 无法在 Collection View 方法中使用performSegue

ios - 将工具栏定位在屏幕顶部,底部有正确的阴影

iOS 应用程序在没有链接必要框架的情况下工作

ios - UITableView 在单元格下方扩展不同的背景颜色

ios - 为什么 Slides[i].frame 打印的值与 SlideScrollView.subviews[i].frame 不同

ios - 更新到 Xcode 5.1.1 后,fontWithName 为自定义字体返回 nil

ios - 无法在 XCode 6.1.1 中更改字体

ios - userNotificationCenter 中的 completionHandler 实际上做了什么?