Network Extension sample architecture
Source-backed, high-level architecture notes for Apple sample-code pages grouped in the Network Extension folder.
- Catalog module label:
Network Extension - Coverage: 6 / 6 sample pages documented
- Source policy: archive hashes and extracted-tree references are verified locally before analysis
Samples
| Sample | Platforms | High-level architecture | Documented patterns |
|---|---|---|---|
| Configuring a Wi-Fi accessory to join a network | iOS, iPadOS, Mac Catalyst, macOS | A Swift sample bundle with entry-bearing project variants BrandXAccessory, BrandXAccessorySetup, each leading to Network / NetworkExtension APIs. |
View-controller organization, Protocol-oriented abstraction, Delegate or data-source callbacks |
| Filtering Network Traffic | macOS | A Swift sample with the source-visible chain AppDelegate → ViewController → FilterDataProvider → NetworkExtension / Network APIs. |
Protocol-oriented abstraction, Delegate or data-source callbacks |
| Filtering traffic by URL | iOS, iPadOS, Mac Catalyst, macOS | A Shell, Swift sample bundle with entry-bearing project variants BloomFilterTool, SimpleURLFilter, each leading to NetworkExtension APIs. |
Model-View-ViewModel, Binding-based state propagation, Actor-isolated state |
| Receiving Voice and Text Communications on a Local Network | iOS, iPadOS, Mac Catalyst, macOS | A C/Objective-C header, Swift sample with the source-visible chain SimplePushApp → DirectoryView → DirectoryViewModel → SimplePushProvider → Network APIs. |
Model-View-ViewModel, Protocol-oriented abstraction, Delegate or data-source callbacks, Coordinator, SwiftUI environment injection, Publisher-backed observable state |
| Setting up a PIR server for URL filtering | iOS, iPadOS, Mac Catalyst, macOS | A Shell, Swift sample bundle with entry-bearing project variants BloomFilterTool, SimpleURLFilter, each leading to NetworkExtension APIs. |
Model-View-ViewModel, Binding-based state propagation, Actor-isolated state |
| Using the Bloom filter tool to configure a URL filter | iOS, iPadOS, Mac Catalyst, macOS | A Shell, Swift sample bundle with entry-bearing project variants BloomFilterTool, SimpleURLFilter, each leading to NetworkExtension APIs. |
Model-View-ViewModel, Binding-based state propagation, Actor-isolated state |
Cross-sample signals
Recurring documented patterns
| Pattern label | Sample documents |
|---|---|
| Model-View-ViewModel | 4 |
| Protocol-oriented abstraction | 3 |
| Delegate or data-source callbacks | 3 |
| Binding-based state propagation | 3 |
| Actor-isolated state | 3 |
Type-role naming evidence
Counts below are declaration-name suffixes, not inferred patterns.
| Role suffix | Distinct declarations across samples |
|---|---|
Controller |
13 |
View |
12 |
Delegate |
8 |
Manager |
8 |
ViewModel |
7 |
Provider |
5 |
App |
4 |
Model |
3 |
Session |
3 |
Coordinator |
2 |
Client |
1 |
Command |
1 |
Monitor |
1 |
Swift access-control evidence
These are declaration occurrences in scanned Swift source, including implicit internal declarations.
| Access level | Occurrences |
|---|---|
implicit internal |
1443 |
private |
321 |
public |
195 |
internal |
21 |
private(set) |
19 |
fileprivate |
7 |
References
Generated from the verified local catalog and completed Markdown documents.