Post

Replies

Boosts

Views

Activity

Reply to What is video format supported on WKWebView ?
To avoid creating new thread, I want to bump this one. Ideally I expect the answer from apple developers, because I think such information must be pinned in wkwebkit documentation as well. Also, I appreciate experience sharing from other developers. So. Is there any video/audio codec best practices, guides, recommendations for app/web developers for best performance (take advantage from HW acceleration), power consumption saving? What are officially supported media containers? What are video encoding profiles, video dimensions, frame rates? The only official source I have found is https://developer.apple.com/documentation/webkit/delivering-video-content-for-safari?language=objc. But h264 is pretty old. I experimentally found that the VP9 video format is also supported on iOS newer versions. But is this a requirement? Сan i be sure that the video will play on all devices? Any hints/info is highly appreciated. Best regards.
Topic: UI Frameworks SubTopic: UIKit Tags:
May ’25
Reply to How to setup UIApplicationDelegate that uses UIScenes for mirroring with AirPlay
Dear Richard, Thank you for reply! Yes, I would like external device (MacBook) to display the same content as iOS device. I use fully programmatical approach. Sorry for the misleading information provided, by saying "window has already been created" I meant that the instance of UIWindow and its rootViewController has already been created, before I enabled "Screen Mirroring". After enabling "Screen Mirroring" I see the instantiation of second UIWindowSceneDelegate and willConnectToSession of the second instance is supplied with new scene instance. For my app this is actually the same as creating new instance of my app. To avoid creating second instances I've placed the following code: if(connectingSceneSession.role == UIWindowSceneSessionRoleExternalDisplayNonInteractive) { return nil; } in AppDelegate's configurationForConnectingSceneSession method. But this is not documented, and I am not sure if this will work for all cases. In willConnectToSession. It takes place after connecting to the AirPlay receiver. Yes, using the built-in Screen Mirroring button in iOS:
Topic: UI Frameworks SubTopic: UIKit
Feb ’26
Reply to How to setup UIApplicationDelegate that uses UIScenes for mirroring with AirPlay
I would expect that: <dict> <key>UIApplicationSceneManifest</key> <dict> <key>UIApplicationSupportsMultipleScenes</key> <false/> </dict> </dict> should be enough that application(_:configurationForConnecting:options:) is called at most once, because I explicitly said that I don't support multiple scenes. But even if I define scene configuration in Info.plist: <dict> <key>UIApplicationSceneManifest</key> <dict> <key>UIApplicationSupportsMultipleScenes</key> <false/> <key>UISceneConfigurations</key> <dict> <key>UIWindowSceneSessionRoleApplication</key> <array> <dict> <key>UISceneConfigurationName</key> <string>Default Configuration</string> <key>UISceneDelegateClassName</key> <string>SceneDelegate</string> </dict> </array> </dict> </dict> </dict> application(_:configurationForConnecting:options:) is still called twice. I defined the single scene configuration I support and defined that I don't support multi scene, so I would expect that this method is not called at all. Best regards.
Topic: UI Frameworks SubTopic: UIKit
Feb ’26
Reply to Is there any frameworks/API to deal with app's precise performance tuning for iOS platform?
btw, I am aware of https://developer.apple.com/documentation/foundation/nsprocessinfothermalstate?language=objc for monitoring thermal state.
Topic: Graphics & Games SubTopic: General Tags:
Replies
Boosts
Views
Activity
Nov ’24
Reply to What is video format supported on WKWebView ?
To avoid creating new thread, I want to bump this one. Ideally I expect the answer from apple developers, because I think such information must be pinned in wkwebkit documentation as well. Also, I appreciate experience sharing from other developers. So. Is there any video/audio codec best practices, guides, recommendations for app/web developers for best performance (take advantage from HW acceleration), power consumption saving? What are officially supported media containers? What are video encoding profiles, video dimensions, frame rates? The only official source I have found is https://developer.apple.com/documentation/webkit/delivering-video-content-for-safari?language=objc. But h264 is pretty old. I experimentally found that the VP9 video format is also supported on iOS newer versions. But is this a requirement? Сan i be sure that the video will play on all devices? Any hints/info is highly appreciated. Best regards.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
May ’25
Reply to How to setup UIApplicationDelegate that uses UIScenes for mirroring with AirPlay
Dear Richard, Thank you for reply! Yes, I would like external device (MacBook) to display the same content as iOS device. I use fully programmatical approach. Sorry for the misleading information provided, by saying "window has already been created" I meant that the instance of UIWindow and its rootViewController has already been created, before I enabled "Screen Mirroring". After enabling "Screen Mirroring" I see the instantiation of second UIWindowSceneDelegate and willConnectToSession of the second instance is supplied with new scene instance. For my app this is actually the same as creating new instance of my app. To avoid creating second instances I've placed the following code: if(connectingSceneSession.role == UIWindowSceneSessionRoleExternalDisplayNonInteractive) { return nil; } in AppDelegate's configurationForConnectingSceneSession method. But this is not documented, and I am not sure if this will work for all cases. In willConnectToSession. It takes place after connecting to the AirPlay receiver. Yes, using the built-in Screen Mirroring button in iOS:
Topic: UI Frameworks SubTopic: UIKit
Replies
Boosts
Views
Activity
Feb ’26
Reply to How to setup UIApplicationDelegate that uses UIScenes for mirroring with AirPlay
I would expect that: <dict> <key>UIApplicationSceneManifest</key> <dict> <key>UIApplicationSupportsMultipleScenes</key> <false/> </dict> </dict> should be enough that application(_:configurationForConnecting:options:) is called at most once, because I explicitly said that I don't support multiple scenes. But even if I define scene configuration in Info.plist: <dict> <key>UIApplicationSceneManifest</key> <dict> <key>UIApplicationSupportsMultipleScenes</key> <false/> <key>UISceneConfigurations</key> <dict> <key>UIWindowSceneSessionRoleApplication</key> <array> <dict> <key>UISceneConfigurationName</key> <string>Default Configuration</string> <key>UISceneDelegateClassName</key> <string>SceneDelegate</string> </dict> </array> </dict> </dict> </dict> application(_:configurationForConnecting:options:) is still called twice. I defined the single scene configuration I support and defined that I don't support multi scene, so I would expect that this method is not called at all. Best regards.
Topic: UI Frameworks SubTopic: UIKit
Replies
Boosts
Views
Activity
Feb ’26