Skip to content

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
 

Clone this wiki locally