iOS Icon

iOS

iOS is the operating system for Apple's mobile products.
86 Stories
All Topics

Thomas Ricouard Medium (via Scribe)

The making of Ice Cubes, an open source, SwiftUI Mastodon client

Thomas Ricouard:

This is the first article in what I hope will be a long series of stories about the making of the Ice Cubes app. This article will focus on what the app is, the general story behind it, and an overview of the codebase.

I’ve been using Ice Cubes (source code, App Store) for all Mastodon stuff on my phone since it was first released, and I really like it. I didn’t know it was open source at the time, but even better: its author is writing all about the making of it. Looking forward to this series!

Changelog Interviews Changelog Interviews #514

Beyond Heroku to Muse

This week we’re back for part 2 with Adam Wiggins — going beyond Heroku and the story of Muse (listen to part 1). After a six-year adrenaline high on Heroku, Adam needed time to recover and refill the creative well. So, he moved to Berlin, did some gig work with companies…dabbled in investing and advising. But he wasn’t satisfied. Adam likes to build things.

Ultimately, he was just waiting for the right time to reconnect with James Lindenbaum and Orion Henry — the same fellas he created Heroku with. Eventually they founded Ink & Switch, an independent research lab which led to innovations that made Muse possible. Muse is a tool for deep work and thinking on iPad and Mac. Today’s show is all about that journey and the details in-between.

iOS rambo.codes

iOS bug "SiriSpy" allowed apps to eavesdrop on your conversations with Siri

This tldr from Guilherme Rambo is enough, but read the full post for all the details.

TL;DR: Any app with access to Bluetooth could record your conversations with Siri and audio from the iOS keyboard dictation feature when using AirPods or Beats headsets. This would happen without the app requesting microphone access permission and without the app leaving any trace that it was listening to the microphone.

This bug has since been handled by Apple. Also, after reaching back out to Apple (on Oct 25), Guilherme was told he’d be receiving a $7,000 (USD) bug bounty payment for reporting the issue.

iOS krausefx.com

See what JS commands get injected through an in-app browser on iOS

Felix Krause built an iOS browser app that lists the JavaScript commands executed by the iOS app rendering the page. Use it like this:

  1. Open an app you want to analyze
  2. Share the URL somewhere inside the app (e.g. send a DM to a friend, or post to your feed)
  3. Tap on the link inside the app to open it
  4. Read the report on the screen

His findings after using this for a bit are… concerning. Especially TikTok.

Apple apple.com

Apple adds a Lockdown Mode for "extreme protection"

Lockdown Mode is the first major capability of its kind designed to offer an extreme, optional protection for the very small number of users who face grave, targeted threats to their digital security.

It blocks non-image attachment types in Messages, disables JIT compilation in Safari, blocks incoming FaceTime calls from unknown senders, won’t let the phone connect to a computer via a wired connection, and disables the ability to install new configuration profiles.

Command line interface github.com

AirDrop files directly from your CLI with OpenDrop

OpenDrop is a command-line tool that allows sharing files between devices directly over Wi-Fi. Its unique feature is that it is protocol-compatible with Apple AirDrop which allows to share files with Apple devices running iOS and macOS.

Super cool, but with a disclaimer: this is the result of reverse engineering the transfer protocol, so the odds of it being flakey (especially as Apple ships OS updates) are high. It’d be rad if Apple would publish an AirDrop-compatible specification for the community to rally around.

You know, like they did with FaceTime. 😉

WebKit Blog Icon WebKit Blog

New WebKit features in Safari 15

With the release of Safari 15 for macOS Monterey, iPadOS 15, iOS 15, and watchOS, as well as macOS Big Sur and macOS Catalina, WebKit brings significant advancements in privacy and security, improved interoperability, and a host of new features for web developers. Take a look.

We discussed a few of these in-depth on JS Party #195, but at the time I was referencing the beta features announcement and it was 404ing during the show. This is a much better resource.

Chris Coyier CSS-Tricks

On (the lack of) iOS browser choice

Chris Coyier does a great job rounding up and summarizing conversations around #AppleBrowserBan:

Just last week I got one of those really?! 🤨 faces when this fact came up in conversation amongst smart and engaged fellow web developers: there is no browser choice on iOS. It’s all Safari. You can download apps that are named Chrome or Firefox, or anything else, but they are just veneer over Safari. If you’re viewing a website on iOS, it’s Safari.

Six Colors Icon Six Colors

Safari Keyword Search hits 2.0, comes to iOS

Dan Moren writing for Six Colors:

Safari Keyword Search is a little tool that allows you to define shortcuts for searching specific sites. For example, you could type “imdb George Clooney” to be taken directly to the IMDb search results for George Clooney, or “w iPhone 13” to go straight to the Wikipedia page for the iPhone 13. You can also define your own shortcuts, so, for example, I’ve defined “sc” as a Google search limited to sixcolors.com, which helps me quickly turn up articles here…

On iOS 15, Mobile Safari supports web extensions. That means this free and awesome tool is now available on the go, where it shortcuts are even more useful.

iOS github.com

Recreating a fully functional version of iOS 4 in SwiftUI

OldOS is a testament to the days of yesteryear, showcasing what iOS once was ten years ago. The ethos of the app is to merge the technologies of today with a pixel-perfect recreation of the user experience of the past. The vast majority of apps in OldOS are fully functional — meaning they seamlessly integrate with the data on your phone to deliver a live, emulator-esque experience. What does this mean? Well, you can play your music in iPod, get directions in Maps, surf the web in Safari, view the current weather in Weather, and much more.

This is quite the undertaking!

Part of the goal with OldOS is to enable anyone to understand how iOS works and demonstrate just how powerful SwiftUI truly is. For that reason, the entire app will soon be open-sourced — enabling developers to learn about, modify, and add to the app. I thought building this over my last six or so months in high school and sharing it with the world would be a fun and productive endeavor.

It looks like there’s a build available today, but it’s not open source yet so I’m going out on a limb by linking it up now. I’ve +1’d a request for screenshots, which would be a great addition to the repo while we wait for code.

Recreating a fully functional version of iOS 4 in SwiftUI

iOS brownfield.dev

Building real applications from my iPad

Michel Terhar:

In the search for a comfy and portable developer experience, I’ve made a lot of compromises in the past. The experience has gotten significantly better recently thanks to VS Code and Kubernetes. This workflow also does a good job for underpowered laptops or when working with lots of different and conflicting versions of python or ruby.

This is a solid, balanced piece that doesn’t overly sell the workflow and walks you through setting it up for yourself.

macOS inessential.com

Maybe the iOS and Mac markets are the same size(ish)

Brent Simmons did some analysis on download numbers for NetNewsWire on iOS and Mac.

Based on the above, and knowing that way more people use iOS than macOS, you’d expect the iOS app to be way more popular. But it’s not. It’s a little more popular.

I find this super-fascinating, because it’s some data — admittedly just one app — that confirms what I’ve thought for a long time, which is that, for some types of apps, a Mac app would do as well as an iOS app.

Erik Kennedy learnui.design

iOS 13 design guidelines, templates, and downloads

Erik Kennedy is back with an awesome resource for anyone doing iOS development.

Maybe you’ve never designed an iPhone app, and have no idea where to begin.

Maybe you’ve designed a dozen, but still want one place to reference best practices. Heaven knows Apple’s Human Interface Guidelines are awful to try and read.

Either way, this is the guide for you. I cover basically everything you need to know to create an iOS app that follows standard iOS 13 conventions.

InfoQ Icon InfoQ

How Apple plans to address the systemic issue that made iOS 13 so buggy

iOS 13’s rollout was soooo buggy. Most notably: backgrounded apps were routinely being killed for no reason. What was to blame?

…Apple top executives Craig Federighi and Stacey Lysik identified iOS daily builds’ instability as the main culprit for iOS 13 bugs. In short, Apple developers were pushing too many unfinished or buggy features to the daily builds. Since new features were active by default, independently of their maturity level, testers had a hard time to actually use their devices, which caused Apple’s buggy releases.

Here’s how they plan to address the problem:

Federighi suggested leaving all new features disabled by default, so testers can ensure no regressions make it into the latest build and avoid being impaired by new bugs. New features shall be enabled on-demand by testers using a new internal Flags menu, making it possible to test each new feature in isolation.

How did it take Apple to the end of 2019 before they discovered feature flags? I hope it helps 🤞

Erik Kennedy learnui.design

Designing for iOS and Android

From Erik Kennedy who shared some tactical design advice for developers — this awesome visual guide covers the primary differences between designing for iOS and Android, including navigation, UI controls, typography, app icons, and more.

If you’re designing both an iOS and an Android (Material Design) version of an app, this guide is your new best friend 😎. We’re going to cover the most relevant differences between iOS and Android for UX/UI designers. If you’ve created an app on one platform, this is most of what you need to know to “translate” it for the other platform.

Mattt Thompson nshipster.com

Flight School - essential topics in iOS and macOS development

Today, I’m excited to announce updates to our guides to Swift Codable and Numbers, as well as a brand new Guide to Swift Strings. Everything is up-to-date with the latest from Swift 5 and Xcode 10.2, and now — for the first time — available in print!

If you dig NSHipster, you’ll love Flight School. Amazing cover design! I love it when the cover of a book makes you want to read it.

Flight School - essential topics in iOS and macOS development
Player art
  0:00 / 0:00