Post

Replies

Boosts

Views

Activity

Lines numbering in Code Block
The Code Block doesn't number lines anymore. The work around is to ask for Numbered list in addition to Code block. Just applying Code Block: required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) commonInit() } Code Block AND Numbered List (or the other order) 1. required init?(coder aDecoder: NSCoder) { 2. super.init(coder: aDecoder) 3. commonInit() 4. } Is there another way to get numbering directly ?
4
0
939
Aug ’21
Rotating a page in a pdf file - and get a mirrored image
I try to rotate a page 180° in a pdf file. I nearly get it, but the page is also mirrored horizontally. Some images to illustrate: Initial page: Result after rotation (see code): it is rotated 180° BUT mirrored horizontally as well: The expected result It is just as if it was rotated 180°, around the x axis of the page. And I would need to rotate 180° around z axis (perpendicular to the page). It is probably the result of writeContext!.scaleBy(x: 1, y: -1) I have tried a lot of changes for transform, translate, scale parameters, including removing calls to some of them, to no avail. @IBAction func createNewPDF(_ sender: UIButton) { var originalPdfDocument: CGPDFDocument! let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) let documentsDirectory = urls[0] // read some pdf from bundle for test if let path = Bundle.main.path(forResource: "Test", ofType: "pdf"), let pdf = CGPDFDocument(URL(fileURLWithPath: path) as CFURL) { originalPdfDocument = pdf } else { return } // create new pdf let modifiedPdfURL = documentsDirectory.appendingPathComponent("Modified.pdf") guard let page = originalPdfDocument.page(at: 1) else { return } // Starts at page 1 var mediaBox: CGRect = page.getBoxRect(CGPDFBox.mediaBox) // mediabox which will set the height and width of page let writeContext = CGContext(modifiedPdfURL as CFURL, mediaBox: &mediaBox, nil) // get the context var pageRect: CGRect = page.getBoxRect(CGPDFBox.mediaBox) // get the page rect writeContext!.beginPage(mediaBox: &pageRect) let m = page.getDrawingTransform(.mediaBox, rect: mediaBox, rotate: 0, preserveAspectRatio: true) // Because of rotate 0, no effect ; changed rotate to 180, then get an empty page writeContext!.translateBy(x: 0, y: pageRect.size.height) writeContext!.scaleBy(x: 1, y: -1) writeContext!.concatenate(m) writeContext!.clip(to: pageRect) writeContext!.drawPDFPage(page) // draw content in page writeContext!.endPage() // end the current page writeContext!.closePDF() } Note: This is a follow up of a previous thread, https://developer.apple.com/forums/thread/688436
2
0
2.2k
Nov ’23
Excluding activity types for UIActivityViewController: some are still present
I try to exclude some activities from UIActivity. It works as expected when exclusion is done directly with the activity, as with: UIActivity.ActivityType.message, UIActivity.ActivityType.airDrop but not when activity is declared with an init as with: UIActivity.ActivityType(rawValue: "net.whatsapp.WhatsApp.ShareExtension"), UIActivity.ActivityType(rawValue: "com.ifttt.ifttt.share"), So, with the following code: let excludedActivityTypes = [ UIActivity.ActivityType.message, UIActivity.ActivityType.airDrop, UIActivity.ActivityType(rawValue: "net.whatsapp.WhatsApp.ShareExtension"), UIActivity.ActivityType(rawValue: "com.ifttt.ifttt.share") ]         let activityVC = UIActivityViewController(activityItems: [modifiedPdfURL], applicationActivities: nil)          activityVC.excludedActivityTypes = excludedActivityTypes message and airDrop do not show, but WhatsApp and IFTTT still show. I have tested with         activityVC.completionWithItemsHandler = { (activity, success, modifiedItems, error) in             print("activity: \(activity), success: \(success), items: \(modifiedItems), error: \(error)")         } that WhatsApp and IFTTT services are effectively the ones listed here. When selecting WhatsApp, print above gives: activity: Optional(__C.UIActivityType(_rawValue: net.whatsapp.WhatsApp.ShareExtension)), success: false, items: nil, error: nil
4
0
5.3k
Jul ’22
Change in Watch 7 in rounded corners of WKInterfaceLabel or WKInterfaceGroup
When testing in simulator with Xcode 13, I noted a subtle difference in the display of WKInterfaceLabel between Watch series 6 and series 7. WKInterfaceLabel is in a WKInterfaceGroup. On Series 7: the text Fast Driving is clipped with round corner at top and bottom On Series 6, round clipping is much less (noticeable on leading F and D) I could not find what parameter has changed in IB nor how to change this round corner value. Nor why such a change ?
3
0
2k
Nov ’21
SegmentedControl do not work correctly on iPhone 13Mini simulator
UISegmented controls seem not to work correctly in iPhone 13 Mini simulator. When tapping on a segment, control does not react before 30 to 40 s ; then it shows uncomplete redraw: I also noted similar lag in updating display when some label text changes. Configuration: MacOS 11.6.1 Xcode 13RC iOS 15.0 simulator. It works ok on a few other simulators I tested. I created an extremely simple project to reproduce: new project in Xcode 13RC added a segmentedControl at bottom of view, constrained to leading and trailing 0 to the safe area set selected color to red. run on iPhone 13 mini simulator I will test later with Xcode 13.2ß
1
0
919
Nov ’21
UIApplication.openSettingsURLString does not work on iPadOS 15 simulator ?
The following code opens the app settings, including preferred language. func openSettings() { guard let settingsUrl = URL(string: UIApplication.openSettingsURLString) else { return } if UIApplication.shared.canOpenURL(settingsUrl) { UIApplication.shared.open(settingsUrl, completionHandler: nil) } } That works well in iOS (14.6 or 15.2), on iPadOS 14.4 ( both device and simulator) But on iPadOS 15.2 simulator, the preferred language setting for the app does not show. I noticed this in 2 different apps.
1
0
1.1k
Dec ’21
repeatCount in UIViewPropertyAnimator
I have a func to flash a view a number of times and execute closure at the end. The following code with UIView.setAnimationRepeatCount works OK: animation occurs the requested number of times and afterEnd closure executes at the end. func flashIt(repeated: Int, cycleTime: Double, delayed: Double = 5.0, afterEnd: (() -> Void)? = nil) { if repeated < 0 { return } let initAlpha = self.alpha UIView.animate(withDuration: cycleTime, delay: delayed, options:[.allowUserInteraction, .curveEaseInOut, .autoreverse, .repeat], animations: { UIView.setAnimationRepeatCount(Float(repeated)) self.alpha = 0.1 // Not 0.0, to allow user interaction }, completion: { (done: Bool) in self.alpha = initAlpha afterEnd?() } ) } To address UIView.setAnimationRepeatCount deprecation, I now try this (inspired by https://stackoverflow.com/questions/47496584/uiviewpropertyanimator-reverse-animation) func flashIt(repeated: Int, cycleTime: Double, delayed: Double = 5.0, afterEnd: (() -> Void)? = nil) { if repeated < 0 { return } let initAlpha = self.alpha let animator = UIViewPropertyAnimator(duration: cycleTime, curve: .linear) { self.alpha = 0.1 } animator.addCompletion { _ in let reverseAnimator = UIViewPropertyAnimator(duration: cycleTime, curve: .linear) { self.alpha = initAlpha } reverseAnimator.addCompletion { [self] _ in flashIt(repeated: repeated-1, cycleTime: cycleTime, delayed: 0) // without delay here } reverseAnimator.startAnimation() if repeated <= 1 { // 1 and not 0, otherwise an extra loop… afterEnd?() // Not called return } } animator.startAnimation(afterDelay: delayed) } The flash works, but afterEnd closure is never called. I've tried to call if repeated <= 1 { // 1 and not 0, otherwise an extra loop… afterEnd?() // Not called return } in other places, to no avail. What do I miss ? Is there a better and simpler way to have a RepeatCount with UIViewPropertyAnimator ?
3
0
1.5k
Jan ’22
What is this view that appears floating over the tableView ?
I have a tableView inside a UIView in a VC. This VC is in a navigation view. It is a UIViewController, not a UITableViewController. The VC set up is this one: The issue: When I run app, there is a bar (full width, about 25 pixels high) appearing over the tableView at the bottom, hiding partially a cell (we see the (i) button nearly completely hidden). When scrolling tableView, this bar does not move and hides other cell. I looked at the view in debugger (I edited the content of cells): and found that the bar which is hiding comes from navigation controller: So 2 questions: what is this view ? How to avoid it coming over the table view ? I have a solution by replacing upperView by a header in tableView, but I would like to understand what goes on here.
5
0
1.5k
Mar ’22
Contribution to Quinn’s Top Ten DevForums Tips
Hi Quinn, if I may add a point 10 to your (very meaningful) list: when pasting images, think of reducing the size (can edit simply the image ref by dividing a dimension by 2) to avoid huge images that clutter the screen. When you get an answer, please indicate if that solved the issue, if not explain what is not working. And don't forget to close the thread by marking the correct answer once you got it.
5
0
3.3k
Jun ’22
Add Return key subview to keyboard
That's an old question (this thread https://developer.apple.com/forums/thread/16375 dates back iOS9 or this other thread https://stackoverflow.com/questions/67249956/uisearchbar-warning-uitexteffectswindow-should-not-become-key-please-file-a-bu), but I've not found a comprehensive answer yet. I need to add a Return key to a numeric keyboard (BTW, how is it it does not exist in standard ?) I used to do it using let keyBoardWindow = UIApplication.shared.windows.last  to get the keyboard window and then adding the subview (self.returnButton) to it keyBoardWindow?.addSubview(self.returnButton) Worked great and still works OK with iOS 15. But we are told to use connectedScenes instead… So I adapt code: var keyBoardWindow: UIWindow? = nil if #available(iOS 13.0, *) { // use connectedScenes let scenes = UIApplication.shared.connectedScenes let windowScene = scenes.first as? UIWindowScene if let kbWindow = windowScene?.windows.last { keyBoardWindow = kbWindow } } else { keyBoardWindow = UIApplication.shared.windows.last } It runs, but subview does not show. The problem is that keyboardWindow used to be a UIRemoteKeyboardWindow (the true keyboard window) and now is UITextEffectsWindow, which is not the real keyboardWindow. So adding subview to it adds improperly in the hierarchy. Note: someone detailed the view hierarchy here: https://developer.apple.com/forums/thread/664547 UIWindow UITextEffectsWindow     UIInputWindowController         UIInputSetContainerView               UIInputSetHostView               UIEditingOverlayViewController                      UIEditingOverlayGestureView I guess I have to add subview to something else than UITextEffectsWindow (keyBoardWindow), but to what ? I tried      keyBoardWindow = kbWindow.superview as? UIWindow to no avail. I also tried to debug view hierarchy, but keyboard does not show in debugView.
9
0
3.0k
Jan ’23
Handwritten text recognition working poorly on iOS 16 beta ?
That's a follow up of a previous thread. https://developer.apple.com/forums/thread/707130 I did some test on iOS 16 simulator with Xcode 14ß. Recognition is very poor. And recognition rate of some single letters (an L or an I for instance) is zero (literally). Same code worked better (success 50% for same single letters) with iOS 15.2. Did something change on iOS 16 ? I filed a bug report: Jun 7, 2022 at 3:28 PM – FB10066541
3
0
2.4k
Jan ’23
Failed to install WatchOS 9.1 simulator runtime in Xcode 14.2
I installed Xcode 14.2 (in parallel with other versions of Xcode with different names) on MBP MacOS 12.6.2. Il works OK except when trying to use WatchOS simulator. When I select a WatchOS target and then look for simulator, none is installed. I get an item in menu proposing to GET 9.1. I downloaded. But at the end of download, installation failed with the message that installation of watchOS 9.1 simulator runtime failed in CoreSimulator. I tried the solution proposed here, to no avail. https://stackoverflow.com/questions/74096242/unable-to-select-device-for-watchos-app-in-xcode Note: installation on an iMac running 12.6.2 and Xcode 14.2 shows a long list of simulators:
1
0
1.8k
Dec ’22
Button behaviour changes if position(x:y)
With this code, button is at the center of the view and message is logged only when tapping in the button 1. struct ContentView: View { 2. var body: some View { 3. 4. ZStack { 5. Button(action: { 6. print("Touched") 7. }) { 8. Image(systemName: "square.split.diagonal.2x2") 9. .font(.system(size: 24)) 10. .foregroundColor(.black) 11. // .position(x: 12, y: 12) 12. } 13. 14. } 15. .frame(width: 300, height: 300) 16. .background(Color.yellow) 17. } 18. } But if I uncomment line 11, the message is logged on tap anywhere in the view. How is it position() changes the behaviour ?
3
0
1.1k
Dec ’22
Lines numbering in Code Block
The Code Block doesn't number lines anymore. The work around is to ask for Numbered list in addition to Code block. Just applying Code Block: required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) commonInit() } Code Block AND Numbered List (or the other order) 1. required init?(coder aDecoder: NSCoder) { 2. super.init(coder: aDecoder) 3. commonInit() 4. } Is there another way to get numbering directly ?
Replies
4
Boosts
0
Views
939
Activity
Aug ’21
No more mail notification from forum
Even though I have selected all the notification options in my profile, I do not receive any mail (since about a week), at least when an answer is marked as correct. I did check they are not in spam. What do I miss ?
Replies
5
Boosts
0
Views
1.5k
Activity
Aug ’21
Rotating a page in a pdf file - and get a mirrored image
I try to rotate a page 180° in a pdf file. I nearly get it, but the page is also mirrored horizontally. Some images to illustrate: Initial page: Result after rotation (see code): it is rotated 180° BUT mirrored horizontally as well: The expected result It is just as if it was rotated 180°, around the x axis of the page. And I would need to rotate 180° around z axis (perpendicular to the page). It is probably the result of writeContext!.scaleBy(x: 1, y: -1) I have tried a lot of changes for transform, translate, scale parameters, including removing calls to some of them, to no avail. @IBAction func createNewPDF(_ sender: UIButton) { var originalPdfDocument: CGPDFDocument! let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) let documentsDirectory = urls[0] // read some pdf from bundle for test if let path = Bundle.main.path(forResource: "Test", ofType: "pdf"), let pdf = CGPDFDocument(URL(fileURLWithPath: path) as CFURL) { originalPdfDocument = pdf } else { return } // create new pdf let modifiedPdfURL = documentsDirectory.appendingPathComponent("Modified.pdf") guard let page = originalPdfDocument.page(at: 1) else { return } // Starts at page 1 var mediaBox: CGRect = page.getBoxRect(CGPDFBox.mediaBox) // mediabox which will set the height and width of page let writeContext = CGContext(modifiedPdfURL as CFURL, mediaBox: &mediaBox, nil) // get the context var pageRect: CGRect = page.getBoxRect(CGPDFBox.mediaBox) // get the page rect writeContext!.beginPage(mediaBox: &pageRect) let m = page.getDrawingTransform(.mediaBox, rect: mediaBox, rotate: 0, preserveAspectRatio: true) // Because of rotate 0, no effect ; changed rotate to 180, then get an empty page writeContext!.translateBy(x: 0, y: pageRect.size.height) writeContext!.scaleBy(x: 1, y: -1) writeContext!.concatenate(m) writeContext!.clip(to: pageRect) writeContext!.drawPDFPage(page) // draw content in page writeContext!.endPage() // end the current page writeContext!.closePDF() } Note: This is a follow up of a previous thread, https://developer.apple.com/forums/thread/688436
Replies
2
Boosts
0
Views
2.2k
Activity
Nov ’23
Excluding activity types for UIActivityViewController: some are still present
I try to exclude some activities from UIActivity. It works as expected when exclusion is done directly with the activity, as with: UIActivity.ActivityType.message, UIActivity.ActivityType.airDrop but not when activity is declared with an init as with: UIActivity.ActivityType(rawValue: "net.whatsapp.WhatsApp.ShareExtension"), UIActivity.ActivityType(rawValue: "com.ifttt.ifttt.share"), So, with the following code: let excludedActivityTypes = [ UIActivity.ActivityType.message, UIActivity.ActivityType.airDrop, UIActivity.ActivityType(rawValue: "net.whatsapp.WhatsApp.ShareExtension"), UIActivity.ActivityType(rawValue: "com.ifttt.ifttt.share") ]         let activityVC = UIActivityViewController(activityItems: [modifiedPdfURL], applicationActivities: nil)          activityVC.excludedActivityTypes = excludedActivityTypes message and airDrop do not show, but WhatsApp and IFTTT still show. I have tested with         activityVC.completionWithItemsHandler = { (activity, success, modifiedItems, error) in             print("activity: \(activity), success: \(success), items: \(modifiedItems), error: \(error)")         } that WhatsApp and IFTTT services are effectively the ones listed here. When selecting WhatsApp, print above gives: activity: Optional(__C.UIActivityType(_rawValue: net.whatsapp.WhatsApp.ShareExtension)), success: false, items: nil, error: nil
Replies
4
Boosts
0
Views
5.3k
Activity
Jul ’22
Change in Watch 7 in rounded corners of WKInterfaceLabel or WKInterfaceGroup
When testing in simulator with Xcode 13, I noted a subtle difference in the display of WKInterfaceLabel between Watch series 6 and series 7. WKInterfaceLabel is in a WKInterfaceGroup. On Series 7: the text Fast Driving is clipped with round corner at top and bottom On Series 6, round clipping is much less (noticeable on leading F and D) I could not find what parameter has changed in IB nor how to change this round corner value. Nor why such a change ?
Replies
3
Boosts
0
Views
2k
Activity
Nov ’21
SegmentedControl do not work correctly on iPhone 13Mini simulator
UISegmented controls seem not to work correctly in iPhone 13 Mini simulator. When tapping on a segment, control does not react before 30 to 40 s ; then it shows uncomplete redraw: I also noted similar lag in updating display when some label text changes. Configuration: MacOS 11.6.1 Xcode 13RC iOS 15.0 simulator. It works ok on a few other simulators I tested. I created an extremely simple project to reproduce: new project in Xcode 13RC added a segmentedControl at bottom of view, constrained to leading and trailing 0 to the safe area set selected color to red. run on iPhone 13 mini simulator I will test later with Xcode 13.2ß
Replies
1
Boosts
0
Views
919
Activity
Nov ’21
UIApplication.openSettingsURLString does not work on iPadOS 15 simulator ?
The following code opens the app settings, including preferred language. func openSettings() { guard let settingsUrl = URL(string: UIApplication.openSettingsURLString) else { return } if UIApplication.shared.canOpenURL(settingsUrl) { UIApplication.shared.open(settingsUrl, completionHandler: nil) } } That works well in iOS (14.6 or 15.2), on iPadOS 14.4 ( both device and simulator) But on iPadOS 15.2 simulator, the preferred language setting for the app does not show. I noticed this in 2 different apps.
Replies
1
Boosts
0
Views
1.1k
Activity
Dec ’21
repeatCount in UIViewPropertyAnimator
I have a func to flash a view a number of times and execute closure at the end. The following code with UIView.setAnimationRepeatCount works OK: animation occurs the requested number of times and afterEnd closure executes at the end. func flashIt(repeated: Int, cycleTime: Double, delayed: Double = 5.0, afterEnd: (() -> Void)? = nil) { if repeated < 0 { return } let initAlpha = self.alpha UIView.animate(withDuration: cycleTime, delay: delayed, options:[.allowUserInteraction, .curveEaseInOut, .autoreverse, .repeat], animations: { UIView.setAnimationRepeatCount(Float(repeated)) self.alpha = 0.1 // Not 0.0, to allow user interaction }, completion: { (done: Bool) in self.alpha = initAlpha afterEnd?() } ) } To address UIView.setAnimationRepeatCount deprecation, I now try this (inspired by https://stackoverflow.com/questions/47496584/uiviewpropertyanimator-reverse-animation) func flashIt(repeated: Int, cycleTime: Double, delayed: Double = 5.0, afterEnd: (() -> Void)? = nil) { if repeated < 0 { return } let initAlpha = self.alpha let animator = UIViewPropertyAnimator(duration: cycleTime, curve: .linear) { self.alpha = 0.1 } animator.addCompletion { _ in let reverseAnimator = UIViewPropertyAnimator(duration: cycleTime, curve: .linear) { self.alpha = initAlpha } reverseAnimator.addCompletion { [self] _ in flashIt(repeated: repeated-1, cycleTime: cycleTime, delayed: 0) // without delay here } reverseAnimator.startAnimation() if repeated <= 1 { // 1 and not 0, otherwise an extra loop… afterEnd?() // Not called return } } animator.startAnimation(afterDelay: delayed) } The flash works, but afterEnd closure is never called. I've tried to call if repeated <= 1 { // 1 and not 0, otherwise an extra loop… afterEnd?() // Not called return } in other places, to no avail. What do I miss ? Is there a better and simpler way to have a RepeatCount with UIViewPropertyAnimator ?
Replies
3
Boosts
0
Views
1.5k
Activity
Jan ’22
What is this view that appears floating over the tableView ?
I have a tableView inside a UIView in a VC. This VC is in a navigation view. It is a UIViewController, not a UITableViewController. The VC set up is this one: The issue: When I run app, there is a bar (full width, about 25 pixels high) appearing over the tableView at the bottom, hiding partially a cell (we see the (i) button nearly completely hidden). When scrolling tableView, this bar does not move and hides other cell. I looked at the view in debugger (I edited the content of cells): and found that the bar which is hiding comes from navigation controller: So 2 questions: what is this view ? How to avoid it coming over the table view ? I have a solution by replacing upperView by a header in tableView, but I would like to understand what goes on here.
Replies
5
Boosts
0
Views
1.5k
Activity
Mar ’22
Contribution to Quinn’s Top Ten DevForums Tips
Hi Quinn, if I may add a point 10 to your (very meaningful) list: when pasting images, think of reducing the size (can edit simply the image ref by dividing a dimension by 2) to avoid huge images that clutter the screen. When you get an answer, please indicate if that solved the issue, if not explain what is not working. And don't forget to close the thread by marking the correct answer once you got it.
Replies
5
Boosts
0
Views
3.3k
Activity
Jun ’22
Add Return key subview to keyboard
That's an old question (this thread https://developer.apple.com/forums/thread/16375 dates back iOS9 or this other thread https://stackoverflow.com/questions/67249956/uisearchbar-warning-uitexteffectswindow-should-not-become-key-please-file-a-bu), but I've not found a comprehensive answer yet. I need to add a Return key to a numeric keyboard (BTW, how is it it does not exist in standard ?) I used to do it using let keyBoardWindow = UIApplication.shared.windows.last  to get the keyboard window and then adding the subview (self.returnButton) to it keyBoardWindow?.addSubview(self.returnButton) Worked great and still works OK with iOS 15. But we are told to use connectedScenes instead… So I adapt code: var keyBoardWindow: UIWindow? = nil if #available(iOS 13.0, *) { // use connectedScenes let scenes = UIApplication.shared.connectedScenes let windowScene = scenes.first as? UIWindowScene if let kbWindow = windowScene?.windows.last { keyBoardWindow = kbWindow } } else { keyBoardWindow = UIApplication.shared.windows.last } It runs, but subview does not show. The problem is that keyboardWindow used to be a UIRemoteKeyboardWindow (the true keyboard window) and now is UITextEffectsWindow, which is not the real keyboardWindow. So adding subview to it adds improperly in the hierarchy. Note: someone detailed the view hierarchy here: https://developer.apple.com/forums/thread/664547 UIWindow UITextEffectsWindow     UIInputWindowController         UIInputSetContainerView               UIInputSetHostView               UIEditingOverlayViewController                      UIEditingOverlayGestureView I guess I have to add subview to something else than UITextEffectsWindow (keyBoardWindow), but to what ? I tried      keyBoardWindow = kbWindow.superview as? UIWindow to no avail. I also tried to debug view hierarchy, but keyboard does not show in debugView.
Replies
9
Boosts
0
Views
3.0k
Activity
Jan ’23
Handwritten text recognition working poorly on iOS 16 beta ?
That's a follow up of a previous thread. https://developer.apple.com/forums/thread/707130 I did some test on iOS 16 simulator with Xcode 14ß. Recognition is very poor. And recognition rate of some single letters (an L or an I for instance) is zero (literally). Same code worked better (success 50% for same single letters) with iOS 15.2. Did something change on iOS 16 ? I filed a bug report: Jun 7, 2022 at 3:28 PM – FB10066541
Replies
3
Boosts
0
Views
2.4k
Activity
Jan ’23
Random generator
Is there a difference in the distribution of results between those 2 forms ? let x = (1...9).randomElement()! let y = Int.random(in: 1...9) In doc, I never see the first form used
Replies
1
Boosts
0
Views
652
Activity
Nov ’22
Failed to install WatchOS 9.1 simulator runtime in Xcode 14.2
I installed Xcode 14.2 (in parallel with other versions of Xcode with different names) on MBP MacOS 12.6.2. Il works OK except when trying to use WatchOS simulator. When I select a WatchOS target and then look for simulator, none is installed. I get an item in menu proposing to GET 9.1. I downloaded. But at the end of download, installation failed with the message that installation of watchOS 9.1 simulator runtime failed in CoreSimulator. I tried the solution proposed here, to no avail. https://stackoverflow.com/questions/74096242/unable-to-select-device-for-watchos-app-in-xcode Note: installation on an iMac running 12.6.2 and Xcode 14.2 shows a long list of simulators:
Replies
1
Boosts
0
Views
1.8k
Activity
Dec ’22
Button behaviour changes if position(x:y)
With this code, button is at the center of the view and message is logged only when tapping in the button 1. struct ContentView: View { 2. var body: some View { 3. 4. ZStack { 5. Button(action: { 6. print("Touched") 7. }) { 8. Image(systemName: "square.split.diagonal.2x2") 9. .font(.system(size: 24)) 10. .foregroundColor(.black) 11. // .position(x: 12, y: 12) 12. } 13. 14. } 15. .frame(width: 300, height: 300) 16. .background(Color.yellow) 17. } 18. } But if I uncomment line 11, the message is logged on tap anywhere in the view. How is it position() changes the behaviour ?
Replies
3
Boosts
0
Views
1.1k
Activity
Dec ’22