Post

Replies

Boosts

Views

Activity

missing com.apple.developer.family-controls / Missing Family Controls from provisioning profile
With "Automatically Manage Signing" enabled in Signing & Capabilities I got a message when uploading to the App Store complaining that my provisioning profile was missing Family Control capabilities. I do have the capability enabled in XCode, and I can deploy directly to devices to see that the app works correctly (that is, it has the capability). Further, I can see the same capability checked in the App Id under my developer profile. Further, if I generate a profile manually it claims to include Family Controls in the info screen. But still it won't let me upload the app. I've tried: deleting all automatically generated profiles and regenerating them. adding and removing the capability in Xcode and in the App Id generating a manual provisioning profile and downloading it (this one complains about the missing capability when I download it). Any ideas?
20
2
9k
Mar ’22
FamilyControlsAgent crashing in 15.5 and above
I started seeing failures authenticating to FamilyControls on a test device and I think I've tracked it down to the underlying FamilyControlsAgent process crashing: Terminating app due to uncaught exception 'CKException', reason: 'recordName (AAAAAAAAAAAAAAAADH0toCzCpPWEtIr89SNmamgacnXdKjEEhIjr/hu5Hm1Rdg85TfYRKG6o9DcxOOuAXBsJp+1+Fcd/8vYor2SXoOuRNN06PQNsv3sVy9ifrjzFU1l29ZrB68jM5P1Z9JhvvQhB57htPPSwKew8ZjYZKI2a6EUnc9f7TpevWkuvNPtJUUOY6H/Zmh66KXgCySiMv5c32kItb5/CB+hWPOb9u44NxGultUqMhzciWjNfitDXo28sxD4ktFf2Afd0+xO2GCkYlSyP8uxV/SHC/tc2o91EV2z+z9fq) is too long' I can't imagine what I might have fed it from my to cause it to generate such a name, and 15.4 seems to be working just fine with the same code. Any ideas?
3
0
1.4k
May ’22
FamilyControls DeviceActivityMonitor extension can't change shields
I've been working on a small app using the new FamilyControls API, and I can't get the extension to make any visible changes to shields (or anything else). I can get the main app to authorize and set and remove shields reliably. I can also get the extension to run reliably in the background on a schedule (confirmed with Console). But even if I try only setting the restricted apps to nil or the empty set the apps remain shielded until I run the same code from the main app. I do have the Family Controls entitlement set on both the app and the extension, and I've tried having it off on the extension. I have tried putting both of them into an App Group to no effect. I've wrapped up the most basic working example I can think of into a project: https://github.com/dpowers/ScreenPact Any ideas about what stupid thing I'm missing?
5
0
2.1k
Nov ’21
Unable to handle conflict reported by NSCloudKitMirroringDelegate
I'm working on an app that uses NSPersistentCloudKitContainer to handle CloudKit sharing. Against all odds I've gotten the sharing to work, but now I'm seeing errors on startup that look very much like some kind of background loop trying to merge changes from multiple users and failing. In a more traditional CloudKit installation not backed on NSPersistentCloudKitContainer this feels like a case where I'd have to provide some code to handle the merge. In the brave new world I can't seem to find anyway to affect this Mirroring Delegate. It starts when I initialize the NSPersistentCloudKitContainer and produces the error below (as well as a long stream of similar errors). Any ideas? error: CoreData+CloudKit: -[NSCloudKitMirroringDelegate _exportFinishedWithResult:exporter:](1347): <PFCloudKitExporter: 0x282d2ead0>: Export failed with error: <CKError 0x280079470: "Partial Failure" (2/1011); "Failed to modify some records"; partial errors: { cloudkit.zoneshare:(Pacts:__defaultOwner__) = <CKError 0x280079680: "Server Record Changed" (14/1022); "Participants conflict while trying to update share from the server. Participants: === Client: (     "<CKShareParticipant: 0x100cebb70; participantID=..., isCurrentUser=true, role=owner, permission=readWrite, acceptanceStatus=Accepted, identity=<CKUserIdentity: 0x100c4cae0; userID=__defaultOwner__:(_defaultZone:__defaultOwner__), nameComponents=, cached=false, publicKeyVersion=2>, hasProtectionInfo=true, invitationTokenStatus=Healthy, isAnonymousInvitedParticipant=false>" ) === Server: (     "<CKShareParticipant: 0x100c26db0; participantID=..., isCurrentUser=true, role=owner, permission=readWrite, acceptanceStatus=Accepted, identity=<CKUserIdentity: 0x100c13b60; userID=__defaultOwner__:(_defaultZone:__defaultOwner__), nameComponents=..., lookupInfo=<CKUserIdentityLookupInfo: 0x100c13c00; email=...>, cached=false, publicKeyVersion=2>, hasProtectionInfo=true, invitationTokenStatus=Healthy, isAnonymousInvitedParticipant=false>",     "<CKShareParticipant: 0x100c25960; participantID=..., isCurrentUser=false, role=user, permission=readWrite, acceptanceStatus=Accepted, identity=<CKUserIdentity: 0x100c259f0; userID=_6cd4c7c8091c946d4b8e704efbfc0bc4:(_defaultZone:__defaultOwner__), nameComponents=..., lookupInfo=<CKUserIdentityLookupInfo: 0x100c68d10; email=...>, cached=false, publicKeyVersion=2>, hasProtectionInfo=true, invitationTokenStatus=Healthy, isAnonymousInvitedParticipant=false>" )"> }>
1
0
954
Mar ’22