在我的应用程序中,我正在使用 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 功能吗?
最佳答案
关于ios - 禁用 SwiftUI 应用程序的 iTunesStore 访问 - 摆脱 "Error retrieving iTunesStore accounts"警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64122102/