Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AirPlay图标与iOS版本不同_Ios_Swift_Airplay - Fatal编程技术网

AirPlay图标与iOS版本不同

AirPlay图标与iOS版本不同,ios,swift,airplay,Ios,Swift,Airplay,我正在将AirPlay集成到我的应用程序中。我们目前支持iOS 11-13。在iOS 13上,当我连接到AppleTV时,我看到预期的AirPlay图标(指向内部的箭头的横向矩形)。当我使用iOS 12设备并连接到同一个AppleTV时,我看到的是音频图标(箭头中有一组圆圈) 我的AirPlay图标代码看起来像 let button = AVRoutePickerView(frame: frame) button.delegate = self button.tintColor = .white

我正在将AirPlay集成到我的应用程序中。我们目前支持iOS 11-13。在iOS 13上,当我连接到AppleTV时,我看到预期的AirPlay图标(指向内部的箭头的横向矩形)。当我使用iOS 12设备并连接到同一个AppleTV时,我看到的是音频图标(箭头中有一组圆圈)

我的AirPlay图标代码看起来像

let button = AVRoutePickerView(frame: frame)
button.delegate = self
button.tintColor = .white
button.activeTintColor = .white

if #available(iOS 13.0, *) {
  button.prioritizesVideoDevices = true
}

addSubview(button)
我在plist文件中添加了以下条目:

AirPlay optimization policy : String : Long Form Video
最后,我在AVAudioSession.sharedInstance()应用程序服务上设置了
.playback
&
.moviePlayback

class AudioSessionService : NSObject, ApplicationService {

  static func configureAudioSession() {
    do {
      try AVAudioSession.sharedInstance().setCategory(.playback, mode: .moviePlayback)
    } catch {}
  }

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
    AudioSessionService.configureAudioSession()

    return true
  }

}

我在苹果的文档中找不到任何关于这方面的信息。有什么建议吗?

苹果公司定期更新其设计,这似乎是iOS 12和iOS 13之间在Airplay上发生的事情。 我找不到关于这个问题的具体来源,但由于您的代码相当标准,并且您依赖于
AVRoutePicker
,所以您没有做错:)