Explore the various UI frameworks available for building app interfaces. Discuss the use cases for different frameworks, share best practices, and get help with specific framework-related questions.

Post

Replies

Boosts

Views

Activity

PHP doesn't show images in WKWebView
Since httpRequest body is ignored on WKWebView, I am trying to display a php page by fetching the data first, and displaying it. func fetchData() { URLSession.shared.dataTask(with: request) {(data, response, error) in guard let data, let url = request.url else { return } // pass the result to WKWebView }.resume() } import Foundation import SwiftUI import WebKit struct CustomWebView: UIViewRepresentable { var url: URL var data: Data func makeUIView(context: Context) -> UIView { return CustomUIWebView(url: url, data: data) } } class CustomUIWebView: UIView { let webView: WKWebView init(url: URL,data:Data) { let webConfiguration = WKWebViewConfiguration() webView = WKWebView(frame: .zero, configuration: webConfiguration) super.init(frame: .zero) webView.load(data, mimeType: "text/html", characterEncodingName: "utf-8", baseURL: url) addSubview(webView) } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func layoutSubviews() { super.layoutSubviews() webView.frame = bounds } The data contains the page that display several images, but it doesn't display any of the images in WKWebView. Test and other components (such as checkmark button) have no problem, only images do. Also, I confirmed it works fine on Safari. So what is the issue here? What am I doing wrong?
0
0
330
Jun ’24
Appropriate framework?
I'm a hobbiest just starting to develop an app for MacOS only, so Swift, SwiftUI, Cocoa, UIKit are all very new - I do have a background in C/C++ and various assembly languages but GUI based apps are new and feeling like a challenge. So far, I understand SwiftUI to be the latest framework and thus, in time, it's expected to superceed Cocoa and UIKit. The app I intend to develop will be a remote console for a piece of equipment connected via a serial interface. My intention is to recreate the front panel of the equipment as best I can in the app so it retains the same look and 'feel' as the equipment itself. To accomplish this it will be necessary to place buttons, labels and other textual info in fixed locations within a window. If the window is resized I don't want to reflow its content. With my minimal experience of xcode this seems straightforward using cocoa but I'm stuggling to achieve anything comparable with SwiftUI. I'm keen to avoid spending lots of time learing one framework only to find-out it's not appropriate for the type of app I wish to develop. Guidance on framework selection would be much appreciated. Thanks, Andrew
1
0
277
Jun ’24
ContactAccessButton and contactAccessPicker in UIKit
Hi, I am looking at the ContactAccessButton and contactAccessPicker functionality that's new in iOS18. I had a couple of questions about this: is this available through UIKit as well as SwiftUI, or is it a SwiftUI-only feature? is it going to be available on the Mac as well as iOS? Thanks.
2
1
579
Jun ’24
New Sliders
For the past couple of years, Apple has been using custom sliders in Music, Podcasts, and on the Lock Screen for scrubbing music and controlling volume. But those sliders are not available to 3rd party devs. We can recreate them theoretically for scrubbing audio. But not for volume, where in UIKit we are supposed to use MPVolumeView. Anyone from Apple? Are there any plans to make the slider styles used in Apple's audio apps available to the rest of us? FB12261162
0
0
355
Jun ’24
Accessing Status Bar Orientation in PiP Mode for VoIP Apps
I am a VoIP app developer currently working on the Picture-in-Picture (PiP) mode. To ensure the video always appears correctly oriented, I need to obtain rotation information when the device rotates. When the app is in the foreground, I can use [UIDevice currentDevice].orientation to retrieve this value and adjust the video accordingly. However, in PiP mode, my app moves to the background, and this API does not function as expected. Similarly, interfaceOrientation of UIWindowScene and [UIApplication sharedApplication].statusBarOrientation do not work in the background. Is there a way to obtain the orientation information of the system status bar when my app enters the background in PiP mode? Thank you in advance.
0
0
346
Jun ’24
How can I include app intents only for newer OS versions?
I have an app that currently supports as low as iOS 16. I'd like to add some app intents to it that allow customization using the WidgetConfigurationIntent API that's only available on iOS 17 and later. Is there a way to build an intent (or other kind of app extension) that requires a higher OS version than my main app's deployment target, and only surface it for those OS versions?
0
0
401
Jun ’24
NSItemProvider iconProvider has a dynamic type rather than an image type
I'm using a LPMetadataProvider to get metadata for URLs. If I do this if itemProvider.hasItemConformingToTypeIdentifier(UTType.image.identifier) { let item = try? await itemProvider.loadItem(forTypeIdentifier: UTType.image.identifier) // continue with code to convert data to UIImage... } That seems to fail quite often, even on larger sites like Amazon where users will expect to see an icon. I've noticed it's because sometimes the type is dyn.agq80w5pbq7ww88brrfv085u I'm assuming this is because something about the website response or the image data does not let the system determine if it is actually an image. If I just do this let type: String = "dyn.agq80w5pbq7ww88brrfv085u" if itemProvider.hasItemConformingToTypeIdentifier(type) { let item = try? await itemProvider.loadItem(forTypeIdentifier: type) // continue with code to convert data to UIImage... } Then I get the icon, so it is there and it is an image. The problem is, does this dynamic type cover everything? Should I even be doing that? Does anyone know precisely what causes this and are there recommendations on better ways to handle it? I know LPLinkView appears to do something to load these 'non-image' icons so I am assuming there are way. My assumption is that it would be safe to look at the results of itemProvider.registeredTypeIdentifiers() and if it has something use that as the type rather than coming up with a hardcoded list of types to check for.
2
0
604
Jun ’24
iOS floating caret position
Hello, On iOS it is possible to use the keyboard spacebar to move the caret while editing text. The user has to longpress on the spacebar, and then the keyboard would turn into a trackpad that moves around a floating caret. Is there a way to get the position of the caret while the user uses this space bar navigation? And by the position I mean the position in an app or in a frame? Are there any other events that this action can send out? Thanks a lot!
1
0
633
Jun ’24
Help Needed: Implementing a Countdown Timer Live Activity with Push Notifications
Notifying the Live Activity When Countdown is Complete: Once the countdown timer reaches zero, how do I notify the live activity? What is the best approach to ensure the live activity updates accurately and promptly? Handling App Suspension in the Background: When my app is in the background, it gets suspended. Should I set up a job queue on the backend to send an update push notification when the timer ends? Is there a more efficient way to handle this? Ensuring Timer Accuracy: Since this feature deals with time, I am concerned about the accuracy of the timer. How can I ensure the countdown timer remains accurate even when the app is not in the foreground? Any answers, insights, or guidance on these issues would be greatly appreciated. Thank you in advance for your help!
1
1
626
May ’24
CarPlay - CPListItem long text going over chevron indicator
I'm using CPListItem to display different items in CarPlay, things like Addresses that the user can navigate to for example. Sometimes these addresses are too long and go over the chevron indicator. I was trying to find a way to truncate the title, or use lineBreakMode similar to labels but couldn't find a way to do so. Any help is appreciated here. See the screenshot below for more details on the problem.
1
0
431
May ’24
iOS17 UITextView inputView becomFirstResponder does not work
Simplely, when we set UITextView.inputView and then call becomeFirstResponder, but the custom inputView could not show expectedly just like before. We test this code in iOS17 and below, while only iOS17 does not work. And xcode console print these logs: Failed to retrieve snapshot. -[RTIInputSystemClient remoteTextInputSessionWithID:performInputOperation:] perform input operation requires a valid sessionID -[RTIInputSystemClient remoteTextInputSessionWithID:performInputOperation:] perform input operation requires a valid sessionID -[RTIInputSystemClient remoteTextInputSessionWithID:performInputOperation:] perform input operation requires a valid sessionID -[RTIInputSystemClient remoteTextInputSessionWithID:performInputOperation:] perform input operation requires a valid sessionID Unsupported action selector setShiftStatesNeededInDestination:autoShifted:shiftLocked: Unsupported action selector setShiftStatesNeededInDestination:autoShifted:shiftLocked: Unsupported action selector setShiftStatesNeededInDestination:autoShifted:shiftLocked: Unsupported action selector setShiftStatesNeededInDestination:autoShifted:shiftLocked:
47
17
30k
Jun ’23