Search results for

A Summary of the WWDC25 Group Lab

10,109 results found

Post

Replies

Boosts

Views

Activity

Contacts: remove member from group not working on macOS
Hi, In my app, I have an option to remove a contact from a contact group (using the Contacts framework), and it's been working fine till recently users of the macOS version reported that it's not working. I have been using the CNSaveRequest removeMember(contact, from: group) API. The same API works fine on iOS. I'm not sure when it started but it seems to be affecting macOS14.6 as well as 15.1. I was able to reproduce it in a small test project as well, and have the same experience (the API works on iOS but not on macOS), so it definitely seems like a problem with the framework. Can someone confirm this, and/or suggest a workaround? Here's the code I run to test it out ...a simple SwiftUI view that has 4 buttons: Create contact and group Add contact to group Remove contact from group (optional) cleanup by deleting contact and group It's the 3rd step that seems to fail on macOS, but works fine on iOS. Here's the code to test it out: struct ContentView: View
2
0
480
Nov ’24
Move auto-renewable subscriptions product to another group
Now, I have 2 group of auto renew subscriptionGroup G1 - p1_yearly - p2_monthlyGroup G2 - q1_yearly - q2_monthlyNow this 2 group with 4 products is ready and had user subscribes.Last week, I update the app, push an app to store and I got rejected. about to re-group our product to the same group.To resolve this issue, please revise your auto-renewable subscriptions to offer the different subscription products within the same group.Our business model don't allow user to downgrade ( that why I separate the group ) But I don't have a choice, So I need to re-group the product to the same group.But after I go to in app payment -> group manager I cannot find the way to re-groupThe question is How can I move the product to the same group ?Like thisGroup G1 - p1_yearly - p2_monthly - q1_yearly - q2_monthlyAnd delete Group G2.
5
0
3.2k
Sep ’19
Swift Charts Accessibility Grouping
SwiftUI Charts automatically groups accessibility elements on the graph (Double / Date for example) when there's a lot of data, which overrides the accessibilityLabel and value I set for each data point. This makes sense, but how do we modify the chart navigation accessibility readout when this grouping occurs? Here's an example: var body: some View { let salesData: [(Date, Double)] = [ (Date().addingTimeInterval(-1 * 24 * 60 * 60), 1200), (Date().addingTimeInterval(-2 * 24 * 60 * 60), 1500), (Date().addingTimeInterval(-3 * 24 * 60 * 60), 1000), (Date().addingTimeInterval(-4 * 24 * 60 * 60), 500), (Date().addingTimeInterval(-5 * 24 * 60 * 60), 1500), (Date().addingTimeInterval(-6 * 24 * 60 * 60), 1400), (Date().addingTimeInterval(-7 * 24 * 60 * 60), 1300), (Date().addingTimeInterval(-8 * 24 * 60 * 60), 1800), (Date().addingTimeInterval(-9 * 24 * 60 * 60), 500), (Date().addingTimeInterval(-10 * 24 * 60 * 60), 800), (Date().addingTimeInterval(-11 * 24 * 60 * 60), 800), (Date().addingTimeInterv
2
0
849
Aug ’24
Is there a way to run a group of SKActions followed by a sequence?
If I have the following SKActions I want done: let spinAction = SKAction.rotate(byAngle: 360, duration: 003) let moveAction = SKAction.move(to: CGPoint(x: origNP.x, y: origNP.y), duration: 0.3) let setFlags = SKAction.run { moveThis.inSlot = true; ttmoveThis.isMoving = false; moveThis.inSlot = true} I know I can either run them in sequence: let sequence = SKAction.sequence([spinAction, moveAction, setFlags]) or all at once as a group let group = SKAction.group([spinAction, moveAction, setFlags]) But what if I need to call other sequences, or just reset flags after the sequence or group method is done? Do they have some sort of notifiers after completion?
1
0
232
Nov ’20
Reply to SwiftData changes made in widget via AppIntent are not reflected in main app until full relaunch
In SwiftData, there are local changes and remote changes. Local changes are made from the same model container (ModelContainer); remote changes are made from a different model container. This is covered in the WWDC25 session: SwiftData: Dive into inheritance and schema migration (starting at 13:54). Your main app and its widget use different model containers (because they run in a different process). For your main app, a change made from your widget is remote, and isn't observable. If a view in your main app observes a SwiftData model, or a result set that you fetch from a SwiftData store, it won't get updated for any remote change. If you use @Query, however, the query controller under the hood observes the remote changes, and so a query-back SwiftUI view is supposed to get updated for a remote change. This is clearly described in the mentioned WWDC25 session. If you see otherwise, I’d suggest that you file a feedback report with a reproducible case, and share your report ID here. Best, ——
Jul ’25
Behaviour of dispatch group tasks with completions?
Hi, I have pseudo code for a repeating task of work: api_call(/status) { tif response.statusCode == 418 { ttapi_call(/rotate-credentials) { ... } t} telse { ttdoSomeWork() t} tsleep(60) tapi_call(/status) } I want to make a call to /status roughly every 60 seconds, but if the response is a 418 then I want to complete a call to /rotate-credentials before continuing with the next status request. There are other api calls going on as well, triggered by user interaction. These other api calls should wait until the /status call is completed in full (including if a credential rotation is triggered). This implies a serial queue? But that won't wait for the completions to finish, so I should be looking at a dispatch group enter(), leave() and wait() right? I can't find/understand from the docs where completion handlers go, in terms of execution, relative to dispatch queues. So where is the completion handler execution of the subsequent call to /rotate-credentials ? If I wrap the status call in a dispatch group
2
0
867
Jun ’20
Outlook 16.42 and Groups missing and issues with O365
Overall love this version, but am seeing 2 issues with this new version: 1) Groups I've created in Contacts are no longer visible, and the option to create Groups also is not available. When I switch back to the old Outlook (it's a toggle at the top of the screen), Groups are back and usable 2). I have multiple O365 accounts (3) that I use in Outlook, one of the accounts does not seem to function properly when I switch to the new version. Would welcome input on both
0
0
659
Oct ’20
Sequoia Group Container for Mac Catalyst Apps
Prior to Sequoia, Mac Catalyst Apps worked fine when using group folders that started with group. They now get an alert that the Mac Catalyst app is trying to access data from other applications. This may also impact some SwiftUI developers. According to this the documentation for the App Group Entitlements entitlement, on macOS we should begin use the Team Identifier instead of group. Should Mac Catalyst follow the macOS or iOS rules for com.apple.security.application-groups? If they should need to follow the macOS rules now, that creates several issues for developers. We would now need separate build targets to pick up the different Entitlements files. More distressing is that we would need to do some kind of migration process to get our files to the new location. There wouldn't be a transparent way to do so where the user wasn't warned about the application accessing files that don't belong to it. Any clarification on what Mac Catalyst developers should be doing
18
0
2.7k
Jun ’24
Confusion about access groups and iOS extensions.
I have an app that's been out for awhile and uses the Keychain to store a token. Now, I'm adding an extension to my app, and so I'm using the methods described in the App Extension Best Practices sesion from 2015 to share a secret between my app and my extension using an access group.My question is about the automatic search behavior for the query API. It's said in the session that update/delete/matching all do the right thing with accessible keychains. What keychains are supposed to be accessible to the extension? What I'm finding is that for existing app users (people who had saved the secret before I was using access groups), my extension has access to the keychain item despite it not having an access group. What I anticipated was that that wouldn't work, and I'd have to do some kind of migration step to move my non-access group item into an acess group one. But it looks like I don't have to do that, at least when I'm debugging with Xcode. Am I missing something here or
8
0
11k
Nov ’16