All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
- Using a Sysdiagnose Log to Debug a Hard-to-Reproduce Problem
- Network Extension and VPN Glossary
- Exporting a Developer ID Network Extension
- Local Network Privacy FAQ-16
- Local Network Privacy FAQ-17
- Dynamic Library Full Path Alternative
- Dynamic Library Standard Setup for Apps
- Dynamic Library Identification
- Getting Started with Bonjour
- Availability of Low-Level APIs
- Debugging HTTP Proxies and Certificate Transparency
- Investigating Third-Party IDE Integration Problems
- Your Friend the System Log
- Network Extension Resources
- Working with a Wi-Fi Accessory
- Trusted Execution Resources
- The Care and Feeding of Developer ID
- Moving to Fewer, Larger Transfers
- App Sandbox Resources
- XPC Resources
- SecItem: Pitfalls and Best Practices
- An Apple Library Primer
- Files and Storage Resources
- Local Network Privacy FAQ
- Extra-ordinary Networking
- SecItem: Fundamentals
- Code Signing Resources
- Networking in a Short-Lived Extension
- TestFlight, Provisioning Profiles, and the Mac App Store
- The iOS Wi-Fi Lifecycle
- On File System Permissions
- Networking Resources
- Using a Link Map to Track Down a Symbol’s Origin
- TestFlight, Provisioning Profiles, and the Mac App Store
- Calling BSD Sockets from Swift
- QSocket: Addresses
- QSocket: DNS
- QSocket: Interfaces
- QSocket: System Additions
- QSocket: I/O
- QSocket: Socket Options
- Extra-ordinary Networking
- The iOS Wi-Fi Lifecycle
- Network Interface Concepts
- Network Interface Techniques
- Network Interface APIs
- Running an HTTP Request over WWAN
- Showing Connection Information in an iOS Server
- Don’t Try to Get the Device’s IP Address
- Working with a Wi-Fi Accessory
- Testing Background Session Code
- Accessing Global Variables on Apple Silicon
- Identifying a Cloud Managed Signing Certificate
- The Care and Feeding of Developer ID
- Background items showing up with the wrong name
- Parsing Dates Without Times
- UIApplication Background Task Notes
- Code Signing Resources
- Service Management Resources
- Bug Reporting: How and Why?
- iOS Background Execution Limits
- Notarisation Resources
- Code Signing Resources
- Recording Private Data in the System Log
- Networking Resources
- XPC Resources
- Using the Multicast Networking Additional Capability
- Your Friend the System Log
- An Apple Library Primer
- Notarisation Resources
- An Apple Library Primer
- Change indicators on the main page
- Debugging a Network Extension Provider
- A Peek Behind the NECP Curtain
- TabularData Resources
- Isolating Code Signing Problems from Build Problems
- SecItem: Pitfalls and Best Practices
- SecItem: Fundamentals
- App Translocation Notes
- Language Exception from RCTFatal
- Networking Resources
- Standard Memory Debugging Tools
- App Sandbox Resources
- An Apple Library Primer
- Notarisation Resources
- On File System Permissions
- Debugging Resources
- Objective-C Memory Management for Swift Programmers
- Your Friend the System Log
- Bug Reporting: How and Why?
- Resolving Gatekeeper Problems
- Sandboxed Helper Tool Crashing in
libsystem_secinit
- Local Network Privacy FAQ
- Local Network Privacy FAQ-2
- Local Network Privacy FAQ-11
- On Free Memory
- Network Extension Resources
- TLS for App Developers
- Quinn’s Top Ten DevForums Tips
- Trusted Execution Resources
- Security Resources
- App Groups: macOS vs iOS: Fight!
- Investigating Network Latency Problems
- Resolving Library Loading Problems
- XPC Resources
- Fixed iOS Background Execution PDF link
- Fixed Running a Child Process with Standard Input and Output PDF link
Link to new docs included in posts.
- Viewing Sandbox Violation Reports
- On Mac Keychains
- App Groups: macOS vs iOS: Fight!
- Finding a Capability’s Distribution Restrictions
- Quinn's Top Ten DevForums Tips
- iOS Network Signal Strength
- Cleaned up some changelog formatting
- The Pros and Cons of Stapling
- An Apple Library Primer
- Notarisation Resources
- Create a Zip Archive With This One Weird Trick
- Remote Debugging for Authorization Plugins
- Defining An App Group Shared Between macOS and iOS
- Fixed sorting in some sections
- iOS Background Execution Limits
- Posting-a-Crash-Report
- Whither FileHandle?
- Running a Child Process with Standard Input and Output
- Extended Attributes and Zip Archive
- On Mac Keychains
- Certificate Signing Requests Explained
- Testing and Debugging XPC Code With an Anonymous Listener
- Packaging Mac Software for Distribution
- Viewing Sandbox Violation Reports
- What exactly is a provisioning profile?
- A Peek Behind the Code Signing Curtain
- Recording Private Data in the System Log
- App ID Prefix Change and Keychain Access
- Resolving App Sandbox Inheritance Problems
- Resolving Gatekeeper Problems
- Don’t Run App Store Distribution-Signed Code
- Network Extension Resources
- Debugging Resources
- App Sandbox Resources
- Networking Resources
- Background Tasks Resources
- Resolving Hardened Runtime Incompatibilities
- Resolving Gatekeeper Problems Caused by Dangling Load Command Paths
- Resolving Code Signing Crashes on Launch
- Trusted Execution Resources
- BSD Privilege Escalation on macOS
- XPC Resources
- Service Management Resources
- Notarisation Fundamentals
- Notarisation Resources
- Calling Security Framework from Swift
- Fixing an untrusted code signing certificate
- Resolving errSecInternalComponent errors during code signing
- Creating Distribution-Signed Code for Mac
- Quinn’s Top Ten DevForums Tips
- Files and Storage Resources
- Bug Reporting: How and Why?
- XPC and App-to-App Communication
- Resolving Library Loading Problems
- Objective-C Memory Management for Swift Programmers
- Your Friend the System Log
- WWDC 2010 Session 207 Run Loops Section
- An Apple Library Primer
- Added CHANGELOG.md
- Organized page into sections
- Troubleshooting -34018 Keychain Errors
- KEXT Code Signing Problems
- Notarisation and the macOS 10.9 SDK
- Implementing Your Own Crash Reporter
- UIApplication Background Task Notes
--deep
Considered Harmful- On Filesystem Permissions
- On FTP
- TLS for App Developers
- Local Network Privacy FAQ
- Unpacking Apple Archives
Link to new docs included in posts.
- Packaging a Daemon with a Provisioning Profile
- Embedding a Command-Line Tool in a Sandboxed App
- Using the Multicast Networking Additional Capability
- Moving to Fewer, Larger Transfers
- Signing a Mac Product For Distribution
- What exactly is a provisioning profile?
- A Peek Behind the Code Signing Curtain
- Local Network Privacy FAQ
- Added: Keychain sharing
- Importing Cryptographic Keys
- On Cryptographic Key Formats
- What is an exception?
- Embedding a Command Line Tool in a Sandboxed App
- NSURLCache and Byte Ranges
- Wi-Fi Fundamentals
- Renamed Using the Multicast Networking Entitlement to Using the Multicast Networking Additional Capability
- On Filesystem Permissions
- Data Vault Info
- KWN & ESK’s Puzzle Page: Mutation Madness
- Local Network Privacy FAQ
- Formatting fixes in On FTP
- SecItem attributes for keys
- Using the Multicast Special Entitlement