Post

Replies

Boosts

Views

Activity

Submit an macOS app and Xcode version
I have created a small app for macOS. I looked for information about how to submit it to the app store and read: "Build your apps using Xcode 13.1 or later…" https://developer.apple.com/macos/submit/ I have an old iMac Late 2013. Unfortunately, the last version I can install is Catalina 10.15.7, and the last Xcode I can install is version 12.4. Does it mean that I cannot publish my app? Is there any way I can submit it? Is buying a new mac the only solution? My iMac works well, and it is not easy for me to buy a new one. I would appreciate any recommendation Thank you
2
0
1.1k
Jul ’22
Do something at a specific time
I want my program to do something at a specific time. This is what I have tried: func rellotge() { countdownRellotge = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(actualitzaRellotge), userInfo: nil, repeats: true) } @objc func actualitzaRellotge() { let date = Date() let calendar = Calendar.current hour = calendar.component(.hour, from: date) minutes = calendar.component(.minute, from: date) seconds = calendar.component(.second, from: date) //print (minutes, ":", seconds) if (minutes == 40 && seconds == 0){ print ("do something") } } This does not work if the computer goes to sleep. Even before that, it becomes buggy. (When I print the seconds, it seems that sometimes it skips some seconds) How can I reliably make my program do something at a specific minute-second?
1
0
478
Apr ’22
NSView not transparent in a transparent window
(Swift, macOS, storyboards.) I have a window that is semitransparent and a NSView that I want to be not transparent or with a different transparent degree. With my code, if I make the window transparent the NSView is also transparent. func finestra() { self.view.window?.alphaValue = 0.7 } func nsView1() { nsViewOutlet.wantsLayer = true nsViewOutlet.layer?.backgroundColor = NSColor.white.cgColor nsViewOutlet.alphaValue = 1 }
0
0
484
Mar ’22
Day of the week. From String to int
Is it possible to convert a var with the day of the week to a number? (and the other way around) let diaSetmana = "Monday" let diaSetmana2 = 2 I know how to convert from date(): let date = Date() let calendar = Calendar.current let dateFormatter = DateFormatter() dateFormatter.dateFormat = "EEEE" let dayString = dateFormatter.string(from: date) I am asking for converting not from date() but from a var that I have a random day of the week
1
0
604
Mar ’22
Scroll View with text and img inside
(Swift, macOS, storyboards) I try to make a simple page with an scroll, text and images. Similar to help pages in all mac programs. For instance, TextEdit help: I tried many things. For instance: Scroll View with constraints 0 to top, bottom, leading, trailing Inside the Scroll View: a Label, an Image View, another Label. The labels with constraints 20px top, bottom, leading, trailing. Labels Priority 750. The rest of constraints Priority 1000 With this, the user can change the width and height of the window, the text adapts but if the window is smaller than the content, I do not see the scroll. The attributes of the scroll are Show Vertical Scroller and Automatically Hide Scroller. If I change one of the options, I do not see the scroll space (or I see the scroll but not the movable part of the scroll) How to have text, images, a window that can change width, height, and a scroll that appears when the content is bigger than the window. (Like a regular web page or the help that Apple has in many programs)?
5
0
1.8k
Oct ’21
Open a View from the menu
(Swift, macOS, storyboards) How to open a view (not a window) by clicking a menu item? Let's suppose I have one window and two views: I try to open with Menu item: "open view 1" and item: "open view 2": (Here I asked the same question. Claude 31 solved very well with a button in one of the views. Here I am asking the same but with a button in the menu or menu item: https://developer.apple.com/forums/thread/690644 ) (Be aware that I am a beginner and I try to learn. Please explain in a simple way if possible)
2
0
1.6k
Sep ’21
How to open a view
(Swift, macOS, Storyboards) How to open a View with code and macOS? (a View, not a Window) I can open a Window Controller: var controller: NSWindowController? if controller == nil { let storyboard:NSStoryboard = NSStoryboard(name: "Main", bundle: nil) controller = storyboard.instantiateController(withIdentifier: "window1") as? NSWindowController } controller?.showWindow(self) But I could not figure out how to open a View Controller. What would the be equivalent code for a View Controller in macOS?
6
0
1.2k
Sep ’21
Swift Json with hyphens
(Swift, macOS, storyboards) //I have a JSON in a URL. Simplified it is something like this: {     "id": 1,     "name": "Leanne Graham",     "with-hyphen": 123 } //Outside the class ViewController: struct User: Codable {     let id: Int     let name: String     let with: Int } //In the class ViewController:     @IBAction func getJson(_ sender: NSButton) {         let url = URL(string: "https://example.com")!         URLSession.shared.dataTask(with: url) { data, _, _ in             if let data = data {                 let result = try? JSONDecoder().decode(User.self, from: data)                 //let result2 = result!.name //it works                 //let result3 = result!.with-hyphen //it does not work                 //print (result3)             }         }.resume()     } I can safe in a let the regular "id" and "name" but I do not know how to deal with the keys with hyphens, in the example: "with-hyphen"
1
1
1.6k
Sep ’21
Completion with JSON
(Swift, macOS, Storyboards) I can read a JSON from an URL. I would like to know when I can access the information. To be able to go from one function after the other. It seems that "completion" does not work with JSON? or perhaps I am doing something wrong? I give a simplified example: I try to get the JSON information in func first() and then do something with that information in func second()     var result2 = "empty"     func first(completion: ()->()) {         let url = URL(string: "https://jsonplaceholder.typicode.com/users")!         URLSession.shared.dataTask(with: url) { data, _, _ in             if let data = data {                 let result = try? JSONDecoder().decode([User].self, from: data)                 self.result2 = result![0].name             }         }.resume()         completion()     }     func second() {         //do something after first()         print (result2)     }     @IBAction func button1(_ sender: NSButton) {         first {           second()         }     }
2
0
814
Sep ’21
Usable screen space in a Mac
(Swift, macOS, storyboards) I can find the total height of the screen: let totalHight = NSScreen.main?.frame.height To know the real space I have to subtract 23 px for the Menu Bar. let usableHight = totalHight - 23 But on some occasions the user may not have the Menu Bar active (System Preferences > General > uncheck Automatically hide and show the menu bar) Is there a way to know if the Menu Bar is hidden or show? or perhaps there is another way to know the real usable height of the screen?
3
0
792
Aug ’21
Animate a macOS window
(swift, macOS, storyboards) I can animate a window just adding animate: true to a regular way to control a window. Is there any way to control the animation, especially the time the animation will take? self.view.window?.setFrame(NSRect(x:0, y:0, width:300, height:300), display: true, animate: true)
2
0
819
Aug ’21
How to stop an animation
(swift, storyboards, macOS) Can I stop or pause an animation? (I could find how to remove it: view1.layer?.removeAllAnimations() Here is the official documentation but I do not understand: https://developer.apple.com/documentation/uikit/uiviewanimating/1649843-pauseanimation)     @IBAction func fadeOut(_ sender: NSButton) {         NSAnimationContext.runAnimationGroup({ (context) in             context.duration = 5.0             view1.animator().alphaValue = 0         })     }
3
0
1.8k
Aug ’21
Presentation single with code
(swift, macOS, storyboards) I open a window with code. Every time the user clicks the button the same window opens again and again. How to avoid that? This opens well the window, but multiple times:     @IBAction func obrirAmbCodi(_ sender: NSButton) {         let storyboard:NSStoryboard = NSStoryboard(name: "Main", bundle: nil)         guard let controller:NSWindowController = storyboard.instantiateController(withIdentifier: "finestra3") as? NSWindowController else { return }             controller.showWindow(self)     } If I open the window with a segue (storyboard control drag) I can accomplish that by selecting the window controller > Attributes > Presentation > Single. But it seems that it does not work if I open the window with code
2
0
603
Aug ’21
Animate sizeToFit
I change the text of a label dynamically (so I do not know the text of the label) how can I animate the size to fit. I am looking for a smooth, elegant transition for design purposes. What I have tried:         NSAnimationContext.runAnimationGroup({ (context) in             context.duration = 4.0 label1.stringValue = "long, long text"             label1.animator().sizeToFit()         })
5
0
1.5k
Aug ’21