Safari Developer Tools

RSS for tag

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

Posts under Safari Developer Tools tag

200 Posts

Post

Replies

Boosts

Views

Activity

SFSafariContextMenu is not working
Hello, I try to develop extension for safari. I edited info.plist but I can't see my menu items. My Info.plist page <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>NSExtension</key> <dict> <key>NSExtensionPointIdentifier</key> <string>com.apple.Safari.web-extension</string> <key>NSExtensionPrincipalClass</key> <string>$(PRODUCT_MODULE_NAME).SafariWebExtensionHandler</string> </dict> <key>SFSafariContextMenu</key> <array> <dict> <key>Text</key> <string>Search for selected text in MyApplication.</string> <key>Command</key> <string>Search</string> </dict> <dict> <key>Text</key> <string>Add an entry for selected text in MyApplication.</string> <key>Command</key> <string>Add</string> </dict> </array> <key>SFSafariWebsiteAccess</key> <dict> <key>Level</key> <string>All</string> </dict> </dict> </plist>
1
0
886
Oct ’23
Safari, WKWebView video slow loading issue
my web service has video content. the problem is in chrome browser, downloading and playing video is much faster than Webkit browser (Safari and WkWebView). we are struggling to find the reason why there is huge gap between two browsers. we've checked browser inspector and there's something look like error in safari inspector that doesn't appear in chrome. There are two cases in network section. First red header case that I think something went wrong Second yellow header csae that I think succeeded to donwload
0
0
759
Oct ’23
Bring back device views in Responsive Design Mode
In Safari 17.0, the Responsive Design Mode was updated with two major changes. The quick device view icons that were at the top were removed in favor of a simple resizable web view. New integration with Xcode simulator for easily opening a website in a devices native simulator. The new simulator integration is nice. It definitely promotes giving a much better testing of webpages since we get to see the webpage in the native app/environment. I think that this new integration is welcoming. However, removing the device views has been a major step backwards. These views gave us quick access to checking webpage layouts across different devices with the click of a button. As a web developer, I am aware that these views are not a guarantee that the website will be fully functional on the device clicked on. The simulator is better for that. But during the development process, these views were good for quick sanity checks as it was quick and "close enough". Having to launch multiple simulators to test on two different iPhones and two different iPads takes a lot of time. The devices have to boot up each and load the website. This wastes minutes of time vs the fraction of a second it did before, just for a quick check. Another downside of the simulators is that if I am testing a web app that requires a login, I need to log into each app on every simulator. The older responsive design mode just used the exact session that I was logged into Safari with. I submitted this as feedback as well... https://feedbackassistant.apple.com/feedback/13225118
7
28
4.2k
Oct ’23
Safari Web Inspector ultra lag
So previously I had a Mac Pro 2020 Touchbar with i5 16GB RAM and it was a pain to work with Safari due to the lagness of the web inspector. I thought it was related to my hardware. Upgraded recently to an M2 Pro chip 32GB 2023, and still happens the same, i can't believe how bad it is to develop & work with Safari. Even when trying to search on files it lags as if it has a 500ms debounce per key stroke. Adding breakpoints and following code line-by-line, everything is laggy. What is going on? It's literally impossible to work on big projects and having to debug with Safari.
0
1
902
Oct ’23
Safari Bug
Hello, safari consumes less CPU than Chrome, but it does not consume less RAM. When you access YouTube in Safari, especially when you skip 5 seconds while watching a video, the buttons are very inadequate compared to Chrome. The video and audio lag, the loading sign appears and the audio lag is very annoying. At the same time, when I log into Twitter, some videos do not play but remain loading. While browsing the web in Safari, the mouse sometimes remains stuck. While typing, the mouse becomes a line, but when I hover over something to click, it still remains as a line. There are such bugs. I like to use Safari, it is very useful, but I always prefer to stay in Chrome because of such errors. I try it every time Apple updates Safari, most bugs go away, but new ones come and unfortunately the Youtube problem is very bad. This problem only occurs on YouTube, not on Netflix and similar platforms. Browsing YouTube with Safari is very annoying. I hope you find a solution to these problems soon. Since I deal with CDN and Linux servers, the web is very important to me and I like the safari web tool part, but it is not an immersive view. It gives the impression that I shouldn't have opened it. I hope a new design language will be added to this design. Other than that, using safari is nice and I love how minimalist it is. Thank you, I wish you good work.
1
0
992
Sep ’23
Simulate Device On Safari
Hey Developers! I love web design and am trying to test out some CSS, I am currently using a MacBook Pro 13" (2020 Version), I only use Safari and I want to know if I'm able to simulate other devices like a Windows 10 PC, an Android phone, an iPhone, or an iPad. I do own an iPhone and iPad but wanted to do it all on my Mac, I've tried searching for Safari extensions to do this but so far I haven't found one. If you could give me some suggestions or a link to what I should use it would be appreciated. Thanks, Mateo
3
0
33k
Sep ’23
Failed to load resource: the network connection was lost when I hit specific URL which is connected to AZURE Front Door
The end user experiences error "Failed to load resource: the network connection was lost" when using safari browser via reverse proxy only(Azure Front door). Using google chrome, or accessing the resource directly, the user does not see the error. After taking a packet capture and HTTP Archive traces, we were able to determine that the safari browser is completely blocking the traffic from being sent over the network.
1
0
2.2k
Sep ’23
iOS 16.4 ASWebAuthenticationSession's webview can not debug in safari web inspector
I'm using Xcode 14.2 to build an app that runs on iOS 16.4. There is no webView.isInspectable property in this version. When my app presents a webview, it is inspectable in Safari -> develop, which is nice. However, when starting a ASWebAuthenticationSession, Safari -> develop shows "no inspectable applications". It was inspectable on iOS 16.1 but not iOS 16.4. How to solve this?
5
2
2.4k
Sep ’23
iOS 17.0 Webkit 'display:flex' issue
When rendering 2 'div' components with 'display:flex' placed on top of each other, the preceding one sometimes comes up. The 'position:absolute' has been set and the second 'div' component is being generated after the first one. However, when inspecting the iOS webview in Safari, I enable-disable the 'display:flex' property, everything starts working again. This is possibly a bug in the layout engine. I tried the same process in iOS 16.4 and there are no issues at all.
3
0
2.6k
Sep ’23
SessionNotCreatedError: Could not create a session: Some devices were found, but could not be used:
I am trying to automate Web app on iOS Safari for e2e test. Even though following code worked for emulator in iOS 17 beta, it seems not working on Real Device(iPhone 12, iOS 16.6). code for test describe("test0", () => { const getDriver = async () => { const options = new safari.Options() const capabilities = webdriver.Capabilities.safari() capabilities.setPlatform('ios') capabilities.set('safari:deviceType', 'iphone') capabilities.set('safari:useSimulator', false) const driver = new Builder().forBrowser('safari').withCapabilities(capabilities).setSafariOptions(options).build() return driver } let driver beforeAll(async () => { driver = await getDriver() }, 10000000) afterAll(async () => { await driver.quit(); }); test("test", async () => { await driver.get("https://google.com"); }, 1000000); }); Following error will happen when testing through real device while device is listed on Device and Simulators opened by Xcode > Window > Device and Simulators. SessionNotCreatedError: Could not create a session: Some devices were found, but could not be used: - iPhone (xxx-xxxxxxx): Remote Automation is turned off (turn it on via Settings > Safari > Advanced > Remote Automation) - [unknown wireless device]: device is not paired at Object.throwDecodedError (../node_modules/selenium-webdriver/lib/error.js:524:15) at parseHttpResponse (../node_modules/selenium-webdriver/lib/http.js:601:13) at Executor.execute (../node_modules/selenium-webdriver/lib/http.js:529:28) What I tried I turned on Safari > Advanced > Web Inspector, Safari > Advanced > Remote Automation, Developper > Enable UI Automation on iOS setting. I enabled safaridriver running safaridriver --enable. Versions XCode: 15.0 beta iOS: 17 beta
0
0
928
Aug ’23
Passwordless single sign on using SFSafariViewController in swift
0 I integrate with safriService (SFSafariViewController) to log in through a single sign-on password, the problem was the first time I log in using SFSafariViewController but the authentication follow not complete the first time so the safari browser still appear & can not direct into my app after authentication follow to become a success, another behavior is when I login again the authentication follow work fine & get the token then directed into my app fine so the main problem is the first time I login SFSafariViewController does not catch the user auth if let url = URL(string: "url") { let safariVC = SFSafariViewController(url: url) safariVC.delegate = self safariVC.dismissButtonStyle = .done present(safariVC, animated: true, completion: nil) } extension DouWebViewVC: SFSafariViewControllerDelegate { func safariViewController(_ controller: SFSafariViewController, didCompleteInitialLoad didLoadSuccessfully: Bool) { if didLoadSuccessfully { print("didLoadSuccessfully") // Do something with the URL here } } //initialLoadDidRedirectTo func safariViewController(_ controller: SFSafariViewController, initialLoadDidRedirectTo requestUrl: URL) { let absoluteUrl = requestUrl.absoluteString print("requestUrl(requestUrl)") } func safariViewControllerDidFinish(_ controller: SFSafariViewController) { print("safariViewControllerDidFinish") } }
0
0
883
Aug ’23
SFSafariViewController not showing location permission pop-up but showing camera permission pop-up
Hey, I am loading a link on my app using SFSafariViewController and that link asking camera and location permission. Camera permission pop-up showing and accessible but for location permission it is not doing anything even not showing location permission pop-up. I need to know is there any way to get location permission pop-up on SFSafariViewController.
1
0
1.2k
Jul ’23
Using file:// scheme to access local files on SafariForWebKitDevelopment
I am currently utilizing local servers to facilitate interactions with local resources. However, I am exploring if there are solutions that would enable direct file access through the file:// protocol. I cannot access the developer tools and feature flags. Specifically, the option "Show features for web developers" seems to be deactivated. This is happening within the ASan WebKit build. I am running this using Tools/Scripts/run-safari. Any insights or potential solutions to these issues would be greatly appreciated.
2
1
826
Jul ’23
Cookies in SFSafariviewcontroller
I am using appauth pods for authentication (https://github.com/openid/AppAuth-iOS) and was wondering how Safari webkit is managing the application context for the cookies saved while authentication. I made sure I have a successful authentication then I tried few combinations to understand failed authentication behavior and tried to compare with my mac safari developer tools. What caught me off guard was that the safari webkit cookies were not visible to me programmatically. I am using below code to get the cookies. HTTPCookieStorage.shared.cookies(for: URL(string: "https://(targetDomain)")!) I also tried using developer console for mobile safari kit but as soon as the authentication flow gets completed the view is destroyed and information gets lost. So has anyone have come across this situation and figured how safari web kit isolates the cookies visibility.
0
0
1.5k
Jul ’23
Useful WWDC Videos Missing from Previous Years (For example: "Customized Loading in WKWebView from WWDC 2017")
It appears a lot of useful WWDC session videos from previous years have been scrubbed from the developer.apple.com? I cannot find the WWDC session "Customized Loading in WKWebView" from 2017 in the Developer app nor on the developer website. There are lots of other videos that would be useful to watch, even from years ago. Am I just not looking in the right place?
0
0
599
Jul ’23
SFSafariContextMenu is not working
Hello, I try to develop extension for safari. I edited info.plist but I can't see my menu items. My Info.plist page <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>NSExtension</key> <dict> <key>NSExtensionPointIdentifier</key> <string>com.apple.Safari.web-extension</string> <key>NSExtensionPrincipalClass</key> <string>$(PRODUCT_MODULE_NAME).SafariWebExtensionHandler</string> </dict> <key>SFSafariContextMenu</key> <array> <dict> <key>Text</key> <string>Search for selected text in MyApplication.</string> <key>Command</key> <string>Search</string> </dict> <dict> <key>Text</key> <string>Add an entry for selected text in MyApplication.</string> <key>Command</key> <string>Add</string> </dict> </array> <key>SFSafariWebsiteAccess</key> <dict> <key>Level</key> <string>All</string> </dict> </dict> </plist>
Replies
1
Boosts
0
Views
886
Activity
Oct ’23
Safari, WKWebView video slow loading issue
my web service has video content. the problem is in chrome browser, downloading and playing video is much faster than Webkit browser (Safari and WkWebView). we are struggling to find the reason why there is huge gap between two browsers. we've checked browser inspector and there's something look like error in safari inspector that doesn't appear in chrome. There are two cases in network section. First red header case that I think something went wrong Second yellow header csae that I think succeeded to donwload
Replies
0
Boosts
0
Views
759
Activity
Oct ’23
Enable developer tools on a web site added to the dock
When I add a web site to the dock in Mac OS Sonoma, the developers menu isn't available anymore. We have a web site, that behaves differently whether in docked mode or standard mode and I'd want to check the java script console. What options do I have?
Replies
0
Boosts
1
Views
533
Activity
Oct ’23
Bring back device views in Responsive Design Mode
In Safari 17.0, the Responsive Design Mode was updated with two major changes. The quick device view icons that were at the top were removed in favor of a simple resizable web view. New integration with Xcode simulator for easily opening a website in a devices native simulator. The new simulator integration is nice. It definitely promotes giving a much better testing of webpages since we get to see the webpage in the native app/environment. I think that this new integration is welcoming. However, removing the device views has been a major step backwards. These views gave us quick access to checking webpage layouts across different devices with the click of a button. As a web developer, I am aware that these views are not a guarantee that the website will be fully functional on the device clicked on. The simulator is better for that. But during the development process, these views were good for quick sanity checks as it was quick and "close enough". Having to launch multiple simulators to test on two different iPhones and two different iPads takes a lot of time. The devices have to boot up each and load the website. This wastes minutes of time vs the fraction of a second it did before, just for a quick check. Another downside of the simulators is that if I am testing a web app that requires a login, I need to log into each app on every simulator. The older responsive design mode just used the exact session that I was logged into Safari with. I submitted this as feedback as well... https://feedbackassistant.apple.com/feedback/13225118
Replies
7
Boosts
28
Views
4.2k
Activity
Oct ’23
Safari Web Inspector ultra lag
So previously I had a Mac Pro 2020 Touchbar with i5 16GB RAM and it was a pain to work with Safari due to the lagness of the web inspector. I thought it was related to my hardware. Upgraded recently to an M2 Pro chip 32GB 2023, and still happens the same, i can't believe how bad it is to develop & work with Safari. Even when trying to search on files it lags as if it has a 500ms debounce per key stroke. Adding breakpoints and following code line-by-line, everything is laggy. What is going on? It's literally impossible to work on big projects and having to debug with Safari.
Replies
0
Boosts
1
Views
902
Activity
Oct ’23
Debugging Webapps in Sonoma
I cannot access developer tools from the web app once it is added to Docker. I am facing an issue with the web app, but it is working fine with Safari. I need to debug this. Any guidance on how to open the console/web inspector would be helpful.
Replies
2
Boosts
0
Views
655
Activity
Oct ’23
Safari Bug
Hello, safari consumes less CPU than Chrome, but it does not consume less RAM. When you access YouTube in Safari, especially when you skip 5 seconds while watching a video, the buttons are very inadequate compared to Chrome. The video and audio lag, the loading sign appears and the audio lag is very annoying. At the same time, when I log into Twitter, some videos do not play but remain loading. While browsing the web in Safari, the mouse sometimes remains stuck. While typing, the mouse becomes a line, but when I hover over something to click, it still remains as a line. There are such bugs. I like to use Safari, it is very useful, but I always prefer to stay in Chrome because of such errors. I try it every time Apple updates Safari, most bugs go away, but new ones come and unfortunately the Youtube problem is very bad. This problem only occurs on YouTube, not on Netflix and similar platforms. Browsing YouTube with Safari is very annoying. I hope you find a solution to these problems soon. Since I deal with CDN and Linux servers, the web is very important to me and I like the safari web tool part, but it is not an immersive view. It gives the impression that I shouldn't have opened it. I hope a new design language will be added to this design. Other than that, using safari is nice and I love how minimalist it is. Thank you, I wish you good work.
Replies
1
Boosts
0
Views
992
Activity
Sep ’23
Simulate Device On Safari
Hey Developers! I love web design and am trying to test out some CSS, I am currently using a MacBook Pro 13" (2020 Version), I only use Safari and I want to know if I'm able to simulate other devices like a Windows 10 PC, an Android phone, an iPhone, or an iPad. I do own an iPhone and iPad but wanted to do it all on my Mac, I've tried searching for Safari extensions to do this but so far I haven't found one. If you could give me some suggestions or a link to what I should use it would be appreciated. Thanks, Mateo
Replies
3
Boosts
0
Views
33k
Activity
Sep ’23
Failed to load resource: the network connection was lost when I hit specific URL which is connected to AZURE Front Door
The end user experiences error "Failed to load resource: the network connection was lost" when using safari browser via reverse proxy only(Azure Front door). Using google chrome, or accessing the resource directly, the user does not see the error. After taking a packet capture and HTTP Archive traces, we were able to determine that the safari browser is completely blocking the traffic from being sent over the network.
Replies
1
Boosts
0
Views
2.2k
Activity
Sep ’23
iOS 16.4 ASWebAuthenticationSession's webview can not debug in safari web inspector
I'm using Xcode 14.2 to build an app that runs on iOS 16.4. There is no webView.isInspectable property in this version. When my app presents a webview, it is inspectable in Safari -> develop, which is nice. However, when starting a ASWebAuthenticationSession, Safari -> develop shows "no inspectable applications". It was inspectable on iOS 16.1 but not iOS 16.4. How to solve this?
Replies
5
Boosts
2
Views
2.4k
Activity
Sep ’23
iOS 17.0 Webkit 'display:flex' issue
When rendering 2 'div' components with 'display:flex' placed on top of each other, the preceding one sometimes comes up. The 'position:absolute' has been set and the second 'div' component is being generated after the first one. However, when inspecting the iOS webview in Safari, I enable-disable the 'display:flex' property, everything starts working again. This is possibly a bug in the layout engine. I tried the same process in iOS 16.4 and there are no issues at all.
Replies
3
Boosts
0
Views
2.6k
Activity
Sep ’23
SessionNotCreatedError: Could not create a session: Some devices were found, but could not be used:
I am trying to automate Web app on iOS Safari for e2e test. Even though following code worked for emulator in iOS 17 beta, it seems not working on Real Device(iPhone 12, iOS 16.6). code for test describe("test0", () => { const getDriver = async () => { const options = new safari.Options() const capabilities = webdriver.Capabilities.safari() capabilities.setPlatform('ios') capabilities.set('safari:deviceType', 'iphone') capabilities.set('safari:useSimulator', false) const driver = new Builder().forBrowser('safari').withCapabilities(capabilities).setSafariOptions(options).build() return driver } let driver beforeAll(async () => { driver = await getDriver() }, 10000000) afterAll(async () => { await driver.quit(); }); test("test", async () => { await driver.get("https://google.com"); }, 1000000); }); Following error will happen when testing through real device while device is listed on Device and Simulators opened by Xcode > Window > Device and Simulators. SessionNotCreatedError: Could not create a session: Some devices were found, but could not be used: - iPhone (xxx-xxxxxxx): Remote Automation is turned off (turn it on via Settings > Safari > Advanced > Remote Automation) - [unknown wireless device]: device is not paired at Object.throwDecodedError (../node_modules/selenium-webdriver/lib/error.js:524:15) at parseHttpResponse (../node_modules/selenium-webdriver/lib/http.js:601:13) at Executor.execute (../node_modules/selenium-webdriver/lib/http.js:529:28) What I tried I turned on Safari > Advanced > Web Inspector, Safari > Advanced > Remote Automation, Developper > Enable UI Automation on iOS setting. I enabled safaridriver running safaridriver --enable. Versions XCode: 15.0 beta iOS: 17 beta
Replies
0
Boosts
0
Views
928
Activity
Aug ’23
Passwordless single sign on using SFSafariViewController in swift
0 I integrate with safriService (SFSafariViewController) to log in through a single sign-on password, the problem was the first time I log in using SFSafariViewController but the authentication follow not complete the first time so the safari browser still appear & can not direct into my app after authentication follow to become a success, another behavior is when I login again the authentication follow work fine & get the token then directed into my app fine so the main problem is the first time I login SFSafariViewController does not catch the user auth if let url = URL(string: "url") { let safariVC = SFSafariViewController(url: url) safariVC.delegate = self safariVC.dismissButtonStyle = .done present(safariVC, animated: true, completion: nil) } extension DouWebViewVC: SFSafariViewControllerDelegate { func safariViewController(_ controller: SFSafariViewController, didCompleteInitialLoad didLoadSuccessfully: Bool) { if didLoadSuccessfully { print("didLoadSuccessfully") // Do something with the URL here } } //initialLoadDidRedirectTo func safariViewController(_ controller: SFSafariViewController, initialLoadDidRedirectTo requestUrl: URL) { let absoluteUrl = requestUrl.absoluteString print("requestUrl(requestUrl)") } func safariViewControllerDidFinish(_ controller: SFSafariViewController) { print("safariViewControllerDidFinish") } }
Replies
0
Boosts
0
Views
883
Activity
Aug ’23
PWA Push Notification Rate Limit?
I'm curious if there is a limit to number of PWA push notifications that can be sent. We estimate roughly 10,000 pushes a day. If anyone has any insight it would be greatly appreciated.
Replies
0
Boosts
0
Views
914
Activity
Aug ’23
SFSafariViewController not showing location permission pop-up but showing camera permission pop-up
Hey, I am loading a link on my app using SFSafariViewController and that link asking camera and location permission. Camera permission pop-up showing and accessible but for location permission it is not doing anything even not showing location permission pop-up. I need to know is there any way to get location permission pop-up on SFSafariViewController.
Replies
1
Boosts
0
Views
1.2k
Activity
Jul ’23
Using file:// scheme to access local files on SafariForWebKitDevelopment
I am currently utilizing local servers to facilitate interactions with local resources. However, I am exploring if there are solutions that would enable direct file access through the file:// protocol. I cannot access the developer tools and feature flags. Specifically, the option "Show features for web developers" seems to be deactivated. This is happening within the ASan WebKit build. I am running this using Tools/Scripts/run-safari. Any insights or potential solutions to these issues would be greatly appreciated.
Replies
2
Boosts
1
Views
826
Activity
Jul ’23
Cookies in SFSafariviewcontroller
I am using appauth pods for authentication (https://github.com/openid/AppAuth-iOS) and was wondering how Safari webkit is managing the application context for the cookies saved while authentication. I made sure I have a successful authentication then I tried few combinations to understand failed authentication behavior and tried to compare with my mac safari developer tools. What caught me off guard was that the safari webkit cookies were not visible to me programmatically. I am using below code to get the cookies. HTTPCookieStorage.shared.cookies(for: URL(string: "https://(targetDomain)")!) I also tried using developer console for mobile safari kit but as soon as the authentication flow gets completed the view is destroyed and information gets lost. So has anyone have come across this situation and figured how safari web kit isolates the cookies visibility.
Replies
0
Boosts
0
Views
1.5k
Activity
Jul ’23
Not showing console logs from iPhone
I am trying to get console logs from iPhone safari on my MacBook safari. I have connected iPhone to MacBook via USB. It doesn't display logs, it just displays errors. Few days back, both logs and errors were showing up...
Replies
0
Boosts
0
Views
841
Activity
Jul ’23
Unable to view Safari Mobile console logs
Hi all, As of a few days ago, I can no longer capture the console logs from my iPhone onto macOS. Is anyone else experiencing the same issue?
Replies
2
Boosts
1
Views
1.4k
Activity
Jul ’23
Useful WWDC Videos Missing from Previous Years (For example: "Customized Loading in WKWebView from WWDC 2017")
It appears a lot of useful WWDC session videos from previous years have been scrubbed from the developer.apple.com? I cannot find the WWDC session "Customized Loading in WKWebView" from 2017 in the Developer app nor on the developer website. There are lots of other videos that would be useful to watch, even from years ago. Am I just not looking in the right place?
Replies
0
Boosts
0
Views
599
Activity
Jul ’23