Post

Replies

Boosts

Views

Activity

Reply to Putting 2 existing pdf pages side by side (half size) in a new pdf
I have found the very simple solution to resize an image (of the pdf page) without loosing resolution: https://stackoverflow.com/questions/32612760/resize-image-without-losing-quality I copy the code for those who are interested and to thank the author @Henry Declety: extension UIImage { func resize(targetSize: CGSize) -> UIImage { return UIGraphicsImageRenderer(size:targetSize).image { _ in self.draw(in: CGRect(origin: .zero, size: targetSize)) } } }
Topic: UI Frameworks SubTopic: UIKit Tags:
Mar ’26
Reply to Apps stuck in "Waiting for Review" for 23 days due to pending agreements. What happens now?
is it better to "Remove from Review" and resubmit them? (I am afraid of losing my place in the queue) I advise you not to do so. I experienced issue doing this one time and being really stuck until some support helped clean everything. And yes, you may loose your place in the queue.   Since the agreements are now active, will my apps automatically fall into the review queue, or do I need to trigger something? If nothings happens in the next 2 days (after the week end), you should contact support. Preferably ask for a phone contact.
Mar ’26
Reply to How to delete a row from a table
Welcome to the forum. array is the data source. So if you remove an item in array, the table should update automatically. Here a very basic example struct Customer: Identifiable { let id = UUID() let name: String let email: String } struct ContentView: View { @State var customers = [Customer(name: "John Smith", email: "john.smith @ example.com"), Customer(name: "Jane Doe", email: "jane.doe @ example.com"), Customer(name: "Bob Johnson", email: "bob.johnson @ example.com")] var body: some View { Table(customers) { TableColumn("name", value: \.name) TableColumn("email", value: \.email) } Button("Remove Jane Doe") { customers.removeAll(where: { $0.name == "Jane Doe"} ) } } } See details here: https://developer.apple.com/documentation/swiftui/table PS: you have a typo with the double backslash: \\.ticker If that answers your question, don't forget to close the thread by marking the answer as correct.
Topic: UI Frameworks SubTopic: SwiftUI
Feb ’26
Reply to Guidance needed for Guideline 4.2 Rejection - Specialized Regional Car Marketplace App
The Issue: The App Review team has stated that the app's usefulness is limited by minimal functionality and lacks sufficient "app-like" features. However, the app is built strictly around the services provided by our company and the specific requirements of our local automotive industry. In Apple's mind, minimum functionality is more related to iOS functionalities: Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or “app-like,” it doesn’t belong on the App Store. If your App doesn’t provide some sort of lasting entertainment value or adequate utility, it may not be accepted. So it is more a question of UI to enhance than users functionalities to extend. Hope that helps. If so, don't forget to close the thread by marking the answer as correct. Good luck.
Feb ’26
Reply to Whimsical tooltips behaviour in popover (Appkit)
There is however a problem with this solution. If there is a TextField in the popover, typing in makes it firstResponder ; and the parent window controller do not receive mouseEnter events that triggers the tooltips. Which means I do not need to simulate mouseDown but just makeFirstResponder. So at the end, the question boils down to: how to manage the conflict between popover and its parent window about FirstResponder. Is it possible to have first and "second" responder, I mean forwarding the mouse messages to the parent ? Considering that The shared NSApplication object performs the important task of receiving events from the window server and distributing them to the proper NSResponder objects. NSApp translates an event into an NSEvent object, then forwards the event object to the affected NSWindow object. All keyboard and mouse events go directly to the NSWindow object associated with the event. … When a window object receives an NSEvent object from NSApp, it distributes it to the objects in its view hierarchy. Could (should I) make both windows (parent and popover) receive the mouseEnter and mouseExit events which are needed for tooltips (up to me in that case to manage side effects).
Topic: UI Frameworks SubTopic: AppKit Tags:
Feb ’26
Reply to Putting 2 existing pdf pages side by side (half size) in a new pdf
I have found the very simple solution to resize an image (of the pdf page) without loosing resolution: https://stackoverflow.com/questions/32612760/resize-image-without-losing-quality I copy the code for those who are interested and to thank the author @Henry Declety: extension UIImage { func resize(targetSize: CGSize) -> UIImage { return UIGraphicsImageRenderer(size:targetSize).image { _ in self.draw(in: CGRect(origin: .zero, size: targetSize)) } } }
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Mar ’26
Reply to NSMENUITEMTITLEABOUT, NSMENUITEMTITLE in menu bar when running iOS app on Mac
It is indeed a localisation issue. In Localizable files, just add: "NSMenuItemTitleAbout" = "About The App"; "NSMenuItemTitleHide" = "Hide The App"; "NSMenuItemTitleQuit" = "Quit The App";
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Mar ’26
Reply to Wrote a new app but wanted it to be upgrade of oler app?
Maybe I miss something in what you are trying to do. Why do you need a new app ? Why not just completely rewrite the code within your older app: that will de facto be a new app. There is nothing that prevents you for doing so and from a user perspective that will be a - significant - upgrade.
Replies
Boosts
Views
Activity
Mar ’26
Reply to Apps stuck in "Waiting for Review" for 23 days due to pending agreements. What happens now?
is it better to "Remove from Review" and resubmit them? (I am afraid of losing my place in the queue) I advise you not to do so. I experienced issue doing this one time and being really stuck until some support helped clean everything. And yes, you may loose your place in the queue.   Since the agreements are now active, will my apps automatically fall into the review queue, or do I need to trigger something? If nothings happens in the next 2 days (after the week end), you should contact support. Preferably ask for a phone contact.
Replies
Boosts
Views
Activity
Mar ’26
Reply to When I compile my app I get a funny link error on libsystem_kernel.dylib`__pthread_kill:
What do you expect we could do with so limited information ? You should read this: https://developer.apple.com/forums/thread/706527 and complete your post. Have a good day.
Replies
Boosts
Views
Activity
Feb ’26
Reply to init?(coder: NSCoder) or init?(coder: (NSCoder?))
Thanks Quinn. My take away is: I have to take care of when super.init is called init?(coder: (NSCoder?)) does not make sense. In fact, I don't even remember where I got this syntax, may be after some deprecation warning (but that was back in 2018). I shall read carefully the chapter on Initialisation in Swift language book.
Topic: Programming Languages SubTopic: Swift Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to Referencing IBOutlet to its class or to file's owner
Thinking twice, that seems logic. When loading explicitly from nib, reference should be file's owner. In other cases, I just init from storyboard, so I have to reference the class.
Topic: UI Frameworks SubTopic: AppKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to Can my Xcode submission be an iPad only app ?
Terms and conditions: Your submission must be an app playground (.swiftpm) in a ZIP file. And Apple doc (https://developer.apple.com/swift-playground/) explains: Swift Playground is a revolutionary app for iPad and Mac So you are OK to design for iPad.
Replies
Boosts
Views
Activity
Feb ’26
Reply to How to delete a row from a table
Welcome to the forum. array is the data source. So if you remove an item in array, the table should update automatically. Here a very basic example struct Customer: Identifiable { let id = UUID() let name: String let email: String } struct ContentView: View { @State var customers = [Customer(name: "John Smith", email: "john.smith @ example.com"), Customer(name: "Jane Doe", email: "jane.doe @ example.com"), Customer(name: "Bob Johnson", email: "bob.johnson @ example.com")] var body: some View { Table(customers) { TableColumn("name", value: \.name) TableColumn("email", value: \.email) } Button("Remove Jane Doe") { customers.removeAll(where: { $0.name == "Jane Doe"} ) } } } See details here: https://developer.apple.com/documentation/swiftui/table PS: you have a typo with the double backslash: \\.ticker If that answers your question, don't forget to close the thread by marking the answer as correct.
Topic: UI Frameworks SubTopic: SwiftUI
Replies
Boosts
Views
Activity
Feb ’26
Reply to How to avoid this thread priority inversions ?
Thanks for the advice. But I can't reproduce the warning anymore.
Topic: UI Frameworks SubTopic: AppKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to Guidance needed for Guideline 4.2 Rejection - Specialized Regional Car Marketplace App
The Issue: The App Review team has stated that the app's usefulness is limited by minimal functionality and lacks sufficient "app-like" features. However, the app is built strictly around the services provided by our company and the specific requirements of our local automotive industry. In Apple's mind, minimum functionality is more related to iOS functionalities: Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or “app-like,” it doesn’t belong on the App Store. If your App doesn’t provide some sort of lasting entertainment value or adequate utility, it may not be accepted. So it is more a question of UI to enhance than users functionalities to extend. Hope that helps. If so, don't forget to close the thread by marking the answer as correct. Good luck.
Replies
Boosts
Views
Activity
Feb ’26
Reply to Whimsical tooltips behaviour in popover (Appkit)
I may have found a solution. I subclass NSView to use as the popover viewController view. All IBOutlets are declared there. And I set the tooltips there.
Topic: UI Frameworks SubTopic: AppKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to Accept a Review Rejection Defeat or Play Along with Reviewer
What do you think? Did you try to add a comment to the reviewer explaining what your app doesn't do with this location ? I suppose review is prepared by an automatic screening (use of APIs) which reports concerns to the reviewer. Without some context information, reviewer may reject.
Replies
Boosts
Views
Activity
Feb ’26
Reply to Whimsical tooltips behaviour in popover (Appkit)
There is however a problem with this solution. If there is a TextField in the popover, typing in makes it firstResponder ; and the parent window controller do not receive mouseEnter events that triggers the tooltips. Which means I do not need to simulate mouseDown but just makeFirstResponder. So at the end, the question boils down to: how to manage the conflict between popover and its parent window about FirstResponder. Is it possible to have first and "second" responder, I mean forwarding the mouse messages to the parent ? Considering that The shared NSApplication object performs the important task of receiving events from the window server and distributing them to the proper NSResponder objects. NSApp translates an event into an NSEvent object, then forwards the event object to the affected NSWindow object. All keyboard and mouse events go directly to the NSWindow object associated with the event. … When a window object receives an NSEvent object from NSApp, it distributes it to the objects in its view hierarchy. Could (should I) make both windows (parent and popover) receive the mouseEnter and mouseExit events which are needed for tooltips (up to me in that case to manage side effects).
Topic: UI Frameworks SubTopic: AppKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to How to pick which simulator i want to use in xcode
If I understand correctly your problem, the simulators you can use depend on the minimum deployment you've defined for your app. Select the app in file navigator panel of Xcode select Targets select general Then set the minimum deployment to iOS 18 or lower if you want to use such simulators. Then, in the top bar of Xcode window, select the simulator as usual.
Replies
Boosts
Views
Activity
Feb ’26