Post

Replies

Boosts

Views

Activity

Run UI tests on multiple devices in succession?
The new test report, with the automatic video recording and scrubber, is great. I'm setting up different configurations for different languages to improve localization testing, but I was wondering if it was possible to make the simulator device type part of the configuration. For example, I'd like to have a single test plan with an "iPhone 14" test plan, an "iPad Air" test plan, etc. Then I would just press Cmd-U, and Xcode would run through each device in sequence, leaving me with videos of each test run that I could review in the test report. Is that possible?
2
1
2.8k
Nov ’23
How do I use Xcode Previews in an app that has to support iOS 16?
Xcode Previews are a great new feature, and I've been adding #Preview blocks to some of my more complex UIKit files so I can tweak their UI without running the app. It's been a blast so far. The only problem is that I apparently have to set my project deployment target to iOS 17.0 to use them at all. If I set it to iOS 16.0, I get these errors: 'Preview' is only available in iOS 17.0 or newer 'init (_:traits:body:' is only available in iOS 17.0 or newer 'UVPreviewRegistry' is only available in iOS 17.0 or newer 'Preview' is only available in iOS 17.0 or newer 'init (_:traits:body:' is only available in iOS 17.0 or newer I tried surrounding #Preview with an @availability block for iOS 17, but got the same errors. My goal is to be able to leave useful #Preview blocks in my source code, but still set my deployment target to iOS 16. Is this possible?
1
1
4.3k
Jun ’23
How do I use async/await with NotificationCenter?
In the Meet AsyncSequence talk, there's a very cool use case that's shown in one of the slides - the new notifications property on NotificationCenter is an async sequence and the code sample does something like: let notification = await center.notifications(named: ....).first { ... } This seems really intriguing and useful to me but I had a few questions about the details of how this works: What is the type of notification in this snippet? A Task? Where would I store this value? What context should this be invoked in, especially if I want to have a long-running notification filter running that will remain active for the lifetime of the app? Basically, I'm curious to see an example of the code surrounding this snippet.
3
0
7.5k
Nov ’21
Run UI tests on multiple devices in succession?
The new test report, with the automatic video recording and scrubber, is great. I'm setting up different configurations for different languages to improve localization testing, but I was wondering if it was possible to make the simulator device type part of the configuration. For example, I'd like to have a single test plan with an "iPhone 14" test plan, an "iPad Air" test plan, etc. Then I would just press Cmd-U, and Xcode would run through each device in sequence, leaving me with videos of each test run that I could review in the test report. Is that possible?
Replies
2
Boosts
1
Views
2.8k
Activity
Nov ’23
How do I use Xcode Previews in an app that has to support iOS 16?
Xcode Previews are a great new feature, and I've been adding #Preview blocks to some of my more complex UIKit files so I can tweak their UI without running the app. It's been a blast so far. The only problem is that I apparently have to set my project deployment target to iOS 17.0 to use them at all. If I set it to iOS 16.0, I get these errors: 'Preview' is only available in iOS 17.0 or newer 'init (_:traits:body:' is only available in iOS 17.0 or newer 'UVPreviewRegistry' is only available in iOS 17.0 or newer 'Preview' is only available in iOS 17.0 or newer 'init (_:traits:body:' is only available in iOS 17.0 or newer I tried surrounding #Preview with an @availability block for iOS 17, but got the same errors. My goal is to be able to leave useful #Preview blocks in my source code, but still set my deployment target to iOS 16. Is this possible?
Replies
1
Boosts
1
Views
4.3k
Activity
Jun ’23
How do I use async/await with NotificationCenter?
In the Meet AsyncSequence talk, there's a very cool use case that's shown in one of the slides - the new notifications property on NotificationCenter is an async sequence and the code sample does something like: let notification = await center.notifications(named: ....).first { ... } This seems really intriguing and useful to me but I had a few questions about the details of how this works: What is the type of notification in this snippet? A Task? Where would I store this value? What context should this be invoked in, especially if I want to have a long-running notification filter running that will remain active for the lifetime of the app? Basically, I'm curious to see an example of the code surrounding this snippet.
Replies
3
Boosts
0
Views
7.5k
Activity
Nov ’21