由于实施差距导致问题的可能性:
使用 AVPlayerViewController 的体验: 最初确定我们设置了播放音频类别,一般当我们使用 AVPlayerViewController 播放视频内容时。如果开发的应用程序进入后台,将自动调用 PIP 模式,但前提是满足下面提到的条件,第一个是我们正在使用的播放器应该是全屏模式,第二个是我们应该确保视频应该是在其中播放,第三个是 PIP 应该由设备支持,最后编写委托方法以在用户从画中画模式返回时恢复我们的播放器 UI。
使用 _AVPictureInPictureController 实现:您可以在下面的线程中找到一个工作示例。
如何显示 AVPictureInPictureController?
深入研究问题:
为了确认未声明的错误不是由于实现中的差距,而是由于 Xcode 中的 environmnet,下载源代码,然后将 Sources 文件夹添加到工作区的另一个文件夹中。使用“添加文件夹”将文件添加到...”选项,现在在 xcode 中进行验证。
由于 XCODE 中的刷新而导致问题的可能性
尝试通过方法修复 1
将类显式包含在标题和/或正文中 - 而不是 *.pch 文件。那么这个错误可能会消失。有时也可以删除派生数据。您最近是否更改了偏好中的位置。有些人在将 ramdisk 用于派生数据然后返回默认值时会出现此错误。这是最烦人的情况——因为它会导致这个错误出现在几乎每个文件中。
尝试通过方法 2 修复
有时,一个简单的解决方案可能有助于从 pch 文件中删除 #import 行并重新编译,这将按预期失败。然后将删除的行放回原处,重新编译并正常编译,所有错误错误都消失了。
XCODE 错误缓存出现问题的可能性,请按照以下步骤清理构建:Command-Option-Shift-K 清理构建文件夹。重置模拟器:选择 iOS 模拟器 > 重置内容和设置 重新启动 Xcode 删除 ~/Library/Developer/Xcode/DerivedData 中的 DerivedData 文件夹 重新启动计算机
以非常有针对性的方式删除 /var/folders。rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
来源:
如何清空缓存和清理所有目标 Xcode 4 及更高版本
Xcode“使用未声明的标识符”错误,编译/运行得很好
在 Xcode 9.0 中使用未声明的标识符
https://developer.apple.com/documentation/avkit/adopting_picture_in_picture_in_a_standard_player