来自AVPlayer的错误= -25300

时间:2017-11-24 12:38:18

标签: ios swift avplayer

当我从我的应用程序中使用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 网址。有任何想法如何消除运行时错误?

2 个答案:

答案 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,但上述情况效果很好。