Safari and Web

RSS for tag

Enable web views and services in your apps.

Posts under Safari and Web tag

134 Posts
Sort by:
Post not yet marked as solved
0 Replies
1k Views
We’ve recently detected an issue in the interaction between our web application and SFSafariViewController that only seems to be occurring in the latest versions of iOS. We have a React application which is experiencing unknown errors (potentially processing XHR calls) frequently, but only when opened via a mobile application in an in-app browser. When opened in the standalone Safari or on the desktop, we are not able to reproduce the issue. We have been attempting to debug this with a desktop Safari web inspector connected to the SFSafariViewController. When the error occurs, the web inspector window disappears and the device disappears from the list of devices in Safari on the desktop. Our hypothesis is that this is related to changes in the latest version of iOS because we have only detected this error on devices running iOS 16.5 and 16.4.1 (potentially only 16.4.1a, but we can’t confirm it). Additionally, this error only began occurring from May 17th, which seems to be in line with the release of iOS 16.5. Unfortunately, we are not able to collect more information about the crash because: Xcode simulators are not yet available for the affected iOS versions. In Xcode (14.3.0), we cannot see the crash reports found on devices, namely WebKit crashes. It only shows reports from App Store Connect, thus we are not able to obtain the exact WebKit crash log. Are there any known issues with WebKit in iOS 16.5 or 16.4.1a? Is there any way that we could obtain the WebKit crash logs from a device or do you have other suggestions to better troubleshoot this issue?
Posted
by
Post not yet marked as solved
0 Replies
501 Views
If I redirect to another site where there is a smart app banner and then I go back to my site. The innerHeight changes on my site. It doesn't always happen Steps to reproduce: Showing innerHeight on the screen of our site (screenshot 1) Use window.open(anotherSiteUrl, "_blank") to go to another site, where is the smart app banner (screenshot 2) Return to our site and look at innerHeight (innerHeight has changed) and white space below (screenshot 3) Screenshot 1: https://ibb.co/YDMPKpK Screenshot 2: https://ibb.co/WsJQhCr Screenshot 3: https://ibb.co/Y2GPZPH version: IOS 16, device: 13 pro max
Posted
by
Post not yet marked as solved
0 Replies
802 Views
I have an app on React Native and I am using Windows OS. I built this app and when I tried to submit (with EAS) I got email from Apple with the thext below: ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview). The app is old and I am working on updates. It had WebView from react-native-webview, I changed the component to WKWebView and react-native-wkwebview-reborn. And now I am getting this error: ❌ Undefined symbols for architecture arm64 ┌─ Symbol: _RCTJSNavigationScheme └─ Referenced from: -[CRAWKWebView webView:decidePolicyForNavigationAction:decisionHandler:] in libreact-native-wkwebview.a(CRAWKWebView.o) 1040 ❌ ld: symbol(s) not found for architecture arm64 ❌ clang: error: linker command failed with exit code 1 (use -v to see invocation) ▸ ** ARCHIVE FAILED ** ▸ The following build commands failed: ▸ Ld /Users/expo/Library/Developer/Xcode/DerivedData/ProjectName-gnavtiawokiilkhfsvxzptupfwxa/Build/Intermediates.noindex/ArchiveIntermediates/ProjectName/InstallationBuildProductsLocation/Applications/ProjectName.app/ProjectNamenormal (in target 'ProjectName' from project 'ProjectName') ▸ (1 failure) ** ARCHIVE FAILED ** The following build commands failed: Ld /Users/expo/Library/Developer/Xcode/DerivedData/ProjectName-gnavtiawokiilkhfsvxzptupfwxa/Build/Intermediates.noindex/ArchiveIntermediates/ProjectName/InstallationBuildProductsLocation/Applications/ProjectName.app/ProjectNamenormal (in target 'ProjectName' from project 'ProjectName') (1 failure) Exit status: 65 +-------------+-------------------------+ | Build environment | +-------------+-------------------------+ | xcode_path | /Applications/Xcode.app | | gym_version | 2.211.0 | | sdk | iPhoneOS16.2.sdk | +-------------+-------------------------+ Looks like fastlane ran into a build/archive error with your project It's hard to tell what's causing the error, so we wrote some guides on how to troubleshoot build and signing issues: https://docs.fastlane.tools/codesigning/getting-started/ Before submitting an issue on GitHub, please follow the guide above and make sure your project is set up correctly. fastlane uses `xcodebuild` commands to generate your binary, you can see the the full commands printed out in yellow in the above log. Make sure to inspect the output above, as usually you'll find more error information there [stderr] [!] Error building the application - see the log above Error: The "Run fastlane" step failed with an unknown error. Refer to "Xc I have tried npx react-native-assets with react-native.config.js: module.exports = { project: { ios: {} }, assets: ['./node_modules/react-native-wkwebview- reborn/ios/RCTWKWebView.xcodeproj/project.pbxproj'], }; Also tried this: NSString *const RCTJSNavigationScheme = @"react-js-navigation"; I am not sure that I have tried these methods correctly, but anyways.
Posted
by
Post not yet marked as solved
1 Replies
654 Views
We are currently exploring deferred installation using iOS universal links. Our web page includes universal links with specific user data that we want to pass to the app after first installation. We are looking for suggestions on implementing a seamless transition from Safari to the app, where the device can be consistently and uniquely identified. Any insights or best practices regarding JavaScript-based fingerprinting, storing identifiers, and linking them to user accounts within the app would be greatly appreciated. Additionally, I'm interested in ensuring compliance with privacy regulations and maintaining transparent data collection practices. Thank you in advance
Posted
by
Post not yet marked as solved
0 Replies
581 Views
It would appear something has broken with Apple Login through Firebase, specifically in Safari and only on iOS 16.4 and above. All other browsers (that don't use Safari webview) work just fine. The native app implementation of Firebase also works just fine. Unfortunately, there seems to be no meaningful way to debug this, and Google has yet to get back to me. Considering Apple Login is still working below iOS 16.4, I don't think the problem is on my end. The logs we get indicate the login completed successfully, but never actually does. We're also hearing from our other teams that Apple Login is also broken in Facebook SDK, an on the exact same device/browser combinations. First, has anyone else encountered this? Second, is there a way I can get better logs from Apple Login on my devices?
Posted
by
Post not yet marked as solved
0 Replies
514 Views
I am a new Apple developer, and I am looking for tutorials on IPad OS & Mac OS Web Apps development (saving Web App link to IPad Home page & Mac dock). Are there some recommended search terms? Any direction would be appreciated. Thanks.
Posted
by
Post not yet marked as solved
2 Replies
1.3k Views
I have a PWA app installed on home page, and prompted user for notification permission. User granted permission, and I can see in the app section under System Settings that permission are effectively granted. But when querying permissions, I am getting the following response for below queries: Incorrect: await navigator.permissions.query({name: 'notifications'}) >> { state: "prompt", .... } Correct: Notification.permission >> "granted" Any idea why the 2 are showing different values?
Posted
by
Post not yet marked as solved
0 Replies
654 Views
Hello, My company and I have recently built a website for a client that has since launched and we discovered that some gated content is visible under Safari's reader mode. Is it possible to prevent videos loading in Safari's reader mode/disable them in reader mode? Thanks
Posted
by
Post not yet marked as solved
0 Replies
715 Views
Hi, I have one question. When creating a web page, is there a way to determine that it is being accessed from Safari on visionOS? I would also like to know the user agent for Safari on visionOS. If there is more than one way to determine this, such as JavaScript and web server, please tell us all. Cases where it is used include changing the page layout in the case of Safari on visionOS, changing the processing method when dynamically generating HTML pages on a web server, and judging Quick Look. Best regards. Sadao Tokuyama https://1planet.co.jp/ https://twitter.com/tokufxug
Posted
by
Post not yet marked as solved
3 Replies
5.2k Views
Hi all, I have a PWA with notification system working well on any other device including MacBook. But my customers start to complain that they don't receive any notification on their iphone. I checked with a friend iPhone XR with iOS 16.5.1 installed on it. And it seems that web push notifications are still deactivated in the experimental features. Is it normal? Did I mis something? Apple said they delivered webpush API on iOS16 but it's deactivated by default. I can not ask my customers to go there to activate the option is it a solution to override this or do we still need to wait 10 years to get it activated? Thanks in advance
Posted
by
Post not yet marked as solved
0 Replies
440 Views
We have been trying to implement OAuth 2.0 SAML Bearer Assertion authentication in our enterprise iOS application. We are not receiving the SAML Assertion id response in WKWEBVIEW. Can you please kindly confirm whether OAuth 2.0 SAML Bearer Assertion possible in NATIVE iOS development. Please suggest how this can be achieved in iOS native development.
Posted
by
Post not yet marked as solved
3 Replies
2.2k Views
After watching the WWDC 2023 “What’s new in web apps” session, I am unclear on current best practice for custom icons and custom splash screens in iOS PWAs (progressive web apps). Should we now use manifest.json entries, or the old link/meta tags way still? Is there any Apple sample code for a PWA that, when added to the Home Screen on iOS, shows an app with custom icon and a custom splash screen compatible with all devices? The Configuring Web Applications documentation is marked as Archived. Is there a newer version? Specifically, do we still have to provide a splash screen PNG for every possible device resolution? This is a serious burden and likely to break whenever a new device is released. It would be ideal if a splash screen could be synthesized by centering an icon on a background of a given color. I can’t get that to work.
Posted
by
Post not yet marked as solved
1 Replies
771 Views
When I updated Safari to version 16.5.2, I encountered abnormal image display on certain web pages, as shown in the attached image. However, when I reinstalled the operating system (Monterey 12.6.6/Safari 15.6.1), the images on web pages returned to normal and the speed noticeably improved.
Posted
by
Post not yet marked as solved
0 Replies
614 Views
I'm currently working on a webRTC app and I noticed that there's no support for the Media Track autoGainControl property in Safari, per the Mozilla docs: https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings/autoGainControl#browser_compatibility I don't have much Safari-specific experience so I'm a little confused. What's the reason behind this? Is there some built-in AGC on Apple hardware? Or is this just a completely absent feature in the Safari browser?
Posted
by
Post not yet marked as solved
1 Replies
880 Views
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.
Posted
by
Post not yet marked as solved
0 Replies
427 Views
var session = new ApplePaySession(9, mySimpleRequest); window.session = session; //Setup handler for validation the merchant session. = function (event) { alert("onvalidatemerchant AppleSession before validation-" + JSON.stringify(session)); //Create the payload. var data = { validationUrl: event.validationURL }; var antiforgeryHeader = $("meta[name='x-antiforgery-name']").attr("content"); var antiforgeryToken = $("meta[name='x-antiforgery-token']").attr("content"); var headers = {}; headers[antiforgeryHeader] = antiforgeryToken; // alert("merchantRequest: " + JSON.stringify(data)); // alert("Controller:" + $("link[rel='merchant-validation']").attr("href")); $.ajax({ url: $("link[rel='merchant-validation']").attr("href"), method: "POST", contentType: "application/json; chaxset=utf-8", data: JSON.stringify(data), headers: headers }).then(function (merchantSession) { alert("onvalidatemerchant AppleSession after validation-" + JSON.stringify(session)); alert("merchantSession-" + JSON.stringify(merchantSession)); console.log("merchantSession-" + JSON.stringify(merchantSession)); //alert("jsonparse: "+JSON.parse(merchantSession)); if (session == null || session == undefined) { alert("nsession object is null, skipping"); } else { alert("nsession object is NOT null, Calling completeMerchantValidation"); session.completeMerchantValidation(merchantSession); } }).catch((error) => { alert(error + "------------- in line") }); }; this is my code and this is my merchantSession object : merchantSession-{"status":"200","statusMessage":{"epochTimestamp":1690527282002,"expiresAt":1690530882002,"merchantSessionIdentifier":"SSH79603FE752F1424D8A5DE6F3D4850847_916523AAED1343F5BC5815E12BEE9250AFFDC1A17C46B0DE5A943F0F94927C24","nonce":"96538fcc","merchantIdentifier":"6DC048609B1AF64EDF23F1BE4EE4984A0A6DF1E80B16A816204A0541B2613627","domainName":"applepay.traveazy.dev","displayName":"ApplePay","signature":"308006092a864886f70d010702a0803080020101310d300b0609608648016503040201308006092a864886f70d0107010000a080308203e330820388a00302010202084c304149519d5436300a06082a8648ce3d040302307a312e302c06035504030c254170706c65204170706c69636174696f6e20496e746567726174696f6e204341202d20473331263024060355040b0c1d4170706c652043657274696669636174696f6e20417574686f7269747931133011060355040a0c0a4170706c6520496e632e310b3009060355040613025553301e170d3139303531383031333235375a170d3234303531363031333235375a305f3125302306035504030c1c6563632d736d702d62726f6b65722d7369676e5f5543342d50524f4431143012060355040b0c0b694f532053797374656d7331133011060355040a0c0a4170706c6520496e632e310b30090603550406130255533059301306072a8648ce3d020106082a8648ce3d03010703420004c21577edebd6c7b2218f68dd7090a1218dc7b0bd6f2c283d846095d94af4a5411b83420ed811f3407e83331f1c54c3f7eb3220d6bad5d4eff49289893e7c0f13a38202113082020d300c0603551d130101ff04023000301f0603551d2304183016801423f249c44f93e4ef27e6c4f6286c3fa2bbfd2e4b304506082b0601050507010104393037303506082b060105050730018629687474703a2f2f6f6373702e6170706c652e636f6d2f6f63737030342d6170706c65616963613330323082011d0603551d2004820114308201103082010c06092a864886f7636405013081fe3081c306082b060105050702023081b60c81b352656c69616e6365206f6e207468697320636572746966696361746520627920616e7920706172747920617373756d657320616363657074616e6365206f6620746865207468656e206170706c696361626c65207374616e64617264207465726d7320616e6420636f6e646974696f6e73206f66207573652c20636572746966696361746520706f6c69637920616e642063657274696669636174696f6e2070726163746963652073746174656d656e74732e303606082b06010505070201162a687474703a2f2f7777772e6170706c652e636f6d2f6365727469666963617465617574686f726974792f30340603551d1f042d302b3029a027a0258623687474703a2f2f63726c2e6170706c652e636f6d2f6170706c6561696361332e63726c301d0603551d0e041604149457db6fd57481868989762f7e578507e79b5824300e0603551d0f0101ff040403020780300f06092a864886f76364061d04020500300a06082a8648ce3d0403020349003046022100be09571fe71e1e735b55e5afacb4c72feb445f30185222c7251002b61ebd6f55022100d18b350a5dd6dd6eb1746035b11eb2ce87cfa3e6af6cbd8380890dc82cddaa63308202ee30820275a0030201020208496d2fbf3a98da97300a06082a8648ce3d0403023067311b301906035504030c124170706c6520526f6f74204341202d20473331263024060355040b0c1d4170706c652043657274696669636174696f6e20417574686f7269747931133011060355040a0c0a4170706c6520496e632e310b3009060355040613025553301e170d3134303530363233343633305a170d3239303530363233343633305a307a312e302c06035504030c254170706c65204170706c69636174696f6e20496e746567726174696f6e204341202d20473331263024060355040b0c1d4170706c652043657274696669636174696f6e20417574686f7269747931133011060355040a0c0a4170706c6520496e632e310b30090603550406130255533059301306072a8648ce3d020106082a8648ce3d03010703420004f017118419d76485d51a5e25810776e880a2efde7bae4de08dfc4b93e13356d5665b35ae22d097760d224e7bba08fd7617ce88cb76bb6670bec8e82984ff5445a381f73081f4304606082b06010505070101043a3038303606082b06010505073001862a687474703a2f2f6f6373702e6170706c652e636f6d2f6f63737030342d6170706c65726f6f7463616733301d0603551d0e0416041423f249c44f93e4ef27e6c4f6286c3fa2bbfd2e4b300f0603551d130101ff040530030101ff301f0603551d23041830168014bbb0dea15833889aa48a99debebdebafdacb24ab30370603551d1f0430302e302ca02aa0288626687474703a2f2f63726c2e6170706c652e636f6d2f6170706c65726f6f74636167332e6300","operationalAnalyticsIdentifier":"ApplePay:6DC048609B1AF64EDF23F1BE4EE4984A0A6DF1E80B16A816204A0541B2613627","retries":0,"pspId":"6DC048609B1AF64EDF23F1BE4EE4984A0A6DF1E80B16A816204A0541B2613627"},"statusCode":200}
Posted
by
Post not yet marked as solved
0 Replies
789 Views
Hello. I'm working on web app where wanna access data from accelerometer. In order to access data from accelerometer on iPhone, I have to request permission from user. This is completely fine and I'm happy about that. No complains there. The problem is that I cannot just ask for permission. In order to request permission for accelerometer data on iPhone, there have to be something called "user gesture" event. If I request permission directly, it will end up with error BUT when I place random button on application with random text and request permission on onClick event, everything is fine. And I don't get it. Why there is need for something like user gesture event? It is just stupid. It's like: Nah, you cannot ask for permission just like that. You have to first click on this "Do you wanna donate all your money?" button and then is Ok to ask for permission... Am I missing something? Can someone from apple explain to me this "great" developer experience? For better understanding, here Is an article https://dev.to/li/how-to-requestpermission-for-devicemotion-and-deviceorientation-events-in-ios-13-46g2
Posted
by