去年から Apple のホゲホゲ Programming Guide がメンテされなくなり、Reference や Article を見てねということになりましたが、どこにどんな Article があるのかよくわかりません。そこでクローラ作って一覧にまとめてました。
ARKit
- Choosing Which Camera Feed to Augment
- Displaying an AR Experience with Metal
- Managing Session Lifecycle and Tracking Quality
- Previewing a Model with AR Quick Look
- Understanding World Tracking
- Verifying Device Support and User Permission
AVFoundation
AirPlay 2
- Getting AirPlay 2 into Your App
- Implementing Flexible Enhanced Buffering for Your Content
- Implementing Simple Enhanced Buffering for Your Content
Cameras and Media Capture
- Capturing Photos with Depth
- Capturing Still and Live Photos
- Capturing Video in Alternative Formats
- Choosing a Capture Device
- Setting Up a Capture Session
Media Assets, Playback, and Editing
- About the Asset Model
- About the Common Media Application Format with HTTP Live Streaming
- Adding Subtitles and Alternative Audio Tracks
Asset File Import and Export
- Exporting Video to Alternative Formats
- Creating a Basic Video Player (iOS and tvOS)
- Creating a Basic Video Player (macOS)
- Finding Metadata Values
- Guidelines for Apple TV 4K Development
- JavaScript Object Notation (JSON) Chapter Format for HTTP Live Streaming
- Observing the Playback Time
- Responding to Playback State Changes
- Seeking Through Media
Video Settings Dictionaries
AVKit
Adding Information to the Info Panel (tvOS)
- Presenting Metadata in the Info Panel (tvOS)
- Presenting Navigation Markers (tvOS)
- Adopting Picture in Picture in a Custom Player
- Adopting Picture in Picture in a Standard Player
- Presenting Content Proposals (tvOS)
- Working with Interstitial Content (tvOS)
Accelerate
Sparse Solvers
Conversion from Other Formats
- Creating a Sparse Matrix from Coordinate Format Arrays
- Creating Sparse Matrices
- Implementing Iterative Methods
- Solving Systems Using Direct Methods
- Solving Systems Using Iterative Methods
simd
vDSP
Fast Fourier Transforms
Finite Impulse Response Filters
Linear Interpolation Functions
Vector Generation
vImage
- Applying vImage Operations to Regions of Interest
- Building a Basic Image-Processing Workflow
- Creating a Core Graphics Image Format
- Creating a Core Graphics Image from a vImage Buffer
- Creating and Populating Buffers from Core Graphics Images
- Optimizing Image Processing Performance
vImage Operations
Conversion
- Building a Basic Conversion Workflow
- Converting From Planar Formats
- Understanding YpCbCr Image Formats
- Resampling in vImage
AppKit
Apple Pay on the Web
Apple Pay JS API
- Checking for Apple Pay Availability
- Creating an Apple Pay Session
- Providing Merchant Validation
- Requesting an Apple Pay Payment Session
- Apple Pay on the Web Version History
- Choosing Button Appearance
- Choosing an API for Implementing Apple Pay on Your Website
- Configuring Your Environment
- Displaying Apple Pay Buttons
- Localizing Apple Pay Buttons
- Maintaining Your Environment
- Setting Up Your Server
AuthenticationServices
BackgroundTasks
Bundle Resources
- Accessing Protected Resources
- Accessing the Event Store
- Asking Permission to Use Speech Recognition
- Choosing the Location Services Authorization to Request
- Enabling HomeKit in Your App
- Requesting Authorization for Media Capture on iOS
- Requesting Authorization for Media Capture on macOS
- Requesting Authorization to Access Photos
- Requesting Authorization to Use SiriKit
- Setting Up HealthKit
Business Chat
Business and Place Cards
- Directing Messages to a Specific Business Location
- Displaying Your Business Chat Button to Customers
- Managing Your iOS Search Results
- Setting Up Your Brands Profile
- Exploring Business Chat
- Registering for Business Chat
- Starting a Chat from a URL
- Starting a Chat from your App
CarPlay
ClassKit
- Advertising Your App’s Assignable Content
- Building Missing Contexts
- Enabling ClassKit in Your App
- Informing ClassKit That a Task Is About to Begin
- Linking Directly to Assignments
- Recording Additional Metrics About a Completed Task
- Recording Student Progress
ClockKit
CloudKit
- Changing Access Controls on User Data
- Identifying an App's Containers
- Providing User Access to CloudKit Data
- Responding to Requests to Delete Data
Code Diagnostics
- Address Sanitizer
- Main Thread Checker
- Thread Sanitizer
-
Undefined Behavior Sanitizer
- Division by Zero
- Dynamic Type Violation
- Enabling the Undefined Behavior Sanitizer
- Integer Overflow
- Invalid Boolean
- Invalid Enumeration Value
- Invalid Float Cast
- Invalid Object Size
- Invalid Shift
- Invalid Variable-Length Array
- Misaligned Pointer
- Nonnull Argument Violation
- Nonnull Return Value Violation
- Nonnull Variable Assignment Violation
- Null Reference Creation and Null Pointer Dereference
- Out-of-Bounds Array Access
- Reaching of Unreachable Point
Combine
Compression
- Compressing and Decompressing Data with Buffer Compression
- Compressing and Decompressing Data with Input and Output Filters
Core Data
- Accessing Data When the Store Has Changed
- Consuming Relevant Store Changes
- Creating a Core Data Model
- Mirroring a Core Data Store with CloudKit
- Modeling Data
- Setting Up a Core Data Stack
- Using Core Data in the Background
- Using Lightweight Migration
Core Haptics
- Playing a Single-Tap Haptic Pattern
- Preparing Your App to Play Haptics
- Representing Haptic Patterns in AHAP Files
Core Image
- Applying a Chroma Key Effect
- Customizing Image Transitions
- Processing an Image Using Built-in Filters
- Selectively Focusing on an Image
- Simulating Scratchy Analog Film
- Writing Custom Kernels
Core Location
- Adding Location Services to Your App
- Converting Between Coordinates and User-Friendly Place Names
- Determining the Proximity to an iBeacon Device
- Getting Heading and Course Information
- Getting the User's Location
- Monitoring the User's Proximity to Geographic Regions
- Requesting Authorization for Location Services
- Responding to Changes in Authorization Status
- Turning an iOS Device into an iBeacon Device
Core ML
Core ML API
- Creating a Custom Layer
- Downloading and Compiling a Model on the User's Device
- Integrating Custom Layers
- Making Predictions with a Sequence of Inputs
- Getting a Core ML Model
- Reducing the Size of Your Core ML App
Core Motion
- Adhering to the Movement Disorder Data Collection Requirements
- Getting Processed Device-Motion Data
- Getting Raw Accelerometer Events
- Getting Raw Gyroscope Events
- Monitoring Movement Disorders
Core NFC
Core Spotlight
Create ML
CryptoTokenKit
- Authenticating Users with a Cryptographic Token
- Configuring Smart Card Authentication
- Using Cryptographic Assets Stored on a Smart Card
DeviceCheck
EventKit
- Creating Events and Reminders
- Creating a Recurring Event
- Retrieving Events and Reminders
- Setting an Alarm
- Updating with Notifications
FileProvider
Content and Change Tracking
- Defining Your File Provider's Content
- Tracking Your File Provider's Changes
- Creating File Providers for Multiple Versions of iOS
FileProviderUI
Foundation
App Extension Support
Archives and Serialization
File System
Task Management
URL Loading System
- Accessing Cached Data
- Downloading Files from Websites
- Downloading Files in the Background
- Fetching Website Data into Memory
- Handling an Authentication Challenge
- Pausing and Resuming Downloads
- Uploading Data to a Website
- Uploading Streams of Data
HTTP Live Streaming
- About Apple's HTTP Live Streaming Tools
- About the EXT-X-VERSION tag
- Deploying a Basic HTTP Live Stream
Example Playlists for HTTP Live Streaming
- Adding Alternate Media to a Playlist
- Creating a Master Playlist
- Event Playlist Construction
- Incorporating Ads into a Playlist
- Live Playlist (Sliding Window) Construction
- Video on Demand Playlist Construction
- HLS Authoring Specification for Apple Devices
- Links to Additional Specifications and Videos
- Protocol Extension for Low-Latency HLS (Preliminary Specification)
- Understanding the HTTP Live Streaming Architecture
- Videos about HLS
HealthKit
Samples
Units and Quantities
Workouts and Activity Rings
HomeKit
MapKit
MapKit JS
- Creating a Maps Identifier and a Private Key
- Creating and Using Tokens with MapKit JS
- Loading the Latest or a Specific Version of MapKit JS
- MapKit JS Release Notes
Media Player
- Displaying a Media Picker from Your App
- Handling External Player Events Notifications
- Playing Audio Using the Built-In Music Player
- Using Filters to Create Specialized Queries
Messages
Metal
Basic Tasks and Concepts
Buffers
- About Argument Buffers
- Indexing Argument Buffers
- Tracking the Resource Residency of Argument Buffers
- Calculating Threadgroup and Grid Sizes
- Copying Data to a Private Resource
- Creating Threads and Threadgroups
- Developing Metal Apps that Run in Simulator
Drawable Objects
Frame Capture Debugging Tools
- Capturing GPU Command Data Programmatically
- Capturing a Frame Using a Breakpoint
- Creating a Custom Capture Scope
- Enabling Frame Capture
- Enhancing Frame Capture by Using Labels
- Optimizing Performance with GPU Counters
- Optimizing Performance with Pipeline Statistics
- Optimizing Performance with the Shader Profiler
- Viewing Your Frame Graph
- Viewing Your Meshes with the Geometry Viewer
GPU Features
GPU Selection in macOS
- Finding GPUs on macOS
- Getting the GPU that Drives a View's Display
- Handling External GPU Additions and Removals
- Understanding External GPUs
- Understanding GPU Bandwidth
- Understanding Multi-GPU and Multi-Display Setups
- Generating Multiple Output Vertex Streams from One Input Stream
- Getting the Default GPU
Indirect Command Buffers
Libraries
- Building a Library with Metal's Command-Line Tools
- Understanding the Metal Shading Language Filename Extension
- Optimizing Performance with the GPU Counters Instrument
- Reducing the Memory Footprint of Metal Apps
- Setting Resource Storage Modes
- Setting Up a Command Structure
Shader Authoring
Synchronization
- About Synchronization Events
- Synchronizing Events Across Multiple Devices
- Synchronizing Events Between a GPU and the CPU
- Synchronizing Events Within a Single Device
- Synchronizing a Managed Resource
Textures
- Improving Filtering Quality and Sampling Performance
- Managing Texture Memory
- Optimizing Texture Data
- Understanding Color-Renderable Pixel Format Sizes
- Transferring Data Between Connected GPUs
- Using Metal System Trace in Instruments to Profile Your App
Metal Performance Shaders
MetricKit
MusicKit JS
Natural Language
- Identifying Parts of Speech
- Identifying People, Places, and Organizations
- Tokenizing Natural Language Text
Network
- Choosing a Network Debugging Tool
- Debugging HTTP Server-Side Errors
- Debugging HTTPS Problems with CFNetwork Diagnostic Logging
- Recording a Packet Trace
- Taking Advantage of Third-Party Network Debugging Tools
PassKit (Apple Pay and Wallet)
Apple Pay
Wallet
PhotoKit
- Creating Photo Editing Extensions
- Displaying Live Photos
- Fetching Objects and Requesting Changes
- Loading and Caching Assets and Thumbnails
Playground Support
PlaygroundBluetooth
Professional Video Applications
Exchanging Content and Metadata with Final Cut Pro
- Associating Ratings, Keywords, Markers, and Metadata with Media
- Creating FCPXML Documents
- Describing Final Cut Pro Items in FCPXML
- Receiving Media and Data Through a Custom Share Destination
- Sending Data Programmatically to Final Cut Pro
- Sending Media and Metadata to Final Cut Pro
- Sending Media to Final Cut Pro as It's Recorded
- Supporting Drag and Drop for Data Sent to Final Cut Pro
- Supporting Drag and Drop to Receive Final Cut Pro Data
- Using FCPXML to Describe Final Cut Pro Data
PushKit
Quartz
PDFKit
QuickLookThumbnailing
- Creating Quick Look Thumbnails to Preview Files in Your App
- Providing Thumbnails of Your Custom File Types
RealityKit
SMS and Call Reporting
SMS and MMS Message Filtering
SafariServices
Safari App Extensions
- About Injected Style Sheets and Scripts
- Building a Safari App Extension
- Converting a Legacy Safari Extension to a Safari App Extension
- Injecting CSS Style Sheets into a Webpage
- Injecting a Script into a Webpage
- Passing Messages Between Safari App Extensions and Injected Scripts
Safari App Extension Info Property List Keys
- About Content Script and Style Sheet Keys
- About Contextual Menu and Toolbar Item Keys
- About Permissions for Scripts and Style Sheets
- About Safari App Extension Default Keys
- Adjusting Settings for Contextual Menu Items
- Adjusting Settings for a Toolbar Item
- Adjusting Website Access Permissions
- Setting Safari App Extension Feature Keys
- Troubleshooting Your Safari App Extension
SceneKit
Animation
Security
Authorization Plug-ins
Certificate, Key, and Trust Services
Certificates
- Examining a Certificate
- Getting Certificate Values
- Getting a Certificate
- Storing a Certificate in the Keychain
- Storing a DER-Encoded X.509 Certificate
Identities
Keys
- Generating New Cryptographic Keys
- Getting an Existing Key
- Signing and Verifying
- Storing Keys as Data
- Storing Keys in the Keychain
- Storing Keys in the Secure Enclave
- Using Keys for Encryption
Trust
- Configuring a Trust
- Creating a Trust Object
- Discovering Why a Trust Evaluation Failed
- Evaluating a Trust and Parsing the Result
- Working with Concurrency
Code Signing Services
Keychain Services
Keychain Items
- Adding a Password to the Keychain
- Restricting Keychain Item Accessibility
- Searching for Keychain Items
- Sharing Access to Keychain Items Among a Collection of Apps
- Updating and Deleting Keychain Items
- Using the Keychain to Manage User Secrets
- Notarizing Your App Before Distribution
- Preparing Your App to Work with Pointer Authentication
- Preventing Insecure Network Connections
Secure Transport
Shared Web Credentials
Sign in with Apple JS
- Communicating Using the Private Email Relay Service
- Configuring Your Webpage for Sign In with Apple
- Displaying and Configuring Sign In with Apple Buttons
- Incorporating Sign in with Apple into Other Platforms
SiriKit
- Adding User Interactivity with Siri Shortcuts and the Shortcuts App
- Creating an Intents App Extension
- Creating an Intents UI Extension
- Deleting Donated Shortcuts
- Dispatching Intents to Handler Objects
- Donating Shortcuts
- Registering Custom Vocabulary with SiriKit
Relevant Shortcuts
- Defining Relevant Shortcuts for Your App
- Displaying Shortcut Information in a Siri Watch Face Card
- Resolving and Handling Intents
Ride Booking
Shortcut Management
Siri Event Suggestions
SoundAnalysis
SpriteKit
- Choosing a SpriteKit Scene Renderer
- Drawing SpriteKit Content in a View
- Getting Started with Actions
- Getting Started with Physics
- Maximizing Texture Performance
Nodes for Scene Building
- Maximizing Node Drawing Performance
- Using Base Nodes to Lay Out SpriteKit Content
- Working with Inverse Kinematics
StoreKit
In-App Purchase
- Choosing a Receipt Validation Technique
- Enabling Server-to-Server Notifications
- Fetching Product Information from the App Store
- Generating a Signature for Subscription Offers
- Handling Subscriptions Billing
- Implementing Introductory Offers in Your App
- Implementing Subscription Offers in Your App
- Loading In-App Product Identifiers
- Offering a Subscription Across Multiple Apps
- Processing a Transaction
- Reducing Involuntary Subscriber Churn
- Requesting a Payment from the App Store
- Setting Up Subscription Offers
- Setting Up the Transaction Observer and Payment Queue
- Testing Introductory Offers
- Testing Promoted In-App Purchases
- Validating Receipts with the App Store
Swift
Cocoa Design Patterns
- About Imported Cocoa Error Parameters
- Handling Cocoa Errors in Swift
- Managing a Shared Resource Using a Singleton
- Using Delegates to Customize Object Behavior
- Using Key-Value Observing in Swift
- Handling Dynamically Typed Methods and Objects in Swift
Imported C and Objective-C APIs
- Importing Objective-C into Swift
- Importing Swift into Objective-C
- Using Imported C Functions in Swift
- Using Imported C Macros in Swift
- Using Imported C Structs and Unions in Swift
- Using Imported Lightweight Generics in Swift
- Using Imported Protocol-Qualified Classes in Swift
- Working with Core Foundation Types
- Working with Foundation Types
- Maintaining State in Your Apps
- Migrating Your Objective-C Code to Swift
Objective-C and C Code Customization
- Customizing Your C Code for Swift
- Designating Nullability in Objective-C APIs
- Grouping Related Objective-C Constants
- Improving Objective-C API Declarations for Swift
- Making Objective-C APIs Unavailable in Swift
- Marking API Availability in Objective-C
- Renaming Objective-C APIs for Swift
- Preventing Timing Problems When Using Closures
Swift Standard Library
Manual Memory Management
- Calling Functions With Pointer Parameters
- Operator Declarations
- Using Objective-C Runtime Features in Swift
Swift Packages
- Adding Package Dependencies to Your App
- Building Apps that Use Swift Packages in Continuous Integration Workflows
- Creating a Swift Package with Xcode
- Publishing a Swift Package with Xcode
Swift Playgrounds
- Adding a Glossary to a Playground Book
- Creating a Subscription
- Creating and Running a Playground Book
- Customizing the Completions in the Shortcut Bar
- Giving Hints to Help Learners Solve Problems
- Hiding Code from a Playground Page
- Localizing Code Comments and String Literals
- Localizing a Subscription Feed
- Publishing a Subscription
- Specifying Editable Regions in a Playground Page
- Structuring Content for Swift Playgrounds
- Writing Prose for a Playground Page
SwiftUI
Gestures
TVML
Alignment, Scrolling, and Coloring
Background Elements
Banner and Header Elements
Binding and DOM Manipulation
Color Styles
Data Binding Queries
- {property-path}
- {property-path}-greater-than
- {property-path}-greater-than-equal
- {property-path}-less-than
- {property-path}-less-than-equal
- {property-path}-not-equal
Display Elements
- activityIndicator
- badge
- decorationImage
- fullscreenImg
- heroImg
- img
- progressBar
- ratingBadge
- seasonBadge
- separator
- textBadge
Element Alignment and Spacing
- margin
- padding
- text-align
- tv-align
- tv-content-align
- tv-focus-margin
- tv-interitem-spacing
- tv-line-spacing
- tv-position
Element Shaping
Focus Attributes
Image Attributes
Information Elements
Inline Playback
Layout Elements
- carousel
- collectionList
- grid
- imgDeck
- infoList
- infoTable
- list
- menuBar
- menuItem
- nowPlayingMenuItem
- organizer
- row
- section
- segmentBar
- segmentBarHeader
- segmentBarItem
- shelf
- stack
- tumblerBar
- tumblerItem
Lockup Elements
Media Queries
Multimedia Elements
- asset
- mediaContent
- relatedContentURL
- searchField
- textField
- Rating Icons (Brazil)
- Rating Icons (New Zealand)
- Rating Icons (United Kingdom)
- Rotten Tomatoes Rating Icons
- Television Rating Icons (United States)
Text Attributes
Text Elements
Text Styles
- font-family
- font-size
- font-weight
- text-shadow
- tv-minimum-scale-factor
- tv-text-max-lines
- tv-text-style
- alertTemplate
- catalogTemplate
- compilationTemplate
- descriptiveAlertTemplate
- divTemplate
- formTemplate
- listTemplate
- loadingTemplate
- mainTemplate
- menuBarTemplate
- oneupTemplate
- paradeTemplate
- productBundleTemplate
- productTemplate
- ratingTemplate
- searchTemplate
- showcaseTemplate
- stackTemplate
- tv-placeholder
- tv-rating-style
- tv-scrollable-bounds-inset
- tv-text-highlight-style
- tv-transition
TVMLKit
UIKit
Accessibility
App and Environment
- Managing Your App's Life Cycle
- Responding to Changing Display Modes on Apple TV
- Responding to the Launch of Your App
Scenes
- Preparing Your UI to Run in the Background
- Preparing Your UI to Run in the Foreground
- Specifying the Scenes Your App Supports
- Updating Your App from 32-Bit to 64-Bit Architecture
Appearance Customization
Drag and Drop
- Making a View into a Drag Source
- Making a View into a Drop Destination
- Understanding a Drag Item as a Promise
Focus-based Navigation
- About Focus Interactions for Apple TV
- Adding User-Focusable Elements to a tvOS App
- Creating Custom Navigation Interactions
- Debugging Focus Issues in Your App
Images and PDF
- Configuring and Displaying Symbol Images in Your UI
- Creating Custom Symbol Images for Your App
- Providing Images for Different Appearances
Inter-Process Communication
Keyboards and Input
- About the Password AutoFill Workflow
- Customizing Password AutoFill Rules
- Enabling Password AutoFill on a Text Input View
- Enabling Password AutoFill on an HTML Input Element
- Setting Up an App’s Associated Domains
Mac Catalyst
- Creating a Mac Version of Your iPad App
- Displaying a Preferences Window
- Optimizing Your iPad App for Mac
Pencil Interactions
Resource Management
- Customizing the Behavior of Segue-Based Presentations
- Dismissing a View Controller with an Unwind Segue
Text Display and Fonts
Touches, Presses, and Gestures
- Coordinating Multiple Gesture Recognizers
- Handling Input from Apple Pencil
- Handling Touches in Your View
- Handling UIKit Gestures
- Implementing a Custom Gesture Recognizer
- Tracking the Force of 3D Touch Events
- Using Responders and the Responder Chain to Handle Events
View Controllers
- Adding a Document Browser to Your App
- Creating a Custom Container View Controller
- Displaying and Managing Views with a View Controller
- Managing Content in Your App's Windows
- Preserving Your App's UI Across Launches
- Providing Access to Directories
- Showing and Hiding View Controllers
View Layout
Views and Controls
Collection Views
Table Views
- Adding Headers and Footers to Table Sections
- Configuring the Cells for Your Table
- Estimating the Height of a Table's Scrolling Area
- Filling a Table with Data
- Handling Row Selection in a Table View
- Supporting Drag and Drop in Table Views
Windows and Screens
- Displaying Content on a Connected Screen
- Displaying Transient Content in a Popover
- Getting the User's Attention with Alerts and Action Sheets
UserNotifications
- Asking Permission to Use Notifications
- Declaring Your Actionable Notification Types
- Handling Notifications and Notification-Related Actions
- Modifying Content in Newly Delivered Notifications
- Registering Your App with APNs
- Scheduling a Notification Locally from Your App
- Setting Up a Remote Notification Server
UserNotificationsUI
Vision
WatchKit
- Authenticating Users on Apple Watch
- Building watchOS App Interfaces with SwiftUI
- Creating Independent watchOS Apps
- Creating an Effective watchOS Experience
- Enhancing Your watchOS App with Notifications
- Keeping Your watchOS Content Up to Date
- Playing Background Audio
- Preparing to Take Your watchOS App’s Snapshot
- Running watchOS Apps in the Background
Storyboard Elements
- Adding a Now Playing View
- Building watchOS app Interfaces Using the Storyboard
- Using Extended Runtime Sessions
- Working with the watchOS App Life Cycle
WebKit
Safari Tools and Features
- Delivering Video Content for Safari
- Optimizing Your Website for Safari
- Testing with WebDriver in Safari
- macOS WebDriver Commands for Safari 11.1 and earlier
- macOS WebDriver Commands for Safari 12 and later
WebKit JS
- Adding Picture in Picture to Your Safari Media Controls
- Adding an AirPlay Button to Your Safari Media Controls
XCTest
Activities and Attachments
Asynchronous Tests and Expectations
Xcode
- Adding Capabilities to Your App
- Creating Your App's Interface with SwiftUI
- Creating an Xcode Project for an App
- Preparing Your App for Distribution
- Running Your App in the Simulator or on a Device
- Testing Your Xcode Project