1 // Copyright 2015-present 650 Industries. All rights reserved. 2 3 #import "EXCachedResource.h" 4 5 @class EXManifestsManifest; 6 7 NS_ASSUME_NONNULL_BEGIN 8 9 @interface EXManifestResource : EXCachedResource 10 11 - (instancetype)initWithResourceName:(NSString *)resourceName 12 resourceType:(NSString *)resourceType 13 remoteUrl:(NSURL *)url 14 cachePath:(NSString * _Nullable)cachePath NS_UNAVAILABLE; 15 16 /** 17 * @param manifestUrl the actual http url from which to download the manifest 18 * @param originalUrl whatever url the user originally requested 19 */ 20 - (instancetype)initWithManifestUrl:(NSURL *)url 21 originalUrl:(NSURL * _Nullable)originalUrl NS_DESIGNATED_INITIALIZER; 22 23 /** 24 * Manifests will not be cached implicitly as we want to wait until we've also 25 * downloaded the whole bundle. This method tells the ManifestResource it's safe to cache 26 */ 27 - (void)writeToCache; 28 29 - (NSError *)verifyManifestSdkVersion:(EXManifestsManifest *)maybeManifest; 30 - (NSError *)formatError:(NSError *)error; 31 + (NSString * _Nonnull)formatHeader:(NSError * _Nonnull)error; 32 + (NSAttributedString * _Nonnull)addErrorStringHyperlinks:(NSString * _Nonnull)errorString; 33 @end 34 35 NS_ASSUME_NONNULL_END 36