1 // Copyright 2015-present 650 Industries. All rights reserved. 2 3 #import <UIKit/UIKit.h> 4 #import "EXKernelService.h" 5 6 // Prior to SDK 29, EXFileSystem native module was registering with a dependency on EXFileSystemManager kernel service. 7 // The purpose of this kernel service was to provide the module with bundle directory and bundled assets list. 8 // The kernel service acted in two ways, it returned some values if the experience was standalone/detached 9 // and it returned empty values if the experience wasn't standalone 10 // 11 // Since SDK 29 we strive to move as much generic code as possible to universal modules. 12 // 13 // The standalone scenario implementation was applicable to detached, standalone and vanilla React Native applications 14 // so/and it was moved to expo-file-system package as EXFileSystemManagerService. We still had to take Expo Client scenario 15 // into consideration — for this, EXFileSystemBinding class was created, which checks with constants module if the app is an Expo Client. 16 // If so, it early returns empty values. (Otherwise it falls back to expo-file-system's EXFileSystemManagerService implementation). 17 // 18 // This class is used only in SDKs < 29. 19 20 NS_ASSUME_NONNULL_BEGIN 21 22 @interface EXFileSystemManager : NSObject <EXKernelService> 23 24 - (NSString *)bundleDirectoryForExperienceId:(NSString *)experienceId; 25 - (NSArray<NSString *> *)bundledAssetsForExperienceId:(NSString *)experienceId; 26 27 @end 28 29 NS_ASSUME_NONNULL_END 30 31