Apple’s SVP of Software Engineering has revealed to one curious customer why Apple’s auto-updates feature on iPhone doesn’t work the way you’d expect.
One user on reddit emailed Craig Federighi to ask about Apple’s iOS auto-update system, which it uses to roll out the latest versions of iOS 15 to users on its best iPhones, including the iPhone 12 and iPhone 13. ‘Kechoopix’ stated:
Hi! I wrote an email to Craig Federighi who is the senior vice president of software engineering at Apple to ask him about an explanation of how exactly the iOS auto-update feature actually works. I was inspired to ask him after reading some Reddit posts and news online about customers complaining that iOS auto-update feature working slow (sometimes even whole month after iOS update release they receive a notification) or not working at all (in my case included) .
The email has the rather hilarious subject line ‘iOS auto-update feature (does it even work?). Craig responded:
We incrementally rollout new iOS updates by first making them available for those that explicitly seek them out in Settings, and then 1-4 weeks later (after we’ve received feedback on the update) ramp up to rolling out to devices with auto-update enabled.
That means that when Apple releases a software update, some auto-update users might be waiting up to a month before they receive it on their iPhones, with the fastest way to update apparently the manual option.
We may earn a commission for purchases using our links. Learn more,

A whopping 33% of Netflix subscribers say they share passwords
As many as a full third of people say that they share Netflix passwords, according to a new report. The news comes as the streamer tests ways for people to add new people to their accounts for a small few rather than have them share their accounts for free.
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = “https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7”;
js.defer = 1;
fjs.parentNode.insertBefore(js, fjs);
}(document, ‘script’, ‘facebook-jssdk’));
var fbAsyncInitOrg = window.fbAsyncInit;
window.fbAsyncInit = function() {
if(typeof(fbAsyncInitOrg)==’function’) fbAsyncInitOrg();
FB.init({
appId: “291830964262722”,
xfbml: true,
version : ‘v2.7’
});
FB.Event.subscribe('xfbml.ready', function(msg) { // Log all the ready events so we can deal with them later
var events = fbroot.data('ready-events');
if( typeof(events) === 'undefined') events = [];
events.push(msg);
fbroot.data('ready-events',events);
});
var fbroot = $('#fb-root').trigger('facebook:init');
};
