iOS 版本的 AirPlay 图标不同
AirPlay icon differs with iOS versions
我正在将 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
}
}
我在 Apple 的文档中找不到任何关于此的内容。有什么建议吗?
Apple 会定期更新其设计,这似乎是 Airplay 在 iOS 12 和 iOS 13 之间发生的事情。
我找不到专门关于此事的资源,但由于您的代码非常标准,并且您依赖 AVRoutePicker
,所以您没有做错 :)
我正在将 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
}
}
我在 Apple 的文档中找不到任何关于此的内容。有什么建议吗?
Apple 会定期更新其设计,这似乎是 Airplay 在 iOS 12 和 iOS 13 之间发生的事情。
我找不到专门关于此事的资源,但由于您的代码非常标准,并且您依赖 AVRoutePicker
,所以您没有做错 :)