-
Notifications
You must be signed in to change notification settings - Fork 558
FSKit macOS xcode26.4 b2
Rolf Bjarne Kvinge edited this page Feb 27, 2026
·
1 revision
#FSKit.framework
diff -ruN /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSFileName.h /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSFileName.h
--- /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSFileName.h 2025-11-19 06:38:43
+++ /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSFileName.h 2026-02-16 07:38:39
@@ -19,7 +19,7 @@
/// 2. An `FSModule` lacks the character encoding used for a file name.
/// This situation occurs because some file system formats consider a filename to be an arbitrary "bag of bytes," and leave character encoding up to the operating system.
/// Without encoding information, the `FSModule` can only pass back the names it finds on disk.
-/// In this case, the behavior of upper layers such as <doc://com.apple.documentation/documentation/Foundation/NSFileManager> is unspecified.
+/// In this case, the behavior of upper layers such as <doc://com.apple.documentation/documentation/Foundation/FileManager> is unspecified.
/// However, the `FSModule` must support looking up such names and using them as the source name of rename operations.
/// The `FSModule` must also be able to support filenames that are derivatives of filenames returned from directory enumeration.
/// Derivative filenames include Apple Double filenames (`"._Name"`), and editor backup filenames.
diff -ruN /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSItem.h /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSItem.h
--- /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSItem.h 2025-11-19 06:38:44
+++ /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSItem.h 2026-02-16 07:38:39
@@ -113,6 +113,10 @@
@end
/// Attributes of an item, such as size, creation and modification times, and user and group identifiers.
+///
+/// > Important: FSKit internally maintains a unique sequence number for each set of attributes to determine the most up-to-date set of attributes of a given ``FSItem``.
+/// To prevent an older set of attributes from having a newer sequence number, all attributes of a given ``FSItemAttributes`` object should be populated within the same synchronization context.
+/// This synchronization context should prevent any other thread from populating another ``FSItemAttributes`` object of the given ``FSItem``.
FSKIT_API_AVAILABILITY_V1 NS_SWIFT_NAME(FSItem.Attributes)
@interface FSItemAttributes : NSObject <NSSecureCoding>
diff -ruN /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSResource.h /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSResource.h
--- /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSResource.h 2025-11-19 06:38:44
+++ /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSResource.h 2026-02-16 07:38:39
@@ -43,7 +43,7 @@
/// A resource's type also determines its life cycle.
/// Resources based on block storage devices come into being when the system probes the media underlying the volumes and container.
/// Other kinds of resources, like those based on URLs, might have different life cycles.
-/// For example, a resource based on a `file://` URL might iniitalize when a person uses the "Connect to server" command in the macOS Finder.
+/// For example, a resource based on a `file://` URL might initialize when a person uses the "Connect to server" command in the macOS Finder.
///
/// ### Proxying resources
///
@@ -438,7 +438,7 @@
/// - task: A task object you use to communicate back to the client.
/// - options: Options for performing the check.
/// - error: In Objective-C, a pointer to an <doc://com.apple.documentation/documentation/Foundation/NSError>. Populate this with any error that occurs when starting the check. In Swift, throw an <doc://com.apple.documentation/documentation/Swift/Error> instead.
-/// - Returns: An <doc://com.apple.documentation/documentation/Foundation/NSProgress> object that you use to update progress as the check operation progresses. Return `nil` if starting the file system check encountered an error.
+/// - Returns: An <doc://com.apple.documentation/documentation/Foundation/Progress> object that you use to update progress as the check operation progresses. Return `nil` if starting the file system check encountered an error.
-(NSProgress * _Nullable)startCheckWithTask:(FSTask *)task
options:(FSTaskOptions *)options
error:(NSError**)error FSKIT_API_AVAILABILITY_V1 NS_SWIFT_NAME(startCheck(task:options:));
@@ -449,7 +449,7 @@
/// - task: A task object you use to communicate back to the client.
/// - options: Options for performing the format.
/// - error: In Objective-C, a pointer to an <doc://com.apple.documentation/documentation/Foundation/NSError>. Populate this with any error that occurs when starting the format. In Swift, throw an <doc://com.apple.documentation/documentation/Swift/Error> instead.
-/// - Returns: An <doc://com.apple.documentation/documentation/Foundation/NSProgress> object that you use to update progress as the format operation progresses. Return `nil` if starting to format the file system encountered an error.
+/// - Returns: An <doc://com.apple.documentation/documentation/Foundation/Progress> object that you use to update progress as the format operation progresses. Return `nil` if starting to format the file system encountered an error.
-(NSProgress * _Nullable)startFormatWithTask:(FSTask *)task
options:(FSTaskOptions *)options
error:(NSError**)error FSKIT_API_AVAILABILITY_V1 NS_SWIFT_NAME(startFormat(task:options:));
diff -ruN /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSTask.h /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSTask.h
--- /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSTask.h 2025-11-19 06:38:44
+++ /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSTask.h 2026-02-16 07:38:39
@@ -12,6 +12,7 @@
/// A class that enables a file system module to pass log messages and completion notifications to clients.
///
/// FSKit creates an instance of this class for each long-running operations.
+NS_SWIFT_SENDABLE
FSKIT_API_AVAILABILITY_V1
@interface FSTask : NSObject
@@ -35,7 +36,7 @@
/// The task object clears its `cancellationHandler` property after the task's cancellation or completion.
/// This helps accelerate the cleanup of retained state.
///
-/// The exact structuring of the completion handler depends on the structuring of the code imlementing the task.
+/// The exact structuring of the completion handler depends on the structuring of the code implementing the task.
/// As a concrete example, consider a check operation with the following class:
///
/// @TabNavigator {
@@ -112,14 +113,14 @@
/// }
/// }
///
-/// When canceled, the handler block in this example sets the checker's `interrupted` property, and then calls the <doc://com.apple.documentation/documentation/dispatch/dispatchgroup> method <doc://com.apple.documentation/documentation/dispatch/dispatchgroup/wait()> (Swift) or the function <doc://com.apple.documentation/documentation/dispatch/1452794-dispatch_group_wait> (Objective-C) on the checker's work group.
+/// When canceled, the handler block in this example sets the checker's `interrupted` property, and then calls the <doc://com.apple.documentation/documentation/dispatch/dispatchgroup> method <doc://com.apple.documentation/documentation/dispatch/dispatchgroup/wait()> (Swift) or the function <doc://com.apple.documentation/documentation/dispatch/dispatch_group_wait> (Objective-C) on the checker's work group.
/// Because neither of these operations can fail, the handler returns `nil` to indicate it didn't encounter an error.
///
/// For simplicity, this example doesn't account for errors, whereas production code must do so.
/// Furthermore, when fully implemented, the `performCheck` method should perform a check operation.
/// Specifically, it should periodically update the progress object and check its `interrupted` variable.
/// The check can either complete successfully, complete with an error, or enter the interrupted state.
-/// It should then call ``FSTask/didComplete(error:)`` wtih the appropriate error value or `nil`.
+/// It should then call ``FSTask/didComplete(error:)`` with the appropriate error value or `nil`.
/// Finally it should call `context.work_group.leave()` (Swift) or `dispatch_group_leave(context.work_group)` (Objective-C) to remove itself from its dispatch group.
@property (nullable, copy) NSError * _Nullable(^NS_SWIFT_SENDABLE cancellationHandler)(void) FSKIT_API_AVAILABILITY_V2;
diff -ruN /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSTaskOptions.h /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSTaskOptions.h
--- /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSTaskOptions.h 2025-11-19 06:38:44
+++ /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSTaskOptions.h 2026-02-16 07:38:39
@@ -6,6 +6,7 @@
//
#import <Foundation/Foundation.h>
+#import <FSKit/FSKitDefines.h>
NS_ASSUME_NONNULL_BEGIN
diff -ruN /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolume.h /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolume.h
--- /Applications/Xcode_26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolume.h 2025-11-19 06:38:44
+++ /Applications/Xcode_26.4.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FSKit.framework/Headers/FSVolume.h 2026-02-16 07:38:39
@@ -56,6 +56,13 @@
FSSyncFlagsDWait = 4,
};
+/// Mount options to be requested from FSKit using the `requestedMountOptions` property.
+FSKIT_API_AVAILABILITY_V2
+typedef NS_OPTIONS(NSUInteger, FSMountOptions) {
+ /// An option to request a read-only mount.
+ FSMountOptionsReadOnly = 1 << 0
+} NS_SWIFT_NAME(FSVolume.MountOptions);
+
/// A type that identifies a volume.
///
/// For most volumes, the volume identifier is the UUID identifying the volume.
@@ -396,6 +403,12 @@
/// FSKit reads this value after the file system replies to the `loadResource` message.
/// Changing the returned value during the runtime of the volume has no effect.
@property BOOL enableOpenUnlinkEmulation FSKIT_API_AVAILABILITY_V2;
+
+/// A property that allows the file system to request for specific mount options from FSKit.
+///
+/// FSKit reads this value after the volume replies to the ``mount(options:replyHandler:)`` call.
+/// Changing the returned value during the runtime of the volume has no effect.
+@property FSMountOptions requestedMountOptions FSKIT_API_AVAILABILITY_V2;
@required