目标:我的应用程序中的网络流量收集。
为了收集所有网络流量,我自定义URLProtocol。通过正常的GET或Json的POST请求,一切正常。但它使音频播放部分无法正常工作。我的音频播放部分基于AVPlayer和AVPlayerItem。如果我取消注册自定义协议,则再次播放音频。它们中间有两个连接吗?
根据https://forums.developer.apple.com/thread/75328,AVPlayer确实通过URL加载系统,但这些请求是在辅助进程(mediaserverd)中进行的,因此不会“看到”自定义NSURLProtocol子类。
这里发布我自定义protocol.https://github.com/JimmyOu/JODevelop/blob/master/JODevelop/Tool/performance_Monitor/Network/NEHTTPMonitor.m的实现
谢谢大家。
没有办法处理它。你不能自定义协议来处理AVPlayer的工作人员。我的妥协是过滤.mp4或.mp3 url牺牲了一些丢失的网络流量。但它不会犯错误