Archive for March 19, 2025

Wednesday, March 19, 2025

Lifetime Dependencies in Swift 6.2 and Beyond

John McCall:

SE-0446 added basic language support in Swift for non-escapable types, whose values are restricted in scope. However, it intentionally left out the ability for functions and properties to return values of these types, pending a future proposal to add lifetime dependencies. The design and implementation of that proposal is still in progress. In the meantime, SE-0456 added multiple properties to the standard library which return Span, a non-escapable type. These properties have been defined using a feature, @lifetime, that is not yet officially in the language.

[…]

However, we’re conscious that the development of that feature may take a few releases, and we want developers to be able to take advantage of non-escapable types like Span in their own code and APIs in the meantime.

[…]

The Language Steering Group is therefore considering introducing @lifetime as a supported experimental feature in Swift 6.2.

Previously:

DMA Compliance: Watch and Headphone Interoperability

Benjamin Mayo (Hacker News):

The EU has followed up on its Digital Markets Act specification procedures for Apple regarding the iPhone’s interoperability with third-party connected devices like smartwatches and headphones, as announced last fall.

Today’s announcement details exactly what third-party integrations the EU commission expects Apple to implement. This includes giving third-party devices access to iOS notifications, as well as way for companies to make like-for-like competitors to AirDrop file sharing, AirPlay streaming, and much more.

The list of features that the EU commission has ordered Apple to implement is vast, as well as signalling that any future Apple features with first-party hardware integrations must also be made available to third-party companies.

[…]

Headphone makers will be given access to system features that support AirPods, like proximity auto-pairing and automatic audio switching.

Tim Hardwick:

“Today’s decisions wrap us in red tape, slowing down Apple’s ability to innovate for users in Europe and forcing us to give away our new features for free to companies who don’t have to play by the same rules,” said Apple in a statement given to MacRumors. “It’s bad for our products and for our European users. We will continue to work with the European Commission to help them understand our concerns on behalf of our users.”

Amy Worrall:

“Europe forces Apple to compete by actually innovating, rather than holding back competitors through their monopoly” doesn’t make as good a sound bite, I guess.

Previously:

Apple Restricts Pebble From Being Awesome With iPhones

Eric Migicovsky (via Dare Obasanjo, Hacker News):

During Pebble v1, I learned how much harder it is to build a great smartwatch experience on iPhone than it is on Android. It sounds like things have actually gotten worse over the last 8 years.

I want to set expectations accordingly. We will build a good app for iOS, but be prepared - there is no way for us to support all the functionality that Apple Watch has access to. It’s impossible for a 3rd party smartwatch to send text messages, or perform actions on notifications (like dismissing, muting, replying) and many, many other things.

Here are the things that are harder or impossible for 3rd party smartwatches (ie non Apple Watches) to do on iPhone[…]

[…]

Apple closed off the ability of smartwatches after Pebble to negotiate with carriers to provide messaging services, and now requires users to turn off iMessage (disabling iOS’s core messaging platform) if they want to take advantage of such contracts between a third-party smartwatch maker and cellular carriers.

Recall that, in addition to restricting the actual integration between Pebble and iPhones, Apple rejected third-party iPhone apps from the App Store for mentioning that they were compatible with Pebble watches.

John Voorhees:

The Apple Watch is great. There isn’t another smartwatch that I’ve even been tempted to try in recent years, but is that because no one has been able to make a good alternative or hasn’t because the disadvantages third-party wearables face are too great?

I’d like to see Apple focus on finding ways to better integrate other devices with the iPhone. There are undoubtedly security and privacy issues that need to be carefully considered, but figuring those things out should be a priority because choice and competition are better for Apple’s customers in the long run.

Have we gotten to the point yet where it’s quaint to argue that Apple should do something because it’s better for customers? In what universe would they choose to better integrate with third-party hardware (thus helping either a small startup or Google/Samsung) when they’ll hide the default maps app setting if you live in the wrong country?

Adam Overholtzer:

Would those first few versions of Apple Watch have driven Pebble and FitBit out of the market without Apple’s lock-in? I think the Watch’s later success has made folks forget what a product design misfire that first Watch was.

Eric Migicovsky:

We’re excited to announce two new smartwatches that run open source PebbleOS and are compatible with thousands of your beloved Pebble apps.

  • Core 2 Duo has an ultra crisp black and white display, polycarbonate frame, costs $149 and starts shipping in July.
  • Core Time 2 has a larger 64-colour display, metal frame, costs $225 and starts shipping in December.

Rui Carmo:

I love these, and reading past the watch specs it’s clear that the project is driven by personal passion more than commercial polish, with the reasoning behind each design choice – from sensor selections to display trade-offs – in a refreshingly candid manner.

Konstantin:

These cute little pebbles have 30 day battery life!

Rory Prior:

I loved my Pebbles and backed a couple of them on Kickstarter. I’m an Apple Watch convert now but the idea of a 30 day battery life sure is tempting as daily charging is a pain. PebbleOS was/is lovely too

Previously:

Apple Passwords Phishing Vulnerability

Arin Waichulis (Hacker News, MacRumors):

It’s now been revealed that a serious HTTP bug left Passwords users vulnerable to phishing attacks for nearly three months, from the initial release of iOS 18 until the patch in iOS 18.2.

Security researchers at Mysk first discovered the flaw after noticing that their iPhone’s App Privacy Report showed Passwords had contacted a staggering 130 different websites over insecure HTTP traffic. This prompted the duo to investigate further, finding that not only was the app fetching account logos and icons over HTTP—it also defaulted to opening password reset pages using the unencrypted protocol. “This left the user vulnerable: an attacker with privileged network access could intercept the HTTP request and redirect the user to a phishing website,” Mysk told 9to5Mac.

[…]

However, it becomes a problem when the attacker is connected to the same network as the user (i.e. Starbucks, airport, or hotel Wi-Fi) and intercepts the initial HTTP request before it redirects.

[…]

While this was quietly patched in December of last year, Apple only just disclosed it in the last 24 hours.

Mysk:

“Unfortunately, this issue didn’t qualify for a bounty because it didn’t meet the impact criteria or fall into any of the eligible categories”

Mysk:

Yes, it feels like doing charity work for a $3 trillion company. We didn’t do this primarily for money, but this shows how Apple appreciates independent researchers. We had spent a lot of time since September 2024 trying to convince Apple this was a bug.

Previously: