Safari Developer Tools

RSS for tag

Inspect, edit, debug, and check the performance of your web content using Safari developer tools.

Safari Developer Tools Documentation

Posts under Safari Developer Tools tag

68 Posts
Sort by:
Post not yet marked as solved
2 Replies
254 Views
Ever since 17.4.1 updates to Safari, we are unable to debug our web applications using Safari. Was working perfectly fine before. Safari shows "No Inspectable Applications" in the Develop -> iPadName menu. We have 3 target iPads (Mini, Air and gen 10) and one iPhone 13 Pro Max, all on iPadOS and iOS 17.4.1, all of them show "No Inspectable Applications" in the menu. iPad Mini and iPhone were both visible fine before the 17.4.1 update. Other devices were already updated automagically to 17.4.1 so we couldn't check the before - after scenario. Safari running on iPad simulator with XCode 15.2 has same behaviour. We tried debugging with latest version of following MacOS: MacOS Sonoma (Macbook Pro M2) MacOS Sonoma (Mac Mini M1) MacOS Ventura (Macbook Pro i9) All of those have same behaviour: "No Inspectable Applications". We tried Safari Tech Preview and iPadOS 17.5 beta 2 and no change. Are we missing something?
Posted
by
Post not yet marked as solved
2 Replies
268 Views
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.
Posted
by
Post not yet marked as solved
1 Replies
157 Views
Please bring back the a list of devices for devs to select from. This should not be hard to provide for your own products. Also, please allow users to set their own custom width/height dimensions. This is a really simple (arguably should be a mandatory for responsive design) feature.
Posted
by
Post not yet marked as solved
0 Replies
266 Views
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'); } };
Posted
by
Post not yet marked as solved
0 Replies
324 Views
I'm wondering if there's a way to capture the SSL/TLS key log / ephemeral keys from Safari for troubleshooting like there is for Firefox & Chrome by setting the SSLKEYLOGFILE environment variable. I'm troubleshooting an issue where Safari doesn't load certain CSS and JPEG elements on the first load, but when hitting refresh, those same elements load fine. Clearing the cache or using "disable caches" in the network tab of the inspector will cause the elements to fail to load again. Safari shows that it received a header, but no content. Wireshark shows four TCP/RST packets coming from the client / Safari. The same site loads without issue every time using Firefox or Chromium. I'm hoping that someone knows how to capture the TLS session keys from Safari so I can look deeper into the packet capture and figure out if Safari is incorrectly parsing the server's response or if there is some subtle corruption in the response that Safari rejects, but other browsers accept. So, does anyone know how to capture the raw data transfer or TLS session keys from Safari? Thank you!
Posted
by
Post not yet marked as solved
0 Replies
241 Views
Smart App Banner is integrated on the backend where Apple ID is used. The banner is displayed on the website when the app is publicly distributed via Appstoreconnect and available in the App Store. The Privately distributed app has Apple ID and registered in the App Store and is distributed via client's Apple Business Management account. Does Smart App Banner work if the app is privately distributed?
Posted
by
Post marked as solved
1 Replies
340 Views
We need to debug a website running inside a WkWebView on visionOS. To debug it, I want to connect my desktop Safari to it. However, at least in the simulator there is no option in visionOS' Safari settings to enable Web Debugging. Is this missing, or can it be found elsewhere?
Posted
by
Post marked as solved
2 Replies
506 Views
Hello everyone, During the development of our company's web application, I found something intriguing in the CPU usage and load conditions on the iPhone 15 Pro series. While monitoring these statistics from the Safari console, the CPU usage sometimes exceeded 100% and even rose to a maximum of 190%. I'm curious about a couple of things: 1.What exactly is the baseline for 100% CPU usage? 2.What state does the device enter when it starts exceeding 100% CPU usage? For instance, is it utilizing the use rate normally allocated to Safari plus some extra reserve? The process used for checking the load is as follows: 1.Connect the iPhone device with MacBook via a USB Cable. 2.To test for a web application, I executed it on the iPhone Safari browser. 3.While it's running, I measured the CPU load on the MacBook, using Safari to obtain the console of the iPhone's browser. Any help in understanding this would be highly appreciated. Thank you.
Posted
by
Post marked as solved
1 Replies
413 Views
On Safari Mobile and iOS version 16 or 17, while scrolling the webpage, the function browser.tabs.captureVisibleTab() is not returning the expected screen image. The image is cropped from the top. The probable reason for the same is the collapsible Address Bar. The below attached image is the iPad mini (6th generation ) Simulator OS Version:17.0 simulator The below attached image is created by browser.tabs.captureVisibleTab() I tested it on iPad mini (6th generation ) Simulator OS Version:17.0 and iPad (8th generation) - iPadOS Version 16.2.
Posted
by
Post not yet marked as solved
0 Replies
380 Views
I'm using standard Safari Web Push, but my notifications aren't coming through. I'm trying to debug this. Is it possible to use the Apple Push Notifications Console to debug/analyze Safari Web Push deliverability? I can't figure out how to use it for web push. When I login and try to use the Push Notification Console, it asks me to choose an "app." But for standard Safari 16+ Web Push, there is no "app," no "Website Push ID", etc. that I register with Apple. So how can I use the Push Notification Console for this? Apple's documentation does strongly imply that it should work. Sending web push notifications in web apps and browsers: To resolve an error, address the issue and resend your push notification request. For more information about the factors that impact the delivery of a push notification, see Viewing the status of push notifications using Metrics and APNs. And that page is all about the Push Notification Console. So it must be possible somehow, right?
Posted
by
Post not yet marked as solved
1 Replies
394 Views
Has the Preserve Log option been moved from the Network tab in DevTools? I've just upgraded from Intel to Apple Silicon and am not finding this option on Network tab or in settings.
Posted
by
Post not yet marked as solved
0 Replies
865 Views
Hi Safari team, I am a product manager working for a large content recommendation company. Our JavaScriot SDK is running on more than 9000 leading publishers worldwide and has been certified to be aligned with global legal and privacy regulations and guidelines. We have the following problem: Since the launch of Safari 17 (in iOS, iPadOS, and MacOS) - we can see our JavaScript SDK blocked when the user uses the private browsing mode Safari 17 sometimes identifies our loading and rendering JavaSctipt files as any request/action by our domain to be a tracking activity (we see the JavaScript files in the console tagged with “Blocked connection to known tracker” log) In previous Safari versions, we only got the tracking functionality blocked, allowing our content to render We have the following questions: Can JavaScript running in Safari detect the user has the privacy mode turned on? Was there something specific in Safari 17 “Tracking Protection” functionality that now blocks content rendering on the page in addition to tracking activity? Context: We can run our JavaScript without performing any form of tracking, either directly by my domain or any other 3rd party vendor we are working with. We will render our content without performing any form of tracking or fingerprinting We are already following Apple’s iOS IDFA guidelines. Our iOS SDK, for example, detects and respects when the user opts out from sharing the IDFA on an iOS app running our code. In that case, we show our content without breaching the App Tracking Transparency framework rules. Besides sponsored content, our JavaScript SDK also powers organic recommendations for our clients. With Safari 17 blocking anything in private browsing mode, we see unfair interference with organic engagement. Please let us know if you provide guidance to allow our JavaScript SDK to render content when the user uses the private browsing mode, adhering to the privacy requirements. Thank you for helping! Omri.
Posted
by
Post not yet marked as solved
1 Replies
495 Views
on our web pages we have allowed certain sources of scripts though content-security-policy meta tag which is working fine as expected on Chrome browser and on Internet Edge. However there is a script called morosa.top when it inserted in our html page, safari is not able to block it while it was supposed to block. if this script gets executed it start taking screenshots of screen and post it to hacker. Please check this could be a potential issue. [Edited by Moderator]
Posted
by
Post not yet marked as solved
0 Replies
349 Views
Hi, after the upgrade to Safari 17 the Mouse Over text, is not popping up any more. At least not in graphics. When inspecting the Element, the <g cursor="pointer" aria=label='text..' is there, but it is not doing anything. How to activate this again? Thanks
Posted
by
Post not yet marked as solved
1 Replies
351 Views
Is there any way to open new tab next to the current tab instead of opening it all the way to the right? I tried my best to find some setting to do this but didn't found any. Any help will be appreciated. 🙂
Posted
by