当我从我的应用程序中使用AVPlayerItem(url: customUrl)
时,我得到以下运行时错误:
CredStore - performQuery - Error copying matching creds. Error=-25300, query={
class = inet;
"m_Limit" = "m_LimitAll";
"r_Attributes" = 1;
sync = syna;
}
错误是无害的,它只会阻止我的控制台。有趣的是我只从主应用程序中获取此错误,而不是从完全相同代码所在的键盘扩展名中获取此错误。应该注意我正在使用.mp3文件访问 https 网址。有任何想法如何消除运行时错误?
答案 0 :(得分:1)
这是系统尝试访问钥匙串项目且未找到时的错误。有关更多信息,请参见Link
@constant errSecItemNotFound 。找不到该项目。
errSecItemNotFound = -25300
因此,在AVFoundation内部,像语音转换一样的框架都在使用Keychain本身。
如果您使用自己的代码遇到此问题:
引用:Link
答案 1 :(得分:0)
问题似乎与App Transport安全有关,启用它后,它在iOS 13中的以下代码集工作正常 另外,您提供的上述网址似乎具有关联的https链接,请使用https链接或允许应用传输安全性
let avPlayerVC = AVPlayerViewController()
let url = URL(string: "https://transom.org/wp-content/uploads/2004/03/stereo_40kbps.mp3?_=7")!
let asset = AVURLAsset(url: url)
let item = AVPlayerItem(asset: asset)
let player = AVPlayer(playerItem: item)
avPlayerVC.player = player
present(avPlayerVC, animated: true) {
player.play()
}
但是这里我使用了AVPlayerViewController并使用了与代码中相同的AVPlayer实例。 我不知道您在您的情况下如何使用AVPlayer,但上述情况效果很好。