惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Spread Privacy
Spread Privacy
T
The Exploit Database - CXSecurity.com
Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy & Cybersecurity Law Blog
L
LINUX DO - 热门话题
T
Threat Research - Cisco Blogs
T
Tenable Blog
TaoSecurity Blog
TaoSecurity Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
AI
AI
P
Proofpoint News Feed
A
About on SuperTechFans
P
Privacy International News Feed
月光博客
月光博客
雷峰网
雷峰网
S
Secure Thoughts
博客园 - 叶小钗
博客园 - 聂微东
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Project Zero
Project Zero
The Cloudflare Blog
SecWiki News
SecWiki News
The Hacker News
The Hacker News
V
Vulnerabilities – Threatpost
罗磊的独立博客
A
Arctic Wolf
阮一峰的网络日志
阮一峰的网络日志
Know Your Adversary
Know Your Adversary
酷 壳 – CoolShell
酷 壳 – CoolShell
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Troy Hunt's Blog
The Last Watchdog
The Last Watchdog
Schneier on Security
Schneier on Security
小众软件
小众软件
有赞技术团队
有赞技术团队
博客园 - 司徒正美
T
Tailwind CSS Blog
量子位
C
Cybersecurity and Infrastructure Security Agency CISA
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hugging Face - Blog
Hugging Face - Blog
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
Security @ Cisco Blogs
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
L
Lohrmann on Cybersecurity

Michael Tsai

Michael Tsai - Blog - Taphouse 1.5 Michael Tsai - Blog - StopTheMadness Pro 26 Michael Tsai - Blog - Mac External Display Support Reference Michael Tsai - Blog - Bartender Pro Michael Tsai - Blog - ARC Overhead in Swift Sorting Michael Tsai - Blog - Iris 1.0 Michael Tsai - Blog - Halide Mark III Michael Tsai - Blog - !Camera Michael Tsai - Blog - Project Indigo Michael Tsai - Blog - Unpro Camera Michael Tsai - Blog - Iris Rejected From the App Store Michael Tsai - Blog - OpenAI Model’s Proof of Erdős Unit Distance Problem Michael Tsai - Blog - Apps for YouTube℠™®•! Michael Tsai - Blog - Google’s Intelligent Search Box Michael Tsai - Blog - Apple Asks Supreme Court to Review Epic Ruling Michael Tsai - Blog - Stats Visualization in Apple Sports Michael Tsai - Blog - Cleve Moler, RIP Michael Tsai - Blog - Steve Jobs in Exile Michael Tsai - Blog - Leaving CloudKit Michael Tsai - Blog - Lawsuits Claim OpenAI and Perplexity Shared User Data for Advertising Michael Tsai - Blog - Inkwell Rejected From the App Store Michael Tsai - Blog - Hijacking Apps Using Archive Utility Michael Tsai - Blog - Core Data Lab 3.0 Michael Tsai - Blog - Updating Shared Shortcuts Michael Tsai - Blog - Apple vs. Indian Antitrust Regulator Michael Tsai - Blog - Apple’s 2026 Accessibility Feature Preview Michael Tsai - Blog - How Fake Contacts Can Fix Dictation’s Proper Noun Problems Michael Tsai - Blog - Fantastical at 15 Michael Tsai - Blog - Fortnite Returns to the App Store Except in Australia Michael Tsai - Blog - Kickstart 1.0 Michael Tsai - Blog - Apple Gift Card Scheme Michael Tsai - Blog - Claude Desktop App Michael Tsai - Blog - Memory Integrity Enforcement Exploit Michael Tsai - Blog - Hardening Firefox With Mythos Michael Tsai - Blog - Apple Developer App 11.0 Michael Tsai - Blog - OmniFocus 4.8.10 Michael Tsai - Blog - SwiftUI: @State and the Attribute Graph Michael Tsai - Blog - APFS Folder Clones Michael Tsai - Blog - Amazon Tokenmaxxing Michael Tsai - Blog - Chrome’s Huge weights.bin File Michael Tsai - Blog - OmniOutliner 6.1 Michael Tsai - Blog - Xcode 26.5 Michael Tsai - Blog - macOS 15.7.7 and macOS 14.8.7 Michael Tsai - Blog - iOS 18.7.9 and iPadOS 18.7.9 Michael Tsai - Blog - macOS 26.5 Michael Tsai - Blog - iOS 26.5 and iPadOS 26.5 Michael Tsai - Blog - watchOS 26.5 Michael Tsai - Blog - tvOS 26.5 Michael Tsai - Blog - visionOS 26.5 Michael Tsai - Blog - audioOS 26.5 Michael Tsai - Blog - Reddit Pushes Web Visitors to App Michael Tsai - Blog - Ask Jeeves Shuts Down Michael Tsai - Blog - Building Shopie for Mac With SwiftUI Michael Tsai - Blog - Apple Sued for Removing Rave App From Store Michael Tsai - Blog - Sendy 7 Michael Tsai - Blog - Arq Restore Notes Michael Tsai - Blog - iOS 27: Custom Wallet Passes Michael Tsai - Blog - Delayed Siri Features Settlement Michael Tsai - Blog - Software Brain Michael Tsai - Blog - macOS Text Replacement Export/Import Michael Tsai - Blog - The Problem With the Touch Bar Michael Tsai - Blog - GyazMail 1.8 Michael Tsai - Blog - 2026 Six Colors Apple in the Enterprise Report Card Michael Tsai - Blog - MacBook Neo and How the iPad Could Be Michael Tsai - Blog - Apple’s Q2 2026 Results Michael Tsai - Blog - Claude at Apple Michael Tsai - Blog - War on Adobe Michael Tsai - Blog - Photoshop’s “Modern” Spectrum User Interface Michael Tsai - Blog - Zig’s Anti-AI Contribution Policy Michael Tsai - Blog - Giving Up on the Vision Pro Michael Tsai - Blog - External Purchase Fee Stay Reversed Michael Tsai - Blog - Retcon 1.6 Michael Tsai - Blog - Acorn 8.5 Michael Tsai - Blog - California’s BASED Act Defeated Michael Tsai - Blog - Apple Invites 1.8 Michael Tsai - Blog - The Wide Range of Find My–Compatible Devices Michael Tsai - Blog - My Favorite Apple Accessory Michael Tsai - Blog - Fix iPhone Autocoreet Pleaese Michael Tsai - Blog - Git Tower 16 Michael Tsai - Blog - I Regret the Blood Pact I Have Made With iCloud Photos Michael Tsai - Blog - Mac Easter Eggs Michael Tsai - Blog - What’s That “Structured” in Structured Concurrency? Michael Tsai - Blog - Stolen Device Protection May Protect You From Accessing Your Own Device Michael Tsai - Blog - NetNewsWire 7.0.4 Michael Tsai - Blog - iOS 26.4.2 and iPadOS 26.4.2 Michael Tsai - Blog - Character in iPhone Password Removed From Keyboard Michael Tsai - Blog - Little Snitch for Linux Michael Tsai - Blog - 2025 Apple Vision Accessibility Report Card Michael Tsai - Blog - John Ternus Replaces Tim Cook Michael Tsai - Blog - The Quadrant Was Now Complete Michael Tsai - Blog - Filing the Sharp Edges Off a MacBook Michael Tsai - Blog - Copilot Everything Michael Tsai - Blog - Design for Repairability Michael Tsai - Blog - Fast Thumbnails With CGImageSource Michael Tsai - Blog - John Deere Right-to-Repair Settlement Michael Tsai - Blog - Globalstar Takeover Michael Tsai - Blog - Codex for Almost Everything Michael Tsai - Blog - Perplexity Personal Computer Michael Tsai - Blog - Xcode 26.4.1 Michael Tsai - Blog - Gemini App for Mac
Michael Tsai - Blog - AppKit in macOS 27
Michael J. Tsai · 2026-06-19 · via Michael Tsai

macOS Golden Gate 27 Beta Release Notes:

AppKit adds NSRefreshController, providing pull-to-refresh functionality for NSScrollView.

[…]

NSToolbarItemGroup adds the role property and the NSToolbarItemGroupRole enum, allowing toolbar item groups to be tagged with a semantic role. NSSegmentedControl similarly adds a role property and the NSSegmentedControlRole enum, including a tabs role for controls that represent tab-based navigation and content selection.

[…]

NSTextSelectionManager provides common text selection interactions (click, drag, shift-click, double/triple-click word/line/paragraph selection) to a NSView with a set of NSGestureRecognizers rather than overriding NSEvent mouse methods. NSTextView now uses NSTextSelectionManager and provides its own set of NSGestureRecognizers to provide additional features in addition to text selection.

[…]

By default, NSMenu hides all menu item symbol images — non-symbol images remain visible. […] Use the new preferredImageVisibility property on NSMenuItem to customize the image visibility for your menu items. As in macOS 26.0, NSMenu automatically provides default visible menu item images for certain common system-wide menu items, such as Settings, Share, and Print.

AppKit updates:

Create events similar to UIControl events on NSControl with the new NSControl.Events type.

[…]

Initiate a drag operation from a gesture recognizer using the new beginDraggingSession(items:gesture:source:) method on NSView.

[…]

Update views automatically in response to Observable model changes using the guidance in Updating views automatically with observation tracking.

How is this different from what was announced last year?

Modernize your AppKit app:

Bring your AppKit app up to date with modern macOS conventions. Dive into handling input with control events and gesture recognizers, moving beyond traditional tracking loops. Enhance keyboard navigation in your app, implement graceful state restoration after restarts, and take advantage of new corner concentricity APIs that let your interface blend seamlessly with the macOS aesthetic.

Steve Troughton-Smith:

To summarize the singular AppKit session this year: hey remember all these APIs and design patterns from UIKit? Well they’re now in AppKit and you should use them! Also make your glass use interactive bounce effects.

Why? No reason!😉

TN3212:

In macOS 27, AppKit continues to standardize on gesture recognizers as the primary mechanism for input handling. This change directly affects Sidecar because gesture recognizers are the only way to respond to touch input from a Sidecar-connected iPad running iPadOS 27. If your app relies on tracking loops for mouse event handling, migrate to gesture recognizers to support Sidecar touch input.

This article explains how the gesture recognizer model works, how to implement gesture recognizers correctly for Sidecar touch input, how to update your existing event-handling code, and which APIs macOS 27 adds. Codebases that implement nextEvent(matching:) or mouseDown(with:), mouseDragged(with:), and mouseUp(with:) events are most affected by the updates discussed.

Greg Pierce:

After the AppKit session blindsided me a bit after telling me not to override mouseDown, and then telling me I should override hitTest

Mario Guzmán:

A few years ago, Apple introduced:

func tableView(_ tableView: NSTableView, userCanChangeVisibilityOf column: NSTableColumn) -> Bool

for NSTableView, which Is a native way users could control-click on a TableView column to show/hide columns.

This year, in #macOS27, they updated it to have a new “Reset to Defaults” option.

This is awesome bc I have done my own implementation of this feature JUST to have the option to “reset all columns” and now Apple just includes it!

Elevate your app’s text experience with TextKit:

Discover how to combine the convenience of built-in text views with the control of TextKit. We’ll show you how new APIs make it easy to extend UITextView and NSTextView with custom behaviors like line numbers and collapsible sections. We’ll also explore the TextKit architecture and walk through new caching and reuse policies for text attachments.

Previously:

Comments