Hi all,
I deployed a static site and two of my imgs are not appearing on some iPhones. It's not showing up on my iPhone 15 Pro but it's appearing on an iPhoneSE and androids. When I long click them, they actually show up in preview and can even open the images in a different tab, so they're just transparent. Does anyone have any idea why this is happening?
Explore the integration of web technologies within your app. Discuss building web-based apps, leveraging Safari functionalities, and integrating with web services.
Post
Replies
Boosts
Views
Activity
Hello, my radio streaming app worked well in iOS 17.2 and earlier but from iOS 17.4 streaming no longer works, what has changed? What do I have to do in my app?
import UIKit
import WebKit
class ViewController: UIViewController, WKNavigationDelegate {
@IBOutlet weak var mWebView: WKWebView!
private let url: URL = URL(string: "https://mi web")!
override func viewDidLoad() {
super.viewDidLoad()
let configuration = WKWebViewConfiguration()
// Configurar preferencias de la página web
let preferences = WKPreferences()
preferences.javaScriptEnabled = true
configuration.preferences = preferences
mWebView.navigationDelegate = self
mWebView.load(URLRequest(url: url))
}
}
Dear Apple Community,
I am writing to seek assistance with a challenge I've encountered regarding the playback of WebM video format in Safari.
Despite various attempts and troubleshooting, I've been unable to successfully play WebM videos in Safari using the HTML5 video tag with provided Blob URLs. The videos, which are recorded in WebM format using browsers such as Chrome, fail to play in Safari, causing inconvenience for users who rely on this browser for their browsing needs.
I understand that Safari may have certain limitations and compatibility issues with certain multimedia formats, but as WebM gains popularity as a widely used format for web-based videos, its support in Safari would greatly enhance the browsing experience for many users.
I'm reaching out to inquire if there are any known solutions, workarounds, or plans to address this issue. Specifically, I've attempted to utilize the HTML5 video tag with Blob URLs to play WebM videos in Safari, but to no avail. If there are alternative methods or techniques that I may have overlooked, I would greatly appreciate any guidance or assistance in enabling playback of WebM videos in Safari.
Ensuring cross-browser compatibility and seamless playback of multimedia content is crucial for providing a consistent and enjoyable user experience across different platforms and environments. Any insights or recommendations from the Apple community would be immensely helpful in resolving this issue.
Thank you for your attention to this matter, and I look forward to your response.
Sincerely,
Umair Khan
My videos have stopped loading on canvas after the iOS 17.4 update. I tried partially loading the videos instead of loading them entirely and it works on safari but not on chrome.
Any ideas on how I can fix this issue? What is the recommended way of loading videos on canvas for browsers on iOS?
How exactly am I supposed to implement the following delegate method of WKWebView?
func webView(_ webView: WKWebView, showLockdownModeFirstUseMessage message: String, completionHandler: @escaping (WKDialogResult) -> Void)
The problem: the delegate method is defined to be available since iOS 13. But "WKDialogResult" in the completion handler is declared to be available since iOS 16.
So this is already very odd and probably a bug in the API declaration.
When I make the delegate method available since iOS 16 (via @available (iOS 16.0,*)) then Xcode gives me an error stating that this method must be provides for iOS 14 and later. But when it is made available since iOS 14 (or 13), then I get the error that WKDialogResult is only available since iOS 16.
So this looks like a big messy bug in the API declaration, or did I miss something here?
It would not the first bug in the API declaration of the WKWebView where the availability is wrong (for example the property "upgradeKnownHostsToHTTPS" is declared to available since iOS 14.5, but in reality it is only available since iOS 16 and would crash when used under iOS 14.5)
I have created a new build for my Safari web extension and distrbuted it to test flight. Test Flight says I am using the correct version - but when I go to the Setting > Extensions in Safari and enable it - it still has the old version number.
App Store showing the correct version is in testing
Test Flight confirming said version number
Safari with the incorrect version
Any idea what I am doing wrong?
Since iOS 17.4 when open a camera in Safari, video stop when download popup appear and video doesn't restart expect when go to home menu and reopen Safari
This comportment wasn't present before 17.4
To Reproduce : https://zcqqjd.csb.app/
Step 1 : Click on start Camera
Step 2 : Click on Download Picture
Is there any reference/documentation/discussion about the motivation for including the WKWebView loadSimulatedRequest() method?
Is it intended to be used for testing? Page load performance enhancement?
I'm wondering if there is a way to leverage its usage in our webview dependent app.
Safari is allowing users to create multiple passkeys despite setting the excludeCredentials in PublicKeyCredentialCreationOptions (https://developer.mozilla.org/en-US/docs/Web/API/CredentialsContainer/create#excludecredentials). I also included appidExclude(https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API/WebAuthn_extensions#appidexclude) but it was still allowing me to create multiple passkeys on the same iCloud account.
This does not happen in other browsers.
Can anyone point me to any documentation regarding this? Much appreciated
https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API/WebAuthn_extensions#appidexclude
https://developer.mozilla.org/en-US/docs/Web/API/CredentialsContainer/create#excludecredentials
<div class="container" style="background-size: contain; user-select: none; pointer-events: none; height: 787.5px; width: 1400px;">
<div class="container__header">header</div>
<span>
<div class="video-container" style="inset: 17.853% 68% 11.747% 1%; z-index: 2; opacity: 1;">
<div class="video-container__placeholder-image">image</div>
<div class="video-container__content">
<div class="some-info"></div>
<div class="video-canvas"></div>
<div class="other-info"></div>
</div>
</div>
<div class="video-container" style="inset: 17.853% 1% 11.747% 33%; z-index: 1; opacity: 1;">
<div class="video-container__placeholder-image">image</div>
<div class="video-container__content">
<div class="video-canvas">
<div class="player" style="width: 100%; height: 100%; position: relative; overflow: hidden; background-color: black;">
<video playsinline="" muted="" style="object-fit: cover; width: 100%; height: 100%; position: absolute; left: 0px; top: 0px;"></video>
</div>
</div>
</div>
</div>
</span>
</div>
The page looks like
Then, the html changed as follows,
<div class="container" style="background-size: contain; user-select: none; pointer-events: none; height: 787.5px; width: 1400px;">
<div class="container__header">header</div>
<span>
<div class="video-container" style="inset: 100% 100% 0% 0%; z-index: 2; opacity: 0;">
<div class="video-container__placeholder-image">image</div>
<div class="video-container__content">
<div class="some-info"></div>
<div class="video-canvas"></div>
<div class="other-info"></div>
</div>
</div>
<div class="video-container" style="style="inset: 6.106% 5.98719% 0%; z-index: 3; opacity: 1;"">
<div class="video-container__placeholder-image">image</div>
<div class="video-container__content">
<div class="video-canvas">
<div class="player" style="width: 100%; height: 100%; position: relative; overflow: hidden; background-color: black;">
<video playsinline="" muted="" style="object-fit: cover; width: 100%; height: 100%; position: absolute; left: 0px; top: 0px;"></video>
</div>
</div>
</div>
</div>
</span>
</div>
From the mac developer tools, the width of the video is 1400px, but it render like the size is same as before in iOS17+(iOS17.1 and iOS17.3.1).
The expected results looks like
the actual results are looks like
I tried the same operators in iOS 14.6 and 16.4 and it worked as expected, this problem likes only exists in iOS17+.
Please help me to resolve this problom. Thanks.
Hi all,
An app that until yesterday would take 1 second to render a list in the WKWebView is now taking over 3 minutes to load.
No changes have been made to the app or the content that it is showing.
I have tested on a device running 17.3, and performance has been acceptable, and then updated to the latest security fix (17.4.1) and now 3 minutes.
Having read the release notes https://support.apple.com/en-us/HT214097 I cant see what would have affected either the processing of javascript or the rendering of content within the web view.
My team is currently running all our apps that use a hosted WKWebView within it to ensure that they aren't affected, but this one app is now unusable and safety concern for the users (Airline Safety).
Has anyone else experienced this or has a workaround - Sorry there are no logs (I have been scanning the device logs and nothing new is appearing - almost as if the operation is just dead locked).
Hi! I've faced with a problem while using input navigation arrows. When I focus the last field and then click on the down arrow - it takes me to the first field in the beginning of the screen
I'm trying to develop a Safari app extension and want to enable a persistent background page for it. I could find examples of how to enable it for Web extensions using manifest.json, but for App Extension it seems that I need to use Info.plist and I couldn't find any documentation on it. How can I use the background page?
Hello,
I am currently developing an Angular application. In the application, there are labels containing "Name" above some input fields.
If these inputs contain a "Name" label;
(I should mention here that this problem is observed not only in the label tag, but also in the span and p tags) I think it suggests the names of the people in the contacts in the input field.
If you open up that link in Safari, you can try that behavior.
https://stackblitz.com/edit/stackblitz-starters-lvykt2?file=index.html
Good evening, I am having problems with my WebRTC application when an iPhone or Macbook is connected. This only happens when an iPhone or Macbook is connected, as tests with Windows or Android devices have shown no issues.
As can be seen in the screenshot below, it appears that the datachannel is not initialised correctly. In fact, the webcam and microphone do not work even if permissions are given by the user, and messages and the remote webcam are not sent/shown.
If I open chrome console on Windows, this is the error I get in the console
Could you please help me investigate this problem. If you want, you can have full access to my application at https://www.fourmeet.it. I attach the functions that seem to be responsible for the problems:
const configuration = {
iceServers: [...turnServers, { urls: 'stun:stun.1und1.de:3478'}],
iceTransportPolicy: 'relay'
};
peerConection = new RTCPeerConnection(configuration);
dataChannel = peerConection.createDataChannel("chat");
peerConection.ondatachannel = (event) => {
const dataChannel = event.channel;
dataChannel.onopen = () => {
console.log("peer connection is ready to receive data channel messages");
};
dataChannel.onmessage = (event) => {
console.log("message came from data channel");
const message = JSON.parse(event.data);
ui.appendMessage(message);
};
};
peerConection.onicecandidate = (event) => {
console.log("geeting ice candidates from stun server");
if (event.candidate) {
// send our ice candidates to other peer
wss.sendDataUsingWebRTCSignaling({
connectedUserSocketId: connectedUserDetails.socketId,
type: constants.webRTCSignaling.ICE_CANDIDATE,
candidate: event.candidate,
});
}
};
peerConection.onconnectionstatechange = (event) => {
if (peerConection.connectionState === "connected") {
console.log("succesfully connected with other peer");
}
};
const stringifiedMessage = JSON.stringify(message);
if (dataChannel && dataChannel.readyState === 'open') {
dataChannel.send(stringifiedMessage);
} else {
console.log('canale non aperto');
}
};
not working html embed code
appState=foreground
2024-04-10 10:01:12:439,IPHONE_1ND,10.5.80.6000,3,460000000000000|86dmsu7m2t8cs7w,83D44481-559B-4D5D-BC1F-2E643CF08A16,2088512449022223,exception,-,call_write_crash_log_api,-,-,MonitorPoint_Crash,-,apple-iphone,release,-,-,-,-,-,iPhone16 2,17.4.1,WIFI|--,-,10.5.80.6000,ZbsnB/YU+YsDAEHUUPE53+9a,follow_system_zh-Hans-CN,-,-,-,-,-,-,VoiceOver=0^TimeZone=Asia/Shanghai^AppStatus=background^CIP=(null)^AppSession=195C885D-0152-46E8-8E6D-F6D38D5E0A81^appMode=normal^editionId=300003^lowEnd=T^buildNumber=21E236^simC=2,1,00000000-0000-0000-0000-000000000000
Incident Identifier: 795088EB-76F2-460F-A323-9290DEE9B37F
CrashReporter Key:
Hardware Model: iPhone16 2
Process: AlipayWallet [972]
Path: /private/var/containers/Bundle/Application/EAD57E87-932E-4952-9714-C0B852F3A773/AlipayWallet.app/AlipayWallet
Identifier: com.alipay.iphoneclient
Version: 10.5.80 (10.5.80.6000)
Code Type: ARM-64
Parent Process: [1]
Date/Time: 2024-04-10 02:00:47 +0000
OS Version: iPhone OS 17.4.1 (21E236)
Report Version: 104
Exception Type: SIGBUS
Exception Codes: BUS_ADRERR at 0x16b477fe8
Crashed Thread: 0
Thread 0 Crashed:
0 CoreFoundation 0x0000000190fd5aa8 _generationCountFromListOfSources :104 (in CoreFoundation)
1 CoreFoundation 0x0000000190fd389c -[CFPrefsSearchListSource alreadylocked_generationCountFromListOfSources:count:] :80 (in CoreFoundation)
2 CoreFoundation 0x0000000190f7a3fc -[CFPrefsSearchListSource alreadylocked_getDictionary:] :492 (in CoreFoundation)
3 CoreFoundation 0x0000000190f79f68 -[CFPrefsSearchListSource alreadylocked_copyValueForKey:] :172 (in CoreFoundation)
4 CoreFoundation 0x0000000190f79e9c -[CFPrefsSource copyValueForKey:] :52 (in CoreFoundation)
5 CoreFoundation 0x0000000190f79e50 ___76-[_CFXPreferences copyAppValueForKey:identifier:container:configurationURL:]_block_invoke :32 (in CoreFoundation)
6 CoreFoundation 0x0000000190fcafb4 ___108-[_CFXPreferences(SearchListAdditions) withSearchListForIdentifier:container:cloudConfigurationURL:perform:]_block_invoke :392 (in CoreFoundation)
7 CoreFoundation 0x0000000190fcadc4 _normalizeQuintuplet :356 (in CoreFoundation)
8 CoreFoundation 0x0000000190fcac38 -[_CFXPreferences withSearchListForIdentifier:container:cloudConfigurationURL:perform:] :164 (in CoreFoundation)
9 CoreFoundation 0x0000000190fcab38 -[_CFXPreferences copyAppValueForKey:identifier:container:configurationURL:] :156 (in CoreFoundation)
10 CoreFoundation 0x0000000190fca940 __CFPreferencesCopyAppValueWithContainerAndConfiguration :112 (in CoreFoundation)
11 CoreFoundation 0x000000019101a5ec __CFPreferencesGetAppIntegerValueWithContainer :56 (in CoreFoundation)
12 WebKit 0x00000001a651d77c -[WKWebViewConfiguration init] :232 (in WebKit)
13 WebKit 0x00000001a651de28 -[WKWebViewConfiguration copyWithZone:] :48 (in WebKit)
14 WebKit 0x00000001a64e00f8 -[WKWebView configuration] :28 (in WebKit)
15 WebKit 0x00000001a6d93d54 -[WKContentView(WKInteraction) _cascadeInteractionTintColor] :36 (in WebKit)
16 WebKit 0x00000001a6d93f3c -[WKContentView(WKInteraction) _updateTextInputTraitsForInteractionTintColor] :24 (in WebKit)
17 WebKit 0x00000001a6d9d0d0 -[WKContentView(WKInteraction) _updateTextInputTraits:] :1004 (in WebKit)
18 WebKit 0x00000001a6db5de0 -[WKContentView(WKInteraction) extendedTraitsDelegate] :136 (in WebKit)
19 WebKit 0x00000001a6d93a54 -[WKContentView(WKInteraction) insertionPointColor] :48 (in WebKit)
20 UIKitCore 0x000000019338f674 +[UIKBRenderConfig configForAppearance:inputMode:traitEnvironment:] :272 (in UIKitCore)
21 UIKitCore 0x000000019338eb9c -[UIView(UIKB_UIViewExtras) _inheritedRenderConfig] :332 (in UIKitCore)
22 UIKitCore 0x0000000193d32794 -[UICandidateViewController overrideUserInterfaceStyle] :44 (in UIKitCore)
23 UIKitCore 0x00000001939790c4 ___78-[UIViewController _traitCollectionByApplyingLocalOverridesToTraitCollection:]_block_invoke :172 (in UIKitCore)
24 UIKitCore 0x00000001931fbd10 -[UITraitCollection _traitCollectionByModifyingTraitsCopyOnWrite:] :252 (in UIKitCore)
25 UIKitCore 0x0000000193978b08 -[UIViewController _traitCollectionByApplyingLocalOverridesToTraitCollection:] :116 (in UIKitCore)
26 UIKitCore 0x0000000193201c40 -[UIViewController traitCollection] :228 (in UIKitCore)
27 UIKitCore 0x0000000193206a9c __UIGetCurrentFallbackTraitCollection :180 (in UIKitCore)
28 UIKitCore 0x0000000193205568 _UIViewCommonInitWithFrame :548 (in UIKitCore)
29 UIKitCore 0x00000001932052f4 -[UIView initWithFrame:] :132 (in UIKitCore)
Hi,
I am creating a native application for the Vision Pro. I am looking to integrate a window with WebXR content that can open an immersive space.
I am able to do this from Safari and using a SFSafariViewController, however, I would like to use WKWebView inside my native application to do something similar (as this does not open an additional Safari window before allowing WebXR content).
It seems in this current version, the WKWebView does not support WebXR? Is this true or is there any additional preferences that I need to add to enable this in this component.
in demo ,load index.html into WKWebView, when i click file button, the camera page present and then dismiss quickly
ViewController.h
@property (nonatomic, strong) WKWebView *wkWebView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
WKWebViewConfiguration *configuration = [WKWebViewConfiguration new];
self.wkWebView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, 400, 300) configuration:configuration];
NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];
[self.wkWebView loadFileURL:url allowingReadAccessToURL:[[NSBundle mainBundle] bundleURL]];
self.wkWebView.backgroundColor = [UIColor blueColor];
[self.view addSubview:self.wkWebView];
}
index. html
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<div>
<label style="font-size: 40px;">open camera</label>
<input type="file" accept="image/*" capture="camera" id="file-input" class="file-input">
</div>
</body>
</html>
In iOS version 17.4 and above, we have observed that the following code works fine upon the initial opening. However, after minimizing the page and reopening it, there is a chance of encountering issues with abnormal lines.
Please note the reproduction conditions: try minimizing the page, opening other apps, and then reopening it multiple times.
The code is in the comments section.
first time:
After minimizing and reopening...