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

DeviceDiscoveryUI notification for iPad says iPhone?
I have been polishing an app that connects and communicates between a tvOS app I created and a iPadOS app that I also created. Connection works fantastic! However, for some reason when the user selects the button to open the DevicePicker provided by this API and then selects a iPad device the notification that comes across the the iPad reads, "Connect your Apple TV to "AppName" on this iPhone. Is this a bug or am I missing some configuration in maybe Info.plist or a modifier I need to add the DevicePicker for it to communicate the proper device identification? I have everything setup in both app Info.plist files to connect and work fine, but the notification saying iPhone on an iPad is sadly a small detail I would love to change. So...not sure if I found a bug or if I am missing something.
1
0
191
Jan ’25
When accessing a compressed file in the iCloud Drive from the Files app, an error occurs.
I am trying to upload a ZIP file, created by compressing other files in iCloud Drive through the Files app, using UIDocumentPicker. However, errors like those described in Test 1 and Test 2 in the sample code are occurring. import UIKit class ViewController: UIViewController,UIDocumentPickerDelegate { override func viewDidLoad() { super.viewDidLoad() } @IBAction func openDocumentPicker(_ sender: Any) { // Test 1 // let documentPicker = UIDocumentPickerViewController(forOpeningContentTypes: [.item], asCopy: true) // When clicking the "Open" button, there is no response, and the following error occurs. /* Failed to copy the imported file into the local container ((null)) Tried to call delegate -documentBrowser:didPickDocumentURLs: with an empty array of items. This indicates the items failed to be prepared and materialized on disk: ( "<DOCItemBookmark: 0x303ad2fc0> FPItem=(null)" ) */ // Test 2 let documentPicker = UIDocumentPickerViewController(forOpeningContentTypes: [.item]) // When using the regular mode instead of the copy mode, // the "Open" button works, and the selectedFileURL is correctly retrieved. // However, even after using startAccessingSecurityScopedResource, // attempting to read the file results in the following error. /* Error reading file: Error Domain=NSCocoaErrorDomain Code=257 "The file “archive 4.zip” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/samplefiles/archive 4.zip, NSURL=file:///private/var/mobile/Library/Mobile%20Documents/com~apple~CloudDocs/%E1%84%89%E1%85%A2%E1%86%B7%E1%84%91%E1%85%B3%E1%86%AF%E1%84%91%E1%85%A1%E1%84%8B%E1%85%B5%E1%86%AF/%E1%84%8B%E1%85%A1%E1%84%8F%E1%85%A1%E1%84%8B%E1%85%B5%E1%84%87%E1%85%B3%204.zip, NSUnderlyingError=0x300bedbf0 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"} */ documentPicker.delegate = self documentPicker.allowsMultipleSelection = true self.present(documentPicker, animated: true, completion: nil) } func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) { guard urls.isEmpty == false else { print("no urls") return } //Test2 for selectedFileURL in urls { // Start accessing the security-scoped resource if selectedFileURL.startAccessingSecurityScopedResource() { defer { selectedFileURL.stopAccessingSecurityScopedResource() } // Perform operations on the file do { let fileCoordinator = NSFileCoordinator() var error: NSError? fileCoordinator.coordinate(readingItemAt: selectedFileURL, options: [], error: &error) { (newURL) in do { let fileData = try Data(contentsOf: newURL) // Process the file data print("File data read successfully") } catch { print("Error reading file: \(error)") } } if let error = error { print("Error coordinating file access: \(error)") } } catch { print("Error reading file: \(error)") } } else { print("Failed to access security-scoped resource") } } } It seems that there might be an issue with the compressed ZIP file. How can this be resolved?
1
0
283
Jan ’25
App Clip No Available
1.APPStore Arraignment passed. Not yet released. The diagnostic link configuration is not available. Firstly,We filled in the configuration of the corresponding domain name, and the verification was successful. My AASA file is configured correctly (general deep links work with it, as well as some app clip URLs) and is also configured for app clips. "applinks": { "apps": [], "details": [ { "appID": "***.com.xx.easyshare", "paths": [ "*" ] }, { "appID": "***.com.xx.easyshareExport", "paths": [ "*" ] } ] }, "appclips": { "apps": [ "***.com.xx.easyshare.Clip" ] } } Well,I used https://es.xx.com/send or https://es.xx.com to get diagnostic information is wrong My TestFight config is ok Another problem is that using NFT jumps directly to Safire.
1
0
192
Jan ’25
LiveActivity on device with Dynamic Island
I am developing a live activity for my app and am running into issues on devices with dynamic islands. The live activity will randomly get in a state where it displays a spinner and does not update. For devices without dynamic islands, the activity works perfectly fine. I have tried breaking down the views to determine the root cause, but at times it seems very random. These are all TestFlight builds as we are currently developing the feature. I have tried using the console app and looking at the various processes that have been called out in other threads and cannot see any actual errors being logged. Looking for any pointers on how to pinpoint the root cause of this issue.
0
0
225
Jan ’25
Live Caller ID Example Setup Config Error
I have been playing around with getting the Live Caller ID example project setup yet I cannot get passed the initial configuration. I have the app extension running on my device and the server running on the correct host and port so things are working in that sense, yet when I go to the Call Blocking & Identification Services to toggle on my extension I see that the /config endpoint is failing with the following error: Invalid existingConfigIds count 1. Expected 0 or 0. The existingConfigIds has one entry with a Data object of zero bytes. I’m not sure where/why this is getting added upon initialization. Has anyone seen this occur? I followed the testing instructions as far as I can tell and haven’t seen this issue discussed elsewhere.
1
0
289
Dec ’24
Could someone test if Settings in iOS 18.2 are broken ?
Apparently, settings do not show anymore the apps settings in iOS 18.2. I tested on simulators (Xcode 16.2) both on iOS 18.1 and iOS 18.2 and got very different results: In iOS 18.1 simulator, I see the settings of a lot of apps. In iOS 18.2 simulator, not a single app setting. That is a really serious issue in simulator for development (I filed a bug report FB16175635), but would be really critical on device as it would make it impossible to adjust setting of many apps. Unless I missed something (meta setting ?) in iOS 18.2 ? I have not upgraded to 18.2 notably for this reason. So I would appreciate if someone who has upgraded could make the test and report ? select Settings on Home page scroll to Apps category tap here to access the list Does the list show anything ? Thanks for your help.
1
1
671
Dec ’24
КАК ОТКЛЮЧИТЬ ФУНКЦИЮ «СГРУЗИТЬ НЕИСПОЛЬЗОВАННОЕ ПРИЛОЖЕНИЕ»
Я случайно по рекомендации Apple включил автоматическое сгружение приложений, и у меня попросту нету функции отключить это в настройках, я пользуюсь iPhone 14 Pro iOS 18.2, СРОЧНО ПОДСКАЖИТЕ РЕШЕНИЕ ПРОБЛЕМЫ ПОЖАЛУЙСТА С уважением Martin.
1
0
309
Dec ’24
icloud password reset UI does not show buttons.
As can be seen in the screenshot attached, I can not see the options in this window. A prompt window before this also did not show any buttons in the visible space. However, I made a guess and could get to this window by clicking on what I think was "Ok" or something similar. But on this I could not do any action and had to force quit the app.
0
0
176
Dec ’24
Numerous Undefined symbol errors
Getting these two warnings: Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found Could not parse or use implicit file '/Applications/Xcode16.0/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/SwiftUICore.framework/SwiftUICore.tbd': cannot link directly with 'SwiftUICore' because product being built is not an allowed client of it Followed by 100 + errors like below Undefined symbol: _TIFFCleanup & Undefined symbol: _TIFFReadRGBAImageOriented ..... Any ideas? I have tried adding CoreAudioTypes etc. Error is not clear. Am trying to stop using Rosetta
2
0
326
Dec ’24
Rounded button in realitykit using swiftui
I'm developing an ar app using reality kit and Arkit and i want to have my buttons in the same theme of vision os buttons thin , transparent background and round at corners.Following is the code i have written and need help with it func createButton(label: String, position: SIMD3<Float>) -> ModelEntity { let button = ModelEntity(mesh: .generateBox(size: [0.3, 0.1, 0.02], cornerRadius: 10), materials: [SimpleMaterial(color: .blue, isMetallic: false)]) button.generateCollisionShapes(recursive: true) button.position = position // Add button label let buttonText = ModelEntity(mesh: .generateText(label, extrusionDepth: 0.005, font: .systemFont(ofSize: 0.05))) buttonText.model?.materials = [SimpleMaterial(color: .white, isMetallic: true)] buttonText.position = [-0.07, -0.02, 0.01] button.addChild(buttonText) return button }
1
0
318
Dec ’24
iPad - Bluetooth Peripheral MTU No More Than 20 Bytes
All, Thanks in advance! I'm having a very hard time increasing the MTU to any value beyond 20. The research I've done states iOS 16.1 and beyond supports up to 512 bytes. Yet, the peripheral device will only read 20 bytes. It's to be noted that I'm using Expo SDK 51 Bare Workflow, and the react-native-ble-plx library. I have the app functioning as both Central and Peripheral on iOS 18.1 devices, and data is successfully being written and read to the characteristic. Because the Expo app is Bare Workflow, I'm able to make any configurations via Xcode, and if there is any patches needed to the react-native-ble-plx library, we have the architecture to support that too. I wanted to provide that context before being recommended to go to the Expo forums (which I have/will be). I also added the CoreBluetooth framework to the project in hopes that would overwrite the react-native-ble-plx imports, but I noticed react-native-ble-plx uses Swift while CoreBluetooth is Objective-C. Looking forward to your responses!
1
0
321
Dec ’24
LaunchScreen Storyboard layout issue on iPhone 16 Pro Max
I currently face an Issue where the SafeAreaInsets on the iPhone 16 Pro Max is not respected on LaunchScreens. Lets say you have an ImageView whose leading, trailing and top are equal to the SafeAreaLayoutGuides leading, trailing and top. Then you have a SwiftUI View such as the following representing the same layout in code: GeometryReader { reader in ZStack { VStack(spacing: 0) { Spacer(minLength: 0) .frame(height: reader.safeAreaInsets.top) Image(decorative: "splashLogo") Spacer(minLength: 0) } .frame(width: reader.size.width) } .edgesIgnoringSafeArea(.all) } Both the storyboard preview as well as the SwiftUI preview show identical results in Xcode. Launching the app on the device however briefly shows the image below the Dynamic Island cutout until the app is launched to the SwiftUI view. Noticed this only happening on the iPhone 16 Pro Max.
0
1
215
Dec ’24
Issue with Parent selecting child's apps using Family Controls API
I'm trying to accomplish the features in this video where the child device requests permission from parent to control scren time. Then the parent can choose apps on the childs phone from their phone. Everything on the childs device is working exactly like in the video. However, on the parents phone, when the FamilyActivityPicker appears, it's only the apps on the parents phone and when an app is selected, nothing changes in the FamilyActivitySelection. I found this forum post describe the same issue I am having. I have a physical device logged in the child and a simulator running as the parent. Why can't I see the child's apps on the parents phone? Is it cause I'm running one of them on a simulator?
1
0
275
Dec ’24
CloudKit error - CKErrorRequestRateLimited
First query works fine. If next query comes within 30 seconds of first query it generates a CKErrorRequestRateLimited (error.code==7) error telling me to try after a time such that there would be 30 seconds between queries. <CKError 0x30299dd70: "Request Rate Limited" (7/2061); "Operation throttled by previous server http 503 reply. Retry after 20.5 seconds. (Other operations may be allowed.)"; Retry after 20.5 seconds>
2
0
418
Dec ’24
How to Get the Selected Tab in CPTabBarTemplate When Clicking a Tab in CarPlay?
Hi everyone, I'm developing a CarPlay application and using a CPTabBarTemplate to display multiple tabs. I want to determine which tab is selected when the user clicks on a tab, specifically when switching to the second tab. Here’s the relevant part of my code: class CarPlaySceneDelegate: UIResponder, CPTemplateApplicationSceneDelegate { var interfaceController: CPInterfaceController? var tabBarTemplate: CPTabBarTemplate = CPTabBarTemplate(templates: []) func templateApplicationScene( _ templateApplicationScene: CPTemplateApplicationScene, didConnect interfaceController: CPInterfaceController ) { self.interfaceController = interfaceController // Create and set the TabBarTemplate let tabBarTemplate = createTabBarTemplate() self.tabBarTemplate = tabBarTemplate interfaceController.setRootTemplate(tabBarTemplate, animated: false) { success, error in if let error = error { print("Error setting TabBarTemplate: \(error.localizedDescription)") } else { print("TabBarTemplate set successfully.") } } } func createTabBarTemplate() -> CPTabBarTemplate { let listItem1 = CPListItem(text: "Item 1", detailText: "Detail 1") let listItem2 = CPListItem(text: "Item 2", detailText: "Detail 2") let listTemplate = CPListTemplate( title: "List", sections: [CPListSection(items: [listItem1, listItem2])] ) let gridButton1 = CPGridButton( titleVariants: ["Grid 1"], image: UIImage(systemName: "star.fill")! ) let gridButton2 = CPGridButton( titleVariants: ["Grid 2"], image: UIImage(systemName: "star")! ) let gridTemplate = CPGridTemplate( title: "Grid", gridButtons: [gridButton1, gridButton2] ) return CPTabBarTemplate(templates: [listTemplate, gridTemplate]) } }
1
0
308
Dec ’24
Screen capture notification in MacOs catalyst
We have a IOS app and we are using the same app for Mac Catalyst. In IOS we are able to detect when user take the screenshot using UIApplicationUserDidTakeScreenshotNotification. But in MACCatalyst it is not working. As per docs UIApplicationUserDidTakeScreenshotNotification and UIScreenCapturedDidChangeNotification are both supported for MacCatalyst 13.1+. But I am not getting screen shot notifications using both
3
0
302
Dec ’24
Regarding the display of AppleArcade access points when playing iOS apps on visionOS.
[The problem that is occurring] The game apps in development are compatible with iOS, macOS, tvOS, and visionOS. In the Game app under development, the AppleArcade access point is placed in the main menu. In visionOS, when the main menu is opened, the GameCenter dashboard is automatically launched within 1~2 seconds after the main menu is displayed. This condition occurs every time the menu is re-opened. On iOS, macOS, and tvOS, the dashboard appears after pressing the GameCenter access point icon. [What you want to solve] We would like to make it so that the Game Center dashboard is launched after the access point icon is pressed on visionOS as it is on other operating systems. Or, if there is a standard implementation method for visionOS, please let us know.
1
0
356
Dec ’24