Hello everyone,
I am currently developing several Progressive Web Apps (PWAs) and I am wondering if it’s possible to programmatically open an installed PWA on iOS/iPadOS from another app or a link.
My goal is to be able to launch an installed PWA directly from an action in another PWA, a web app, or a native app on iOS. For example, I’d like to know if this can be achieved via a deep link, a custom protocol (web+), or any other mechanism available on these platforms.
Has anyone successfully implemented this feature or found a workaround to programmatically open an installed PWA on iOS/iPadOS?
Thank you very much for your feedback and suggestions!
Posts under iPadOS tag
176 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
.As in screenshot
hello. I installed ios 18 beta from the official website, but I had a big problem after the update. The storage began to fill up abruptly with the "system date", 30GB was free, it became 1-3 GB. how to fix it?
Hi all,
We've been given the opportunity to beta test an app at my school and we have been asked to download the Test Flight app to enable it to run. Unfortunately it's not possible to use Test Flight with a managed Apple ID. All our staff and pupils' iPads are signed in with a managed Apple ID.
It's a shame to pass up this opportunity, but I can't see any way around it... does anyone have any alternatives (apart from creating and using a non-managed Apple ID, which isn't feasible).
Thanks in advance,
Jacob
Tab bars on iPadOS 18 have moved to the top of the screen. They now share space with navigation bars.
We have added calls to setTabBarHidden(_:animated:) alongside existing calls to setNavigationBarHidden(_:animated:) in pushed view controller's viewWillAppear(_:) methods to manage the appearance of the tab bar and navigation bar within navigation controllers.
This results in layout issues with the safe area and navigation bar. I've attached screenshots from an example app demonstrating the issue. How can we manage the appearance of both the navigation bar and tab bar so that they share the same space when visible, but are properly hidden and excluded from the safe area when not?
/// The root view controller shows both the navigation bar and tab bar
class ViewController: UIViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
tabBarController?.setTabBarHidden(false, animated: animated)
}
}
/// The second view controller hides both the navigation bar and tab bar
class ViewController2: UIViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
tabBarController?.setTabBarHidden(true, animated: animated)
}
@IBAction func customBackButtonTapped(_ sender: Any) {
navigationController?.popViewController(animated: true)
}
}
/// The third view controller shows the navigation bar but hides the tab bar
class ViewController3: UIViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
tabBarController?.setTabBarHidden(true, animated: animated)
}
}
Just wondering if anyone else is seeing this bug in iOS 18.1.
When browsing to any song that is not previously downloaded and pressing play, it 'thinks' for a second then reverts to 'not playing'. Radio and for you stations work fine - even if those same methods include a song that I'd directly searched for previously and failed to play.
Interestingly, using the new siri - I can ask it to play the exact song and it works - appears just browsing and trying to play a song that I've searched for directly within the app does not work.
All fine on latest MacOS beta, just iOS and iPadOS seem to have a problem.
I've raised a bug within the feedback app, but no one else I've spoke to seems to see the same issue.
I am working on an iPad app using the front camera. The camera logic is implemented using the AVFoundation framework. During a session I use central stage mode to center the face with front camera . Central stage mode works fine in all cases except when I set the session preset photo. In other presets: high, medium, low, cif352x288, vga640x480, hd1280x720, hd1920x1080, iFrame960x540, iFrame1280x720, inputPriority presets central stage mode working except photo session preset. Can you explain why this happens or maybe it is an unobvious bug?
Code snippet:
final class CameraManager {
//MARK: - Properties
private let captureSession: AVCaptureSession
private let photoOutput: AVCapturePhotoOutput
private let previewLayer: AVCaptureVideoPreviewLayer
//MARK: - Init
init() {
captureSession = AVCaptureSession()
photoOutput = AVCapturePhotoOutput()
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
}
//MARK: - Methods Setup Camera and preview layer
func setupPreviewLayerFrame(view: UIView) {
previewLayer.frame = view.frame
view.layer.insertSublayer(previewLayer, at: 0)
setupCamera()
}
private func setupCamera() {
guard let videoCaptureDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front) else { return }
AVCaptureDevice.centerStageControlMode = .app
AVCaptureDevice.isCenterStageEnabled = true
do {
let input = try AVCaptureDeviceInput(device: videoCaptureDevice)
captureSession.addInput(input)
captureSession.addOutput(photoOutput)
/// high, medium, low, cif352x288, vga640x480, hd1280x720, hd1920x1080, iFrame960x540, iFrame1280x720 and inputPriority presets working except photo session preset
captureSession.sessionPreset = .photo
DispatchQueue.global(qos: .userInteractive).async {
self.captureSession.startRunning()
}
} catch {
print("Error setting up camera: \(error.localizedDescription)")
}
}
}
To enable editing in the elevated Tab Bar or sidebar on iPadOS, we need to use UITabBar. However, using UITabBar restricts reordering in compact mode with the bottom tab bar. Instead of showing the tabs, the editing view only displays the message 'Drag the icons to organize tabs.' How can we resolve this issue?
Find demo project here
iOS 18 introduced the elevated tab bar for iPad devices. However, the tint color for UITabBar items is not changing. Adjusting the barTintColor and tintColor properties of the tab bar items does not seem to have any effect.
I have been using UIDocumentInteractionController and presentOptionsMenuFromRect for sharing PDFs for years.
Now I get these errors.
Only support loading options for CKShare and SWY types.
[ERROR] failed to get service endpoint creating for for item at URL
Collaboration: error loading metadata for documentURL:file:
The files I create I believe are fine. I have tried sharing them from a temporary folder and also from a subfolder on the iPad but still get these errors. Any help appreciated.
I'm just trying to display an image that is stored in the local filesystem, but the more I dig into this the more confused I get.
So previously I used this code (it's simplified):
func findImage(name: String) -> UIImage? {
do {
let url = try FileManager.default.url(for: .applicationSupportDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: false)
.appendingPathComponent("MyFolder")
.appendingPathComponent("\(name).png")
guard let image = UIImage(contentsOfFile: url.path) else {
return nil
}
return image
} catch {
print(error.localizedDescription)
}
return nil
}
Notice I create the URL with just .appendingPathComponent() and turning URL to path via url.path.
It works! So what's the question?
In Improving performance and stability when accessing the file system I've read that you better use the new appendingPathComponent(_:isDirectory:), that's good, will do.
Also url.path is deprecated in iOS18. Should I use url.path(percentEncoded:) instead? What should be the value of percentEncoded when accessing the local filesystem?
In this adjacent thread I've read:
Don't use UIImage(contentsOfFile:) either, because it's a path-based API. There's no URL-based equivalent, which is an Apple clue that should be doing something else.
Is this true? Then how should I store and load my images?
Just FYI, I create images like this:
private func generateThumbnail(name: String) {
guard let drawingWidth = canvasGeo?.size.width,
let drawingHeight = canvasGeo?.size.height else { return }
let thumbnailRect = CGRect(x: 0, y: 0, width: drawingWidth, height: drawingHeight)
Task {
UITraitCollection(userInterfaceStyle: .light).performAsCurrent {
let image = self.canvasView.drawing.image(from: thumbnailRect, scale: UIScreen.main.scale)
guard let data = image.pngData() else { return } // -- HERE
do {
try FileManager.default.createDirectory(at: try FileManager.default.url(for: .applicationSupportDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: true)
.appendingPathComponent("MyFolder"),
withIntermediateDirectories: true,
attributes: nil)
let filename = "\(name).png"
let url = try FileManager.default.url(for: .applicationSupportDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: true)
.appendingPathComponent("MyFolder")
.appendingPathComponent(filename)
try data.write(to: url, options: .atomic) // -- and HERE
} catch {
print(error.localizedDescription)
}
}
}
}
My usecase — just save the user's PencilKit Canvas as an image and display it back to him on a different View. I'm on SwiftUI and iOS 16+.
Would be happy to learn the correct way, thanks!
Does Xcode 16 beta 4 include the SDK for iPadOS 18.1 beta, or should I stick with iPadOS 18.0 beta 4/18.0 betas? I want to make sure that I can continue building to my device if I update it to 18.1 beta.
In iOS 18, with the elevated tab bar, the title of the primary view controller in a UISplitViewController automatically hides when the Split View is expanded. However, the title label is still present in the view hierarchy. How to resolve this issue?
Why is the testFieldDidChangeSelection function called three times when the return key is pressed?
Here is what I did
enter text in TextField
press the Return key
The result is that the textFieldDidChangeSelection function is called three times.
I would like to know why.
As a supplement, I asked ChatGPT and the results are below.
At the moment the Return key is pressed: The cursor is updated at the position of the last character entered in the text field.
Insertion of a newline: When the Return key is pressed, a new line is added, and the cursor moves to the beginning of the new line.
Finalization of the edit: Finally, the content of the text field is confirmed, and the position of the cursor is finalized.
Also, is the above answer true?
Been running the public beta for a few days. One significant anomaly. I run an app called Garmin Pilot. It is an aviation Electronic Flight Bag. Since loading the beta, the map rendering in the app has run into a problem.
The two side-by-side photos are the same scene on the map except for the zoom level. At 10NM and above, it's fine. The US Sectional chart is viewable. Drop down to 5NM and the chart disappears. It is the same with other charts in the app.
I am a user of multiple EFB apps and Pilot seems the only one affected. And yes, I reported it to the app developers as well.
In iOS 18 on iPad, the elevated tab bar order is persisted by the system. After reordering the tabs, how can I retrieve the current order of the tabs? and how to override the order programatically.
I’m having an issue with my published iPad app on the App Store where a selection of users (but not all) are finding they are unable to download my app on their iPad.
The app recently was updated to support only devices Running iOS/iPadOS 17 and also added iPad support as HealthKit is available there now.
The App Store listing correctly shows it as compatible but for some reasons user still see incompatibility messages.
This makes no sense as the app has been full built and tested on iPad and a lot of users are using it fine. All the iPads in question are running ipadOS 17 too. I can only assume this is a bug but I thought I’d post here in case maybe I had an Xcode build setting wrong or something.
Thank You
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Store
iPadOS
Xcode
HealthKit
Hi, the 'Waiting to reconnect to [DEVICE NAME]' error is repeatedly occurring.
Previous preparation error: Developer Mode disabled. To use[DEVICE NAME] for development, enable Developer Mode in Settings → Privacy & Security.
Of course, the developer mode is already turned on and I've used the connection between my devices via XCode until yesterday. But it suddenly happened.
I have several devices(iOS/iPadOS) so I've tried them all, but they are all having the same situations.
What I've tried:
Re-install XCode
Rebooting mac and iPhone
Safe boot my mac
Disable and enable developer mode
Hello,
I’m currently working on Tiny ML or ML on Edge using the Google Colab platform. Due to the exhaust of my compute unit’s free usage, I’m being prompted to pay. I’ve been considering leveraging the GPU capabilities of my iPad M1 and Intel-based Mac. Both devices utilize Thunderbolt ports capable of sharing connections up to 30GB/s. Since I’m primarily using a classification model, extensive GPU usage isn’t necessary.
I’m looking for assistance or guidance on utilizing the iPad’s processor as an eGPU on my Mac, possibly through an API or Apple technology. Any help would be greatly appreciated!
Topic:
Machine Learning & AI
SubTopic:
Create ML
Tags:
ML Compute
iPadOS
Machine Learning
tensorflow-metal
Hello,
Has anyone encountered issues with CoreBluetooth advertising and scanning between iOS 18/iPadOS 18 Beta 3 ? I'm want to know this is a bug or an intended change in behavior.
Issue Summary:
Central device on iOS 18/iPadOS 18 Beta 3 (foreground) and Peripheral device on iOS 17.5.1 (background) fail to communicate via BLE advertising.
The reverse setup or using non-iOS 18 devices works as expected.
Detailed Description:
I am developing an iOS/iPadOS application using CoreBluetooth for advertising and scanning. Here are the specifics of my setup:
The application uses a fixed BLE service UUID, and scanning is performed with the specified service UUID.
Background Modes Uses Bluetooth LE accessories and Acts as a Bluetooth LE accessory are enabled to allow advertising and scanning even when the app is in the background.
When the Central device is running iOS 18/iPadOS 18 Beta 3 and the app is in the foreground scanning, and the Peripheral device is running iOS 17.5.1 with the app in the background advertising, the Central device cannot receive the advertisements from the Peripheral device. ( CBCentralManagerDelegate.centralManager(_:didDiscover:advertisementData:rssi:) don't work.)
In the reverse scenario (Central on iOS 17.5.1 in the foreground scanning, and Peripheral on iOS 18/iPadOS 18 Beta 3 in the background advertising), the advertisements are received correctly.
Additionally, advertisements are received correctly in cases where both devices are not on iOS 18/iPadOS 18.
I am wondering if anyone else has encountered this issue or if there is any information available regarding whether this is a bug or an intended behavior change in iOS 18/iPadOS 18.
Thank you.