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
Search results for
A Summary of the WWDC25 Group Lab
10,109 results found
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
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.
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
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?
How to enable App Groups without Developer Account in Xcode7.3 or Xcode8
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Signing Certificates
Provisioning Profiles
Hey I wanna make an app where I am able to have users create a room and invite other users using some invite link or room code I was wondering if anyone can give me pointers on how to do this? An example of my UI is below. Creating the UI shouldnt be too hard its just trying to find how to group users together.
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, ——
Topic:
App & System Services
SubTopic:
Widgets & Live Activities
Tags:
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
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
Do App Groups still work on Watch OS 2 as a mechanism for sharing files between the watch and iPhone?(Since WatchKit extension will now reside on the watch instead of the iPhone)What changes to we need to make to the existing codebase?
I have published my app to testflight and it is ready to submit , however when I am trying to add it to my external testing build group it keeps showing an error, so I am not really sure what is wrong with it. My previous build have no issues , but ever since I encountered this problem all my previous builds got expired too . Please help
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
Notes from Custom app distribution and device management lab (Thursday, June 9th 2022): https://developer.apple.com/forums/thread/707808
Topic:
Developer Tools & Services
SubTopic:
Developer Forums
Tags:
I've submitted a fresh feedback for this following discussions in a WWDC lab. FB13879899 🙏🙏 This might get picked up this summer.
Topic:
App & System Services
SubTopic:
General
Tags:
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