Hardware:
• Mac Studio (M1 Ultra)
• Apple Silicon
• Sufficient free disk space (~35GB+ available)
• SIP enabled
• 4 local Time Machine snapshots present
Current System:
• Already running macOS Tahoe beta
• Attempting upgrade to macOS Tahoe 26.4 Beta (Build 25E5207k)
Primary Issue:
Software Update downloads successfully, then moves to “Preparing…”.
It stalls at “About 5 minutes remaining” for ~10–15 minutes and fails with:
“Failed to prepare the software update. Please try again. An error occurred while downloading the selected updates.”
The error appears network-related, but download always completes.
Observed Behaviour:
• “Checking for Updates” completes in <3 minutes.
• softwareupdated and mobileassetd CPU usage <1%.
• softwareupdate --history shows no record of the failed beta install.
• No excessive system load or obvious disk pressure.
Steps Already Attempted:
1. Standard Software Update retries
• Multiple download/retry cycles from System Settings.
• Same Preparing failure every time.
2. Permissions / Disk Access
• Granted Terminal Full Disk Access.
• SIP remains enabled.
• Some system-protected locations still return “Operation not permitted”.
3. Cache / State Cleanup Attempts
• Removed /Library/Updates/*.
• Cleared temporary softwareupdate folders under /private/var/tmp.
• Attempted MobileAsset cache cleanup where permitted.
• Killed softwareupdated and mobileassetd processes (auto-restarted by launchd).
4. Beta Channel Reset
• Turned Beta Updates OFF in System Settings.
• Rebooted.
• Re-enabled Beta Updates.
• Forced catalog refresh via softwareupdate -l.
5. Snapshot Check
• tmutil listlocalsnapshots / shows only 4 snapshots (normal range).
6. Full Installer Workaround
softwareupdate --list-full-installers shows:
• macOS Tahoe Beta 26.4 (25E5207k)
• Tahoe 26.3 / 26.2 / 26.1
• Sequoia / Sonoma / Ventura / Monterey installers
Downloaded installer via:
softwareupdate –fetch-full-installer –full-installer-version 26.4
Installer downloaded correctly:
/Applications/Install macOS Tahoe Beta.app
7. startosinstall Method (Apple Silicon optimized)
Attempted install with:
sudo “/Applications/Install macOS Tahoe Beta.app/Contents/Resources/startosinstall”
–user
–agreetolicense
–nointeraction
–forcequitapps
–rebootdelay 30
–passprompt
Authorization succeeds, installer begins preparing, but installation still ultimately fails.
Additional Notes:
• CPU usage remains low during failure.
• No excessive snapshot count.
• Error messaging consistently references download/network even though download completes.
• Issue appears to occur during cryptex/asset preparation phase rather than initial download.
Question for Apple / other developers:
Has anyone else seen Tahoe 26.4 beta fail specifically during the Preparing phase on Apple Silicon (especially Ultra-class chips)? Looking for confirmation whether this is a known MobileAsset or cryptex staging issue, or if logs indicate a deeper APFS / volume-owner authorization problem.
Overview
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
The documentation for isEligibleForAgeFeatures states:
Use this property to determine whether a person using your app is in an applicable region that requires additional age-related obligations for when you distribute apps on the App Store.
But what does "region" mean?
Is this going to return true if the user has downloaded the app from the US App Store? Or will it go further and geolocate the user and identify them as being within a particular relevant state within the US?
Does our app need to check the location or can we fully reply on this API to decide whether we wanna comply for the law of places that requires age range information? Looks like it's only covering Texas now..? would it add other places by apple..? And also this API is really hard to test a user in other places, Iike I don't know a user in Brazil gonna return true for false now, but the law in Brazil also requires the age information.
As a part of the video editing app I’m working on, I want to efficiently copy a folder of resources on the same (local) filesystem.
Because iOS is on APFS, cloning (CoW) is an option.
I read the documentation for clonefile(2) which states that cloning a folder works but is strongly discouraged.
I did a small sample project which demonstrates that using clonefile on a folder works correctly and is 10× faster than using FileManager’s copyItem method.
My questions:
The main one I’m interested in: Why is using clonefile for a folder strongly discouraged?
Is FileManager using cloning behind the scenes? Or more exactly how guaranteed are we it will use it? (I know it does, I tried manually cping the resources and it was thousands of times slower.)
Could you help me with resolving this issue, please.
I've got following trace:
ksmemory_notifyUnhandledFatalSignal
EXC_BAD_ACCESS (KERN_INVALID_ADDRESS)
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x000000000000002b
Crashed: com.apple.main-thread
0 KSCrash 0xbff8 ksmemory_notifyUnhandledFatalSignal + 12
1 KSCrash 0xcd6c handleSignal + 100
2 libsystem_platform.dylib 0x4178 _sigtramp + 56
3 libsystem_kernel.dylib 0x42f8 mach_msg2_internal + 76
4 libsystem_kernel.dylib 0x4214 mach_msg_overwrite + 428
5 libsystem_kernel.dylib 0x405c mach_msg + 24
6 CoreFoundation 0x46868 __CFRunLoopServiceMachPort + 160
7 CoreFoundation 0x1d848 __CFRunLoopRun + 1188
8 CoreFoundation 0x1ca6c _CFRunLoopRunSpecificWithOptions + 532
9 GraphicsServices 0x1498 GSEventRunModal + 120
10 UIKitCore 0x9ddf8 -[UIApplication _run] + 792
11 UIKitCore 0x46e54 UIApplicationMain + 336
12 UIKitCore 0x172938 -[UIScrollView contentInset] + 588
13 AppName 0xed9440 main + 4386804800 (AppDelegate.swift:4386804800)
14 ??? 0x189f76e28 (Missing)
It appears that a variable or object is attempting to access another object that has already been deallocated. Based on the stack trace, the issue was likely detected while layout was in progress.
Our analytics show this happens generally on app launch and occasionally during normal use.
Unfortunately, I couldn't gather additional diagnostic data. I tried to reproduce the issue using the Leaks tool and enabled runtime diagnostics (Address Sanitizer, Malloc Scribble, Zombies), but without success.
I may be overlooking something — any suggestions would be greatly appreciated.
Thank you in advance
I am developing an iOS/iPadOS application and have encountered some behavior regarding Files App and security-scoped bookmarks that I would like to clarify.
Additionally, I would like to report some behavior which might include a potential issue.
Question1: Accessing deleted files via bookmark (Specification clarification)
Our app saves file URLs as bookmarks, which file that user has selected on Files App or app-created so to open a file which user has modified previously in the next launch.
When a user deletes a file in Files App (moves a file to Recently Deleted), the app can still resolve the bookmark and access the file for read/write operations.
Is this behavior intended?
In other words, is it correct that a bookmark can access a file that has been deleted in Files App but not permanently removed?
Question2: Overwriting a file in Recently Deleted (Potential bug)
We noticed that overwriting a file in Recently Deleted behaves differently depending on the method used.
Current implementation
1.Create a temporary file in the same directory
2.Write content to the temporary file
3.Delete the original file ([NSFileManager removeItemAtURL:error:])
4.Move the temporary file to the original file path ([NSFileManager moveItemAtURL:toURL:error:])
Result: The file disappears from Files App Recently Deleted.
In contrast, using
[NSFileManager replaceItemAtURL:withItemAtURL:]
keeps the file visible in Recently Deleted.
Is this difference designed behavior?
If not, this may be a bug.
Question3: Detecting files in Recently Deleted
We want to detect whether a file resides in Recently Deleted, but we cannot find a reliable and officially supported method.
Recently Deleted files appear under .Trash, but using the path alone is not a reliable method.
We have tried the following APIs without success:
[NSURL getResourceValue:forKey:NSURLIsHiddenKey error:]
[NSURL checkResourceIsReachableAndReturnError:]
[NSFileManager fileExistsAtPath:]
[NSFileManager isReadableFileAtPath:]
[NSFileManager getRelationship:ofDirectory:NSTrashDirectory inDomain:NSUserDomainMask toItemAtURL:error:]
We could not obtain the Recently Deleted folder URL using standard APIs.
[NSFileManager URLsForDirectory:NSTrashDirectory inDomains:NSUserDomainMask]
[NSFileManager URLForDirectory:NSTrashDirectory inDomain:NSUserDomainMask appropriateForURL:url create:error:]
Could you advise a safe and supported way to detect Recently Deleted files properly by the app?
We are observing some unexpected behavior in our app when using ASK.
Our app is able to successfully discover and set up an accessory via ASK. After the setup completes, the connection to the accessory is managed through CBCentralManager and works as expected.
However, when we attempt to discover another accessory afterward, the picker is shown and indicates that accessory discovery is in progress. After approximately 10 seconds, the CBCentralManager delegate reports the Bluetooth state as poweredOff. Once this happens, the state never transitions back to poweredOn.
At this point, the only way to reconnect to the device or continue discovery is to relaunch the app.
We are wondering if anyone else has encountered similar behavior, or if this is a known or documented limitation/behavior when using ASK in combination with CBCentralManager.
Hi everyone,
I’m working with RealityKit on visionOS and I’m seeing unexpected behavior when the user long-presses the Digital Crown, which recenters the world.
Observed behavior:
When the world is recentered via long-pressing the Crown, the models remain visually in the correct place (as expected).
However, if I query the model’s position or transform immediately after recentering (e.g. entity.position or similar), I still get the old values from before recenter.
As soon as I interact with the model using a gesture (drag/rotate/scale), the position updates and then querying it returns the correct, updated values.
So effectively:
Recenter happens
Visual position is correct
Programmatic position remains stale
First gesture causes the position to “snap” to the correct updated value
Questions:
Is there any event, notification, or callback that fires when the world is recentered due to a long press of the Crown button?
Is there a recommended way to get the updated world-space transform immediately after recenter, without waiting for a gesture?
Is this expected behavior due to deferred/lazy transform updates in RealityKit?
Right now it feels like recentering updates the coordinate system but doesn’t immediately commit new transform values to entities until some interaction occurs.
Any guidance or best-practice patterns for handling this would be appreciated.
Thanks!
I enrolled in the Apple Developer Program more than 48 hours ago around 4 days ago. The payment was successfully charged to my card, and I received a subscription confirmation email.
However, my developer account is still not activated, and I’m unable to access the full developer features.
Has anyone experienced a similar delay? Is there anything specific I should do, or does activation take longer than expected , i tried to contact support twice throw mail but i got no response !
Any guidance would be appreciated. Thanks!
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
Hello,
I'm having a serious problem registering for the Apple Developer Program, and I can't resolve it.
I applied over two weeks ago, but I still haven't received an activation email. I've also tried using different credit cards, suspecting there might be a problem with my payment method.
The main issues are as follows:
My order/registration remains in the "processing" status,
I haven't received an activation email,
Apple Developer Program support isn't responding.
I've already sent over seven emails to support, but haven't received any response or updates.
Has anyone else encountered a similar situation?
Topic:
Community
SubTopic:
Apple Developers
Feedback ticket ID: FB21797397
Summary
When using posix_spawn() with posix_spawnattr_set_uid_np() to spawn a child process with a different UID, the eslogger incorrectly reports a setuid event as an event originating from the parent process instead of the child process.
Steps to Reproduce
Create a binary that do the following:
Configure posix_spawnattr_t that set the process UIDs to some other user ID (I'll use 501 in this example).
Uses posix_spawn() to spawn a child process
Run eslogger with the event types setuid, fork, exec
Execute the binary as root process using sudo or from root owned shell
Terminate the launched eslogger
Observe the process field in the setuid event
Expected behavior
The eslogger will report events indicating a process launch and uid changes so the child process is set to 501. i.e.:
fork
setuid - Done by child process
exec
Actual behavior
The process field in the setuid event is reported as the parent process (that called posix_spawn) - indicating UID change to the parent process.
Attachments
I'm attaching source code for a small project with a 2 binaries:
I'll add the source code for the project at the end of the file + attach filtered eslogger JSONs
One that runs the descirbed posix_spawn flow
One that produces the exact same sequence of events by doing different operation and reaching a different process state:
Parent calls fork()
Parent process calls setuid(501)
Child process calls exec()
Why this is problematic
Both binaries in my attachment do different operations, achieving different process state (1 is parent with UID=0 and child with UID=501 while the other is parent UID=501 and child UID=0), but report the same sequence of events.
Code
#include <cstdio>
#include <spawn.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
#include <string.h>
// environ contains the current environment variables
extern char **environ;
extern "C" {
int posix_spawnattr_set_uid_np(posix_spawnattr_t *attr, uid_t uid);
int posix_spawnattr_set_gid_np(posix_spawnattr_t *attr, gid_t gid);
}
int main() {
pid_t pid;
int status;
posix_spawnattr_t attr;
// 1. Define the executable path and arguments
const char *path = "/bin/sleep";
char *const argv[] = {(char *)"sleep", (char *)"1", NULL};
// 2. Initialize spawn attributes
if ((status = posix_spawnattr_init(&attr)) != 0) {
fprintf(stderr, "posix_spawnattr_init: %s\n", strerror(status));
return EXIT_FAILURE;
}
// 3. Set the UID for the child process (e.g., UID 501)
// Note: Parent must be root to change to a different user
uid_t target_uid = 501;
if ((status = posix_spawnattr_set_uid_np(&attr, target_uid)) != 0) {
fprintf(stderr, "posix_spawnattr_set_uid_np: %s\n", strerror(status));
posix_spawnattr_destroy(&attr);
return EXIT_FAILURE;
}
// 4. Spawn the process
printf("Spawning /bin/sleep 1 as UID %d...\n", target_uid);
status = posix_spawn(&pid, path, NULL, &attr, argv, environ);
if (status == 0) {
printf("Successfully spawned child with PID: %d\n", pid);
// Wait for the child to finish (will take 63 seconds)
if (waitpid(pid, &status, 0) != -1) {
printf("Child process exited with status %d\n", WEXITSTATUS(status));
} else {
perror("waitpid");
}
} else {
fprintf(stderr, "posix_spawn: %s\n", strerror(status));
}
// 5. Clean up
posix_spawnattr_destroy(&attr);
return (status == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}
#include <cstdio>
#include <cstdlib>
#include <unistd.h>
#include <sys/wait.h>
#include <errno.h>
#include <string.h>
// This program demonstrates fork + setuid + exec behavior for ES framework bug report
// 1. Parent forks
// 2. Parent does setuid(501)
// 3. Child waits with sleep syscall
// 4. Child performs exec
int main() {
printf("Parent PID: %d, UID: %d, EUID: %d\n", getpid(), getuid(), geteuid());
pid_t pid = fork();
if (pid < 0) {
// Fork failed
perror("fork");
return EXIT_FAILURE;
}
if (pid == 0) {
// Child process
printf("Child PID: %d, UID: %d, EUID: %d\n", getpid(), getuid(), geteuid());
// Child waits for a bit with sleep syscall
printf("Child sleeping for 2 seconds...\n");
sleep(2);
// Child performs exec
printf("Child executing child_exec...\n");
// Get the path to child_exec (same directory as this executable)
char *const argv[] = {(char *)"/bin/sleep", (char *)"2", NULL};
// Try to exec child_exec from current directory first
execv("/bin/sleep", argv);
// If exec fails
perror("execv");
return EXIT_FAILURE;
} else {
// Parent process
printf("Parent forked child with PID: %d\n", pid);
// Parent does setuid(501)
printf("Parent calling setuid(501)...\n");
if (setuid(501) != 0) {
perror("setuid");
// Continue anyway to observe behavior
}
printf("Parent after setuid - UID: %d, EUID: %d\n", getuid(), geteuid());
// Wait for child to finish
int status;
if (waitpid(pid, &status, 0) != -1) {
if (WIFEXITED(status)) {
printf("Child exited with status %d\n", WEXITSTATUS(status));
} else if (WIFSIGNALED(status)) {
printf("Child killed by signal %d\n", WTERMSIG(status));
}
} else {
perror("waitpid");
}
}
return EXIT_SUCCESS;
}
posix_spawn.json
fork_exec.json
Hey all,
I am a first time publisher navigating the App Review process. I want to publish a watchOS only app, but keep getting this feedback:
Regarding 4.0, Apple Watch app icon's background color is still black. Based on our investigation, you have included plain black icons.
To resolve this issue, it would be appropriate to modify your app's Apple Watch app icon to include a lighter background color to ensure that it is recognizable and appears circular on Apple Watch.
I set the following configs:
Project -> Targets -> Apple Watch App -> App Icons & Launch Screen -> App Icon set to my Icon Composer file. Checked App Icons Source.
I was able to install my build through TestFlight and successfully install on my watch, and the App Icon displays properly there.
I also saw a recent Reddit post from another developer facing the same issue. I can't link that post, but will share this post with the OP.
I attached what the reviewer sent me with the rejection.
I started developer enrollment a few weeks ago. My enrollment is stuck. I have received emails from Apple reminding me to upload the documents that were requested but I never got the original email that told me what documents were being requested so I don't know what I'm supposed to upload. I went to the developer.apple.com support page to request a Call Me and when I click the button I get a red error message that says: "There was a problem processing your request." so then I go to Send Us a Message and I receive "This email address isn't valid. To update your email address, visit account.apple.com." and, of course, it IS a valid email address and it is the address I have on file. So, then I called Apple Support and asked if they could, at the very least, put in a Call Me request on my behalf but they said they can't. I have replied to the emails asking me for information but received no response or acknowledgement.
The system won't let me request a call and or send a message, Apple support can't even transfer me, I literally have no idea what to do. I need suggestions. Maybe somebody from Apple Developer enrollment will see this message. I can't think of anything else at the moment. Maybe a signal flare? Homing pigeon? Seriously. Help.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
I have the new Xcode 26.3 running on an Intel MBP macOS 26.2
I have clicked to download Codex in the Xcode settings, then under the Intelligence section I select Codex but where it says "ChatGPT Account" there is a spinner that never ends.
I suspect it is meant to show a Sign In button.
I don't see any documentation to suggest this shouldn't work on Intel, so what gives?
My "ChatGPT in Xcode" section is successfully signed in, and i've tried signing that out.
Topic:
Developer Tools & Services
SubTopic:
Xcode
I am editing my iOS project in Xcode 16 and want to use the "Swift Compiler - Upcoming Features" section of the build settings to selectively enable the new Swift 6 language features.
I have read the instructions for doing this and have dowloaded an Apple sample project and can see that section under the project and target-level Build Settings in the sample project
However, when I open my Xcode project in XCode 16 that section does not appear.
Is there any way for me to influence how Xcode 16 displays the build settings?
In fact, no "Swift Compiler" sections appear at all under my project Build Settings (All | Combined). There is a "User-Defined" section that has the Swift Version, Compilation Mode and Optimization level.
The project itself is several years old and was on a very old project version. I have upgraded my project document format to "Xcode 16" but it made no difference.
I have compared my project and the sample project in a text editor and both seem to have similar structure. I tried removing unused and outdated settings from my project but that also had no effect.
Is there an alternative to deleting my project file and adding the source files to it? I have a large project with multiple targets so that would be something I'd rather not do.
In recent versions, the increase in background abnormal exits is significant. According to monitoring data, it is closely related to the iOS 26 system. Could you please look into the reasons or provide some suggestions for troubleshooting the issue?
Out of nowhere I got some red banner on top of my iPhone 13 mini / iOS 17.5. I cannot pin point the root cause of this. What I can say is that it only happens to Simulators of a certain type, e.g. iPhone 12 and 13 mini, but not iPhone 14 for example.
I have installed Xcode 26.1.0 and 26.1.1, out of which 26.1.0 is selected:
$ xcode-select -p
/Applications/Xcode-26.1.0.app/Contents/Developer
And following runtimes:
$ xcrun simctl runtime list
== Disk Images ==
-- iOS --
iOS 17.5 (21F79) - CF933623-A258-44F8-B248-C0F25C0C343B (Ready)
iOS 26.1 (23B80) - D11C3CDC-EE3D-44CC-8B92-9B7D00B54B0B (Ready)
Total Disk Images: 2 (14.6G)
Installing the newer 26.1 23B86 runtime doesn't help either.
My app has been in “Waiting for Review” since January 31. I already submitted a support case (id - 102819325365) last week, but haven’t received a response. I also requested an expedited review but with no response either. This is not a new app, and all previous submissions were completed in less than 48 hours, so this delay seems unusual.
Our Goal: We are implementing a workflow for derived credentials. Our objective is to have a PIV/CAC derived credential (from Entrust), installed via the Intune MDM Company Portal app, and then use it within our (managed) app to generate digital signatures.
Challenge: The Intune Company Portal installs these identities into the System Keychain. Because third-party apps are restricted from accessing private keys in the System Keychain, we are running into a roadblock.
Our Question: 1) Is there an API that allows us to create a signature without us having to pass the private key itself, but instead just pass a handle/some reference to the private key and then the API can access the private key in the system keychain and create the signature under the hood. SecKeyCreateSignature is the API method that creates a signature but requires passing a private key. 2) If #1 is not feasible, is there a way to get access to system keychain to retrieve certs + private key for managed apps
Hello!
I recently submitted a request for the Family Controls (Distribution) entitlement for my app, and I’m trying to understand what kind of timeline to expect. I’ve seen posts suggesting anywhere from a few days to over a month for approval.
Is there a typical review window for this entitlement?
And is there anything I can do on my end to help the process move more smoothly?
Thanks in advance!
Topic:
App Store Distribution & Marketing
SubTopic:
General
Tags:
Entitlements
Family Controls
Screen Time