diff --git a/ios/manifest b/ios/manifest
index 10e345f..718b2a4 100644
--- a/ios/manifest
+++ b/ios/manifest
@@ -2,13 +2,13 @@
# this is your module manifest and used by Titanium
# during compilation, packaging, distribution, etc.
#
-version: 3.0.0
+version: 4.0.0
apiversion: 2
architectures: arm64 x86_64
description: ti.animation
author: Hans Knöchel
license: Apache 2
-mac: false
+mac: true
copyright: Copyright (c) 2017-present by Hans Knöchel, Michael Gangolf
# these should not be edited
diff --git a/ios/module.xcconfig b/ios/module.xcconfig
index 8e9bc9e..8eb265c 100644
--- a/ios/module.xcconfig
+++ b/ios/module.xcconfig
@@ -7,4 +7,4 @@
// http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/400-Build_Configurations/build_configs.html
//
-OTHER_LDFLAGS=$(inherited) -framework CoreGraphics -framework QuartzCore -framework Lottie
+OTHER_LDFLAGS=$(inherited) -framework CoreGraphics -framework QuartzCore
diff --git a/ios/platform/Lottie.framework/Lottie b/ios/platform/Lottie.framework/Lottie
deleted file mode 100755
index 09c4c7a..0000000
Binary files a/ios/platform/Lottie.framework/Lottie and /dev/null differ
diff --git a/ios/platform/Lottie.xcframework/Info.plist b/ios/platform/Lottie.xcframework/Info.plist
new file mode 100644
index 0000000..3440702
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/Info.plist
@@ -0,0 +1,55 @@
+
+
+
+
+ AvailableLibraries
+
+
+ LibraryIdentifier
+ ios-arm64_x86_64-simulator
+ LibraryPath
+ Lottie.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ ios
+ SupportedPlatformVariant
+ simulator
+
+
+ LibraryIdentifier
+ ios-arm64
+ LibraryPath
+ Lottie.framework
+ SupportedArchitectures
+
+ arm64
+
+ SupportedPlatform
+ ios
+
+
+ LibraryIdentifier
+ ios-arm64_x86_64-maccatalyst
+ LibraryPath
+ Lottie.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ ios
+ SupportedPlatformVariant
+ maccatalyst
+
+
+ CFBundlePackageType
+ XFWK
+ XCFrameworkFormatVersion
+ 1.0
+
+
diff --git a/ios/platform/Lottie.framework/Headers/LOTAnimatedControl.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimatedControl.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTAnimatedControl.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimatedControl.h
diff --git a/ios/platform/Lottie.framework/Headers/LOTAnimatedSwitch.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimatedSwitch.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTAnimatedSwitch.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimatedSwitch.h
diff --git a/ios/platform/Lottie.framework/Headers/LOTAnimationCache.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimationCache.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTAnimationCache.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimationCache.h
diff --git a/ios/platform/Lottie.framework/Headers/LOTAnimationTransitionController.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimationTransitionController.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTAnimationTransitionController.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimationTransitionController.h
diff --git a/ios/platform/Lottie.framework/Headers/LOTAnimationView.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimationView.h
similarity index 95%
rename from ios/platform/Lottie.framework/Headers/LOTAnimationView.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimationView.h
index 1c7d043..1993ce2 100644
--- a/ios/platform/Lottie.framework/Headers/LOTAnimationView.h
+++ b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimationView.h
@@ -42,10 +42,16 @@ typedef void (^LOTAnimationCompletionBlock)(BOOL animationFinished);
/// Load animation by name from the default bundle. Use when loading LOTAnimationView via Interface Builder.
- (void)setAnimationNamed:(nonnull NSString *)animationName NS_SWIFT_NAME(setAnimation(named:));
+
+/// Load animation by name from a specific bundle.
+- (void)setAnimationNamed:(nonnull NSString *)animationName inBundle:(nullable NSBundle *)bundle NS_SWIFT_NAME(setAnimation(named:bundle:));
/// Load animation from a JSON dictionary
- (void)setAnimationFromJSON:(nonnull NSDictionary *)animationJSON NS_SWIFT_NAME(setAnimation(json:));
+/// Load animation from a JSON dictionary from a specific bundle
+- (void)setAnimationFromJSON:(nonnull NSDictionary *)animationJSON inBundle:(nullable NSBundle *)bundle NS_SWIFT_NAME(setAnimation(json:bundle:));
+
/// Flag is YES when the animation is playing
@property (nonatomic, readonly) BOOL isAnimationPlaying;
@@ -154,7 +160,7 @@ typedef void (^LOTAnimationCompletionBlock)(BOOL animationFinished);
@code
LOTKeypath *keypath = [LOTKeypath keypathWithKeys:@"Layer 1", @"Ellipse 1", @"Stroke 1", @"Color", nil];
LOTColorValueCallback *colorCallback = [LOTColorBlockCallback withColor:[UIColor redColor]];
- [animationView setValueCallback:colorCallback forKeypath:keypath];
+ [animationView setValueDelegate:colorCallback forKeypath:keypath];
@endcode
See the documentation for LOTValueDelegate to see how to create LOTValueCallbacks. A delegate can be any object that conforms to the LOTValueDelegate protocol, or one of the prebuilt delegate classes found in LOTBlockCallback, LOTInterpolatorCallback, and LOTValueCallback.
@@ -214,7 +220,7 @@ typedef void (^LOTAnimationCompletionBlock)(BOOL animationFinished);
/*!
@brief Sets the keyframe value for a specific After Effects property at a given time. NOTE: Deprecated. Use setValueDelegate:forKeypath:
- @discussion NOTE: Deprecated and non functioning. Use setValueCallback:forKeypath:
+ @discussion NOTE: Deprecated and non functioning. Use setValueDelegate:forKeypath:
@param value Value is the color, point, or number object that should be set at given time
@param keypath NSString . separate keypath The Keypath is a dot separated key path that specifies the location of the key to be set from the After Effects file. This will begin with the Layer Name. EG "Layer 1.Shape 1.Fill 1.Color"
@param frame The frame is the frame to be set. If the keyframe exists it will be overwritten, if it does not exist a new linearly interpolated keyframe will be added
diff --git a/ios/platform/Lottie.framework/Headers/LOTAnimationView_Compat.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimationView_Compat.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTAnimationView_Compat.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTAnimationView_Compat.h
diff --git a/ios/platform/Lottie.framework/Headers/LOTBlockCallback.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTBlockCallback.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTBlockCallback.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTBlockCallback.h
diff --git a/ios/platform/Lottie.framework/Headers/LOTCacheProvider.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTCacheProvider.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTCacheProvider.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTCacheProvider.h
diff --git a/ios/platform/Lottie.framework/Headers/LOTComposition.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTComposition.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTComposition.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTComposition.h
diff --git a/ios/platform/Lottie.framework/Headers/LOTInterpolatorCallback.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTInterpolatorCallback.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTInterpolatorCallback.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTInterpolatorCallback.h
diff --git a/ios/platform/Lottie.framework/Headers/LOTKeypath.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTKeypath.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTKeypath.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTKeypath.h
diff --git a/ios/platform/Lottie.framework/Headers/LOTValueCallback.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTValueCallback.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTValueCallback.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTValueCallback.h
diff --git a/ios/platform/Lottie.framework/Headers/LOTValueDelegate.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTValueDelegate.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/LOTValueDelegate.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/LOTValueDelegate.h
diff --git a/ios/platform/Lottie.framework/Headers/Lottie.h b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/Lottie.h
similarity index 100%
rename from ios/platform/Lottie.framework/Headers/Lottie.h
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Headers/Lottie.h
diff --git a/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Info.plist b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Info.plist
new file mode 100644
index 0000000..17de9a3
Binary files /dev/null and b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Info.plist differ
diff --git a/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Lottie b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Lottie
new file mode 100755
index 0000000..fa26451
Binary files /dev/null and b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Lottie differ
diff --git a/ios/platform/Lottie.framework/Modules/module.modulemap b/ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Modules/module.modulemap
similarity index 100%
rename from ios/platform/Lottie.framework/Modules/module.modulemap
rename to ios/platform/Lottie.xcframework/ios-arm64/Lottie.framework/Modules/module.modulemap
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Headers b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Headers
new file mode 120000
index 0000000..a177d2a
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Headers
@@ -0,0 +1 @@
+Versions/Current/Headers
\ No newline at end of file
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Lottie b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Lottie
new file mode 120000
index 0000000..1813582
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Lottie
@@ -0,0 +1 @@
+Versions/Current/Lottie
\ No newline at end of file
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Modules b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Modules
new file mode 120000
index 0000000..5736f31
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Modules
@@ -0,0 +1 @@
+Versions/Current/Modules
\ No newline at end of file
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Resources b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Resources
new file mode 120000
index 0000000..953ee36
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Resources
@@ -0,0 +1 @@
+Versions/Current/Resources
\ No newline at end of file
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimatedControl.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimatedControl.h
new file mode 100644
index 0000000..2a14bfa
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimatedControl.h
@@ -0,0 +1,28 @@
+//
+// LOTAnimatedControl.h
+// Lottie
+//
+// Created by brandon_withrow on 8/25/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import
+
+@class LOTAnimationView;
+@class LOTComposition;
+
+@interface LOTAnimatedControl : UIControl
+
+// This class is a base class that is intended to be subclassed
+
+/**
+ * Map a specific animation layer to a control state.
+ * When the state is set all layers will be hidden except the specified layer.
+ **/
+
+- (void)setLayerName:(NSString * _Nonnull)layerName forState:(UIControlState)state;
+
+@property (nonatomic, strong, readonly, nonnull) LOTAnimationView *animationView;
+@property (nonatomic, strong, nullable) LOTComposition *animationComp;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimatedSwitch.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimatedSwitch.h
new file mode 100644
index 0000000..f313415
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimatedSwitch.h
@@ -0,0 +1,53 @@
+//
+// LOTAnimatedSwitch.h
+// Lottie
+//
+// Created by brandon_withrow on 8/25/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import "LOTAnimatedControl.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface LOTAnimatedSwitch : LOTAnimatedControl
+
+/// Convenience method to initialize a control from the Main Bundle by name
++ (instancetype _Nonnull)switchNamed:(NSString * _Nonnull)toggleName;
+
+/// Convenience method to initialize a control from the specified bundle by name
++ (instancetype _Nonnull)switchNamed:(NSString * _Nonnull)toggleName inBundle:(NSBundle * _Nonnull)bundle;
+
+
+/// The ON/OFF state of the control. Setting will toggle without animation
+@property (nonatomic, getter=isOn) BOOL on;
+
+/// Enable interactive sliding gesture for toggle
+@property (nonatomic) BOOL interactiveGesture;
+
+/// Set the state of the control with animation
+- (void)setOn:(BOOL)on animated:(BOOL)animated; // does not send action
+
+/// Styling
+
+/**
+ * Sets the animation play range for the ON state animation.
+ * fromProgress is the start of the animation
+ * toProgress is the end of the animation and also the ON static state
+ * Defaults 0-1
+ **/
+- (void)setProgressRangeForOnState:(CGFloat)fromProgress
+ toProgress:(CGFloat)toProgress NS_SWIFT_NAME(setProgressRangeForOnState(fromProgress:toProgress:));
+
+/**
+ * Sets the animation play range for the OFF state animation.
+ * fromProgress is the start of the animation
+ * toProgress is the end of the animation and also the OFF static state
+ * Defaults 1-0
+ **/
+- (void)setProgressRangeForOffState:(CGFloat)fromProgress
+ toProgress:(CGFloat)toProgress NS_SWIFT_NAME(setProgressRangeForOffState(fromProgress:toProgress:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationCache.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationCache.h
new file mode 100644
index 0000000..badcc85
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationCache.h
@@ -0,0 +1,37 @@
+//
+// LOTAnimationCache.h
+// Lottie
+//
+// Created by Brandon Withrow on 1/9/17.
+// Copyright © 2017 Brandon Withrow. All rights reserved.
+//
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class LOTComposition;
+
+@interface LOTAnimationCache : NSObject
+
+/// Global Cache
++ (instancetype)sharedCache;
+
+/// Adds animation to the cache
+- (void)addAnimation:(LOTComposition *)animation forKey:(NSString *)key;
+
+/// Returns animation from cache.
+- (LOTComposition * _Nullable)animationForKey:(NSString *)key;
+
+/// Removes a specific animation from the cache
+- (void)removeAnimationForKey:(NSString *)key;
+
+/// Clears Everything from the Cache
+- (void)clearCache;
+
+/// Disables Caching Animation Model Objects
+- (void)disableCaching;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationTransitionController.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationTransitionController.h
new file mode 100644
index 0000000..695b52a
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationTransitionController.h
@@ -0,0 +1,73 @@
+//
+// LOTAnimationTransitionController.h
+// Lottie
+//
+// Created by Brandon Withrow on 1/18/17.
+// Copyright © 2017 Brandon Withrow. All rights reserved.
+//
+
+#import
+#import
+
+/** LOTAnimationTransitionController
+ *
+ * This class creates a custom UIViewController transition animation
+ * using a Lottie animation to transition between two view controllers
+ * The transition can use custom defined layers in After Effects for to/from
+ *
+ * When referencing After Effects layers the animator masks or transforms the to/from viewController
+ * with the referenced layer.
+ *
+ */
+
+@interface LOTAnimationTransitionController : NSObject
+
+/**
+ The initializer to create a new transition animation.
+
+ @param animation The name of the Lottie Animation to load for the transition
+
+ @param fromLayer The name of the custom layer to mask the fromVC screenshot with.
+ If no layer is specified then the screenshot is added behind the Lottie Animation
+
+ @param toLayer The name of the custom layer to mask the toVC screenshot with.
+ If no layer is specified then the screenshot is added behind the Lottie Animation
+ and a fade transition is performed along with the Lottie animation.
+
+ @param applyAnimationTransform A boolean that determines if the custom layer should
+ have the transform animation from the After Effects layer applied to it. If NO the
+ layer will be masked by the After Effects Layer
+
+ */
+- (nonnull instancetype)initWithAnimationNamed:(nonnull NSString *)animation
+ fromLayerNamed:(nullable NSString *)fromLayer
+ toLayerNamed:(nullable NSString *)toLayer
+ applyAnimationTransform:(BOOL)applyAnimationTransform;
+
+/**
+ The initializer to create a new transition animation.
+
+ @param animation The name of the Lottie Animation to load for the transition
+
+ @param fromLayer The name of the custom layer to mask the fromVC screenshot with.
+ If no layer is specified then the screenshot is added behind the Lottie Animation
+
+ @param toLayer The name of the custom layer to mask the toVC screenshot with.
+ If no layer is specified then the screenshot is added behind the Lottie Animation
+ and a fade transition is performed along with the Lottie animation.
+
+ @param applyAnimationTransform A boolean that determines if the custom layer should
+ have the transform animation from the After Effects layer applied to it. If NO the
+ layer will be masked by the After Effects Layer
+
+ @param bundle custom bundle to load animation and images, if no bundle is specified will load
+ from mainBundle
+ */
+- (instancetype _Nonnull)initWithAnimationNamed:(NSString *_Nonnull)animation
+ fromLayerNamed:(NSString *_Nullable)fromLayer
+ toLayerNamed:(NSString *_Nullable)toLayer
+ applyAnimationTransform:(BOOL)applyAnimationTransform
+ inBundle:(NSBundle *_Nonnull)bundle;
+
+@end
+
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationView.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationView.h
new file mode 100644
index 0000000..1993ce2
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationView.h
@@ -0,0 +1,252 @@
+//
+// LOTAnimationView
+// LottieAnimator
+//
+// Created by Brandon Withrow on 12/14/15.
+// Copyright © 2015 Brandon Withrow. All rights reserved.
+// Dream Big.
+
+#import
+#import "LOTAnimationView_Compat.h"
+#import "LOTComposition.h"
+#import "LOTKeypath.h"
+#import "LOTValueDelegate.h"
+
+typedef void (^LOTAnimationCompletionBlock)(BOOL animationFinished);
+
+@interface LOTAnimationView : LOTView
+
+/// Load animation by name from the default bundle, Images are also loaded from the bundle
++ (nonnull instancetype)animationNamed:(nonnull NSString *)animationName NS_SWIFT_NAME(init(name:));
+
+/// Loads animation by name from specified bundle, Images are also loaded from the bundle
++ (nonnull instancetype)animationNamed:(nonnull NSString *)animationName inBundle:(nonnull NSBundle *)bundle NS_SWIFT_NAME(init(name:bundle:));
+
+/// Creates an animation from the deserialized JSON Dictionary
++ (nonnull instancetype)animationFromJSON:(nonnull NSDictionary *)animationJSON NS_SWIFT_NAME(init(json:));
+
+/// Loads an animation from a specific file path. WARNING Do not use a web URL for file path.
++ (nonnull instancetype)animationWithFilePath:(nonnull NSString *)filePath NS_SWIFT_NAME(init(filePath:));
+
+/// Creates an animation from the deserialized JSON Dictionary, images are loaded from the specified bundle
++ (nonnull instancetype)animationFromJSON:(nullable NSDictionary *)animationJSON inBundle:(nullable NSBundle *)bundle NS_SWIFT_NAME(init(json:bundle:));
+
+/// Creates an animation from the LOTComposition, images are loaded from the specified bundle
+- (nonnull instancetype)initWithModel:(nullable LOTComposition *)model inBundle:(nullable NSBundle *)bundle;
+
+/// Loads animation asynchronously from the specified URL
+- (nonnull instancetype)initWithContentsOfURL:(nonnull NSURL *)url;
+
+/// Set animation name from Interface Builder
+@property (nonatomic, strong) IBInspectable NSString * _Nullable animation;
+
+/// Load animation by name from the default bundle. Use when loading LOTAnimationView via Interface Builder.
+- (void)setAnimationNamed:(nonnull NSString *)animationName NS_SWIFT_NAME(setAnimation(named:));
+
+/// Load animation by name from a specific bundle.
+- (void)setAnimationNamed:(nonnull NSString *)animationName inBundle:(nullable NSBundle *)bundle NS_SWIFT_NAME(setAnimation(named:bundle:));
+
+/// Load animation from a JSON dictionary
+- (void)setAnimationFromJSON:(nonnull NSDictionary *)animationJSON NS_SWIFT_NAME(setAnimation(json:));
+
+/// Load animation from a JSON dictionary from a specific bundle
+- (void)setAnimationFromJSON:(nonnull NSDictionary *)animationJSON inBundle:(nullable NSBundle *)bundle NS_SWIFT_NAME(setAnimation(json:bundle:));
+
+/// Flag is YES when the animation is playing
+@property (nonatomic, readonly) BOOL isAnimationPlaying;
+
+/// Tells the animation to loop indefinitely. Defaults to NO.
+@property (nonatomic, assign) BOOL loopAnimation;
+
+/// The animation will play forward and then backwards if loopAnimation is also YES
+@property (nonatomic, assign) BOOL autoReverseAnimation;
+
+/// Sets a progress from 0 - 1 of the animation. If the animation is playing it will stop and the completion block will be called.
+/// The current progress of the animation in absolute time.
+/// e.g. a value of 0.75 always represents the same point in the animation, regardless of positive
+/// or negative speed.
+@property (nonatomic, assign) CGFloat animationProgress;
+
+/// Sets the speed of the animation. Accepts a negative value for reversing animation.
+@property (nonatomic, assign) CGFloat animationSpeed;
+
+/// Read only of the duration in seconds of the animation at speed of 1
+@property (nonatomic, readonly) CGFloat animationDuration;
+
+/// Enables or disables caching of the backing animation model. Defaults to YES
+@property (nonatomic, assign) BOOL cacheEnable;
+
+/// Sets a completion block to call when the animation has completed
+@property (nonatomic, copy, nullable) LOTAnimationCompletionBlock completionBlock;
+
+/// Set the animation data
+@property (nonatomic, strong, nullable) LOTComposition *sceneModel;
+
+/// Sets sholdRasterize to YES on the animation layer to improve compositioning performance when not animating.
+/// Note this will not produce crisp results at resolutions above the animations set resolution.
+/// Defaults to NO
+@property (nonatomic, assign) BOOL shouldRasterizeWhenIdle;
+
+/*
+ * Plays the animation from its current position to a specific progress.
+ * The animation will start from its current position.
+ * If loopAnimation is YES the animation will loop from start position to toProgress indefinitely.
+ * If loopAnimation is NO the animation will stop and the completion block will be called.
+ */
+- (void)playToProgress:(CGFloat)toProgress
+ withCompletion:(nullable LOTAnimationCompletionBlock)completion;
+
+/*
+ * Plays the animation from specific progress to a specific progress
+ * The animation will start from its current position..
+ * If loopAnimation is YES the animation will loop from the startProgress to the endProgress indefinitely
+ * If loopAnimation is NO the animation will stop and the completion block will be called.
+ */
+- (void)playFromProgress:(CGFloat)fromStartProgress
+ toProgress:(CGFloat)toEndProgress
+ withCompletion:(nullable LOTAnimationCompletionBlock)completion;
+
+/*
+ * Plays the animation from its current position to a specific frame.
+ * The animation will start from its current position.
+ * If loopAnimation is YES the animation will loop from beginning to toFrame indefinitely.
+ * If loopAnimation is NO the animation will stop and the completion block will be called.
+ */
+- (void)playToFrame:(nonnull NSNumber *)toFrame
+ withCompletion:(nullable LOTAnimationCompletionBlock)completion;
+
+/*
+ * Plays the animation from specific frame to a specific frame.
+ * The animation will start from its current position.
+ * If loopAnimation is YES the animation will loop start frame to end frame indefinitely.
+ * If loopAnimation is NO the animation will stop and the completion block will be called.
+ */
+- (void)playFromFrame:(nonnull NSNumber *)fromStartFrame
+ toFrame:(nonnull NSNumber *)toEndFrame
+ withCompletion:(nullable LOTAnimationCompletionBlock)completion;
+
+
+/**
+ * Plays the animation from its current position to the end of the animation.
+ * The animation will start from its current position.
+ * If loopAnimation is YES the animation will loop from beginning to end indefinitely.
+ * If loopAnimation is NO the animation will stop and the completion block will be called.
+ **/
+- (void)playWithCompletion:(nullable LOTAnimationCompletionBlock)completion;
+
+/// Plays the animation
+- (void)play;
+
+/// Stops the animation at the current frame. The completion block will be called.
+- (void)pause;
+
+/// Stops the animation and rewinds to the beginning. The completion block will be called.
+- (void)stop;
+
+/// Sets progress of animation to a specific frame. If the animation is playing it will stop and the completion block will be called.
+- (void)setProgressWithFrame:(nonnull NSNumber *)currentFrame;
+
+/// Forces a layout and drawing update for the current frame.
+- (void)forceDrawingUpdate;
+
+/// Logs all child keypaths
+- (void)logHierarchyKeypaths;
+
+/*!
+ @brief Sets a LOTValueDelegate for each animation property returned from the LOTKeypath search. LOTKeypath matches views inside of LOTAnimationView to their After Effects counterparts. The LOTValueDelegate is called every frame as the animation plays to override animation values. A delegate can be any object that conforms to the LOTValueDelegate protocol, or one of the prebuilt delegate classes found in LOTBlockCallback, LOTInterpolatorCallback, and LOTValueCallback.
+
+ @discussion
+ Example that sets an animated stroke to Red using a LOTColorValueCallback.
+ @code
+ LOTKeypath *keypath = [LOTKeypath keypathWithKeys:@"Layer 1", @"Ellipse 1", @"Stroke 1", @"Color", nil];
+ LOTColorValueCallback *colorCallback = [LOTColorBlockCallback withColor:[UIColor redColor]];
+ [animationView setValueDelegate:colorCallback forKeypath:keypath];
+ @endcode
+
+ See the documentation for LOTValueDelegate to see how to create LOTValueCallbacks. A delegate can be any object that conforms to the LOTValueDelegate protocol, or one of the prebuilt delegate classes found in LOTBlockCallback, LOTInterpolatorCallback, and LOTValueCallback.
+
+ See the documentation for LOTKeypath to learn more about how to create keypaths.
+
+ NOTE: The delegate is weakly retained. Be sure that the creator of a delegate is retained.
+ Read More at http://airbnb.io/lottie/ios/dynamic.html
+ */
+- (void)setValueDelegate:(id _Nonnull)delegates
+ forKeypath:(LOTKeypath * _Nonnull)keypath;
+
+/*!
+ @brief returns the string representation of every keypath matching the LOTKeypath search.
+ */
+- (nullable NSArray *)keysForKeyPath:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Converts a CGPoint from the Animation views top coordinate space into the coordinate space of the specified renderable animation node.
+ */
+- (CGPoint)convertPoint:(CGPoint)point
+ toKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Converts a CGRect from the Animation views top coordinate space into the coordinate space of the specified renderable animation node.
+ */
+- (CGRect)convertRect:(CGRect)rect
+ toKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Converts a CGPoint to the Animation views top coordinate space from the coordinate space of the specified renderable animation node.
+ */
+- (CGPoint)convertPoint:(CGPoint)point
+ fromKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Converts a CGRect to the Animation views top coordinate space from the coordinate space of the specified renderable animation node.
+ */
+- (CGRect)convertRect:(CGRect)rect
+ fromKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Adds a UIView, or NSView, to the renderable layer found at the Keypath
+ */
+- (void)addSubview:(nonnull LOTView *)view
+ toKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Adds a UIView, or NSView, to the parent renderable layer found at the Keypath and then masks the view with layer found at the keypath.
+ */
+- (void)maskSubview:(nonnull LOTView *)view
+ toKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+#if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR
+@property (nonatomic) LOTViewContentMode contentMode;
+#endif
+
+/*!
+ @brief Sets the keyframe value for a specific After Effects property at a given time. NOTE: Deprecated. Use setValueDelegate:forKeypath:
+ @discussion NOTE: Deprecated and non functioning. Use setValueDelegate:forKeypath:
+ @param value Value is the color, point, or number object that should be set at given time
+ @param keypath NSString . separate keypath The Keypath is a dot separated key path that specifies the location of the key to be set from the After Effects file. This will begin with the Layer Name. EG "Layer 1.Shape 1.Fill 1.Color"
+ @param frame The frame is the frame to be set. If the keyframe exists it will be overwritten, if it does not exist a new linearly interpolated keyframe will be added
+ */
+- (void)setValue:(nonnull id)value
+ forKeypath:(nonnull NSString *)keypath
+ atFrame:(nullable NSNumber *)frame __deprecated;
+
+/*!
+ @brief Adds a custom subview to the animation using a LayerName from After Effect as a reference point.
+ @discussion NOTE: Deprecated. Use addSubview:toKeypathLayer: or maskSubview:toKeypathLayer:
+ @param view The custom view instance to be added
+
+ @param layer The string name of the After Effects layer to be referenced.
+
+ @param applyTransform If YES the custom view will be animated to move with the specified After Effects layer. If NO the custom view will be masked by the After Effects layer
+ */
+- (void)addSubview:(nonnull LOTView *)view
+ toLayerNamed:(nonnull NSString *)layer
+ applyTransform:(BOOL)applyTransform __deprecated;
+
+/*!
+ @brief Converts the given CGRect from the receiving animation view's coordinate space to the supplied layer's coordinate space If layerName is null then the rect will be converted to the composition coordinate system. This is helpful when adding custom subviews to a LOTAnimationView
+ @discussion NOTE: Deprecated. Use convertRect:fromKeypathLayer:
+ */
+- (CGRect)convertRect:(CGRect)rect
+ toLayerNamed:(NSString *_Nullable)layerName __deprecated;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationView_Compat.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationView_Compat.h
new file mode 100644
index 0000000..20cf2e7
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTAnimationView_Compat.h
@@ -0,0 +1,36 @@
+//
+// LOTAnimationView_Compat.h
+// Lottie
+//
+// Created by Oleksii Pavlovskyi on 2/2/17.
+// Copyright (c) 2017 Airbnb. All rights reserved.
+//
+
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+
+#import
+@compatibility_alias LOTView UIView;
+
+#else
+
+#import
+@compatibility_alias LOTView NSView;
+
+typedef NS_ENUM(NSInteger, LOTViewContentMode) {
+ LOTViewContentModeScaleToFill,
+ LOTViewContentModeScaleAspectFit,
+ LOTViewContentModeScaleAspectFill,
+ LOTViewContentModeRedraw,
+ LOTViewContentModeCenter,
+ LOTViewContentModeTop,
+ LOTViewContentModeBottom,
+ LOTViewContentModeLeft,
+ LOTViewContentModeRight,
+ LOTViewContentModeTopLeft,
+ LOTViewContentModeTopRight,
+ LOTViewContentModeBottomLeft,
+ LOTViewContentModeBottomRight,
+};
+
+#endif
+
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTBlockCallback.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTBlockCallback.h
new file mode 100644
index 0000000..067ecc5
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTBlockCallback.h
@@ -0,0 +1,160 @@
+//
+// LOTBlockCallback.h
+// Lottie
+//
+// Created by brandon_withrow on 12/15/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import
+#import
+#import "LOTValueDelegate.h"
+
+/*!
+ @brief A block that is used to change a Color value at keytime, the block is called continuously for a keypath while the animation plays.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startColor The color from the previous keyframe in relation to the current time.
+ @param endColor The color from the next keyframe in relation to the current time.
+ @param interpolatedColor The color interpolated at the current time between startColor and endColor. This represents the keypaths current color for the current time.
+ @return CGColorRef the color to set the keypath node for the current frame
+ */
+typedef CGColorRef _Nonnull (^LOTColorValueCallbackBlock)(CGFloat currentFrame,
+ CGFloat startKeyFrame,
+ CGFloat endKeyFrame,
+ CGFloat interpolatedProgress,
+ CGColorRef _Nullable startColor,
+ CGColorRef _Nullable endColor,
+ CGColorRef _Nullable interpolatedColor);
+
+/*!
+ @brief A block that is used to change a Number value at keytime, the block is called continuously for a keypath while the animation plays.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startValue The Number from the previous keyframe in relation to the current time.
+ @param endValue The Number from the next keyframe in relation to the current time.
+ @param interpolatedValue The Number interpolated at the current time between startValue and endValue. This represents the keypaths current Number for the current time.
+ @return CGFloat the number to set the keypath node for the current frame
+ */
+typedef CGFloat (^LOTNumberValueCallbackBlock)(CGFloat currentFrame,
+ CGFloat startKeyFrame,
+ CGFloat endKeyFrame,
+ CGFloat interpolatedProgress,
+ CGFloat startValue,
+ CGFloat endValue,
+ CGFloat interpolatedValue);
+/*!
+ @brief A block that is used to change a Point value at keytime, the block is called continuously for a keypath while the animation plays.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startPoint The Point from the previous keyframe in relation to the current time.
+ @param endPoint The Point from the next keyframe in relation to the current time.
+ @param interpolatedPoint The Point interpolated at the current time between startPoint and endPoint. This represents the keypaths current Point for the current time.
+ @return CGPoint the point to set the keypath node for the current frame.
+ */
+typedef CGPoint (^LOTPointValueCallbackBlock)(CGFloat currentFrame,
+ CGFloat startKeyFrame,
+ CGFloat endKeyFrame,
+ CGFloat interpolatedProgress,
+ CGPoint startPoint,
+ CGPoint endPoint,
+ CGPoint interpolatedPoint);
+
+/*!
+ @brief A block that is used to change a Size value at keytime, the block is called continuously for a keypath while the animation plays.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startSize The Size from the previous keyframe in relation to the current time.
+ @param endSize The Size from the next keyframe in relation to the current time.
+ @param interpolatedSize The Size interpolated at the current time between startSize and endSize. This represents the keypaths current Size for the current time.
+ @return CGSize the size to set the keypath node for the current frame.
+ */
+typedef CGSize (^LOTSizeValueCallbackBlock)(CGFloat currentFrame,
+ CGFloat startKeyFrame,
+ CGFloat endKeyFrame,
+ CGFloat interpolatedProgress,
+ CGSize startSize,
+ CGSize endSize,
+ CGSize interpolatedSize);
+
+/*!
+ @brief A block that is used to change a Path value at keytime, the block is called continuously for a keypath while the animation plays.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @return UIBezierPath the path to set the keypath node for the current frame.
+ */
+typedef CGPathRef _Nonnull (^LOTPathValueCallbackBlock)(CGFloat currentFrame,
+ CGFloat startKeyFrame,
+ CGFloat endKeyFrame,
+ CGFloat interpolatedProgress);
+
+/*!
+ @brief LOTColorValueCallback is wrapper around a LOTColorValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's color keypath at runtime.
+ */
+
+@interface LOTColorBlockCallback : NSObject
+
++ (instancetype _Nonnull)withBlock:(LOTColorValueCallbackBlock _Nonnull )block NS_SWIFT_NAME(init(block:));
+
+@property (nonatomic, copy, nonnull) LOTColorValueCallbackBlock callback;
+
+@end
+
+/*!
+ @brief LOTNumberValueCallback is wrapper around a LOTNumberValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's number keypath at runtime.
+ */
+
+@interface LOTNumberBlockCallback : NSObject
+
++ (instancetype _Nonnull)withBlock:(LOTNumberValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:));
+
+@property (nonatomic, copy, nonnull) LOTNumberValueCallbackBlock callback;
+
+@end
+
+/*!
+ @brief LOTPointValueCallback is wrapper around a LOTPointValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's point keypath at runtime.
+ */
+
+@interface LOTPointBlockCallback : NSObject
+
++ (instancetype _Nonnull)withBlock:(LOTPointValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:));
+
+@property (nonatomic, copy, nonnull) LOTPointValueCallbackBlock callback;
+
+@end
+
+/*!
+ @brief LOTSizeValueCallback is wrapper around a LOTSizeValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's size keypath at runtime.
+ */
+
+@interface LOTSizeBlockCallback : NSObject
+
++ (instancetype _Nonnull)withBlock:(LOTSizeValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:));
+
+@property (nonatomic, copy, nonnull) LOTSizeValueCallbackBlock callback;
+
+@end
+
+/*!
+ @brief LOTPathValueCallback is wrapper around a LOTPathValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's path keypath at runtime.
+ */
+
+@interface LOTPathBlockCallback : NSObject
+
++ (instancetype _Nonnull)withBlock:(LOTPathValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:));
+
+@property (nonatomic, copy, nonnull) LOTPathValueCallbackBlock callback;
+
+@end
+
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTCacheProvider.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTCacheProvider.h
new file mode 100644
index 0000000..3857226
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTCacheProvider.h
@@ -0,0 +1,40 @@
+//
+// LOTCacheProvider.h
+// Lottie
+//
+// Created by punmy on 2017/7/8.
+//
+//
+
+#import
+
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+
+#import
+@compatibility_alias LOTImage UIImage;
+
+@protocol LOTImageCache;
+
+#pragma mark - LOTCacheProvider
+
+@interface LOTCacheProvider : NSObject
+
++ (id)imageCache;
++ (void)setImageCache:(id)cache;
+
+@end
+
+#pragma mark - LOTImageCache
+
+/**
+ This protocol represent the interface of a image cache which lottie can use.
+ */
+@protocol LOTImageCache
+
+@required
+- (LOTImage *)imageForKey:(NSString *)key;
+- (void)setImage:(LOTImage *)image forKey:(NSString *)key;
+
+@end
+
+#endif
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTComposition.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTComposition.h
new file mode 100644
index 0000000..9fad038
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTComposition.h
@@ -0,0 +1,49 @@
+//
+// LOTScene.h
+// LottieAnimator
+//
+// Created by Brandon Withrow on 12/14/15.
+// Copyright © 2015 Brandon Withrow. All rights reserved.
+//
+
+#import
+#import
+
+@class LOTLayerGroup;
+@class LOTLayer;
+@class LOTAssetGroup;
+
+@interface LOTComposition : NSObject
+
+/// Load animation by name from the default bundle, Images are also loaded from the bundle
++ (nullable instancetype)animationNamed:(nonnull NSString *)animationName NS_SWIFT_NAME(init(name:));
+
+/// Loads animation by name from specified bundle, Images are also loaded from the bundle
++ (nullable instancetype)animationNamed:(nonnull NSString *)animationName
+ inBundle:(nonnull NSBundle *)bundle NS_SWIFT_NAME(init(name:bundle:));
+
+/// Loads an animation from a specific file path. WARNING Do not use a web URL for file path.
++ (nullable instancetype)animationWithFilePath:(nonnull NSString *)filePath NS_SWIFT_NAME(init(filePath:));
+
+/// Creates an animation from the deserialized JSON Dictionary
++ (nonnull instancetype)animationFromJSON:(nonnull NSDictionary *)animationJSON NS_SWIFT_NAME(init(json:));
+
+/// Creates an animation from the deserialized JSON Dictionary, images are loaded from the specified bundle
++ (nonnull instancetype)animationFromJSON:(nullable NSDictionary *)animationJSON
+ inBundle:(nullable NSBundle *)bundle NS_SWIFT_NAME(init(json:bundle:));
+
+- (instancetype _Nonnull)initWithJSON:(NSDictionary * _Nullable)jsonDictionary
+ withAssetBundle:(NSBundle * _Nullable)bundle;
+
+@property (nonatomic, readonly) CGRect compBounds;
+@property (nonatomic, strong, readonly, nullable) NSNumber *startFrame;
+@property (nonatomic, strong, readonly, nullable) NSNumber *endFrame;
+@property (nonatomic, strong, readonly, nullable) NSNumber *framerate;
+@property (nonatomic, readonly) NSTimeInterval timeDuration;
+@property (nonatomic, strong, readonly, nullable) LOTLayerGroup *layerGroup;
+@property (nonatomic, strong, readonly, nullable) LOTAssetGroup *assetGroup;
+@property (nonatomic, strong, readwrite, nullable) NSString *rootDirectory;
+@property (nonatomic, strong, readonly, nullable) NSBundle *assetBundle;
+@property (nonatomic, copy, nullable) NSString *cacheKey;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTInterpolatorCallback.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTInterpolatorCallback.h
new file mode 100644
index 0000000..5d4b550
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTInterpolatorCallback.h
@@ -0,0 +1,71 @@
+//
+// LOTInterpolatorCallback.h
+// Lottie
+//
+// Created by brandon_withrow on 12/15/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import
+#import
+#import "LOTValueDelegate.h"
+
+/*!
+ @brief LOTPointInterpolatorCallback is a container for a CGPointRef. This container is a LOTPointValueDelegate that will return the point interpolated at currentProgress between fromPoint and toPoint. Externally changing currentProgress will change the point of the animation.
+ @discussion LOTPointInterpolatorCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypoint to set a point value of an animation property.
+ */
+
+@interface LOTPointInterpolatorCallback : NSObject
+
++ (instancetype _Nonnull)withFromPoint:(CGPoint)fromPoint toPoint:(CGPoint)toPoint NS_SWIFT_NAME(init(from:to:));
+
+@property (nonatomic) CGPoint fromPoint;
+@property (nonatomic) CGPoint toPoint;
+
+/*!
+ @brief As currentProgress changes from 0 to 1 the point sent to the animation view is interpolated between fromPoint and toPoint.
+ */
+
+@property (nonatomic, assign) CGFloat currentProgress;
+
+@end
+
+/*!
+ @brief LOTSizeInterpolatorCallback is a container for a CGSizeRef. This container is a LOTSizeValueDelegate that will return the size interpolated at currentProgress between fromSize and toSize. Externally changing currentProgress will change the size of the animation.
+ @discussion LOTSizeInterpolatorCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeysize to set a size value of an animation property.
+ */
+
+@interface LOTSizeInterpolatorCallback : NSObject
+
++ (instancetype _Nonnull)withFromSize:(CGSize)fromSize toSize:(CGSize)toSize NS_SWIFT_NAME(init(from:to:));
+
+@property (nonatomic) CGSize fromSize;
+@property (nonatomic) CGSize toSize;
+
+/*!
+ @brief As currentProgress changes from 0 to 1 the size sent to the animation view is interpolated between fromSize and toSize.
+ */
+
+@property (nonatomic, assign) CGFloat currentProgress;
+
+@end
+
+/*!
+ @brief LOTFloatInterpolatorCallback is a container for a CGFloatRef. This container is a LOTFloatValueDelegate that will return the float interpolated at currentProgress between fromFloat and toFloat. Externally changing currentProgress will change the float of the animation.
+ @discussion LOTFloatInterpolatorCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeyfloat to set a float value of an animation property.
+ */
+
+@interface LOTFloatInterpolatorCallback : NSObject
+
++ (instancetype _Nonnull)withFromFloat:(CGFloat)fromFloat toFloat:(CGFloat)toFloat NS_SWIFT_NAME(init(from:to:));
+
+@property (nonatomic) CGFloat fromFloat;
+@property (nonatomic) CGFloat toFloat;
+
+/*!
+ @brief As currentProgress changes from 0 to 1 the float sent to the animation view is interpolated between fromFloat and toFloat.
+ */
+
+@property (nonatomic, assign) CGFloat currentProgress;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTKeypath.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTKeypath.h
new file mode 100644
index 0000000..9c5b7a4
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTKeypath.h
@@ -0,0 +1,83 @@
+//
+// LOTKeypath.h
+// Lottie_iOS
+//
+// Created by brandon_withrow on 12/13/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import
+
+extern NSString * _Nonnull const kLOTKeypathEnd;
+
+/*!
+ @brief LOTKeypath is an object that describes a keypath search for nodes in the animation JSON. LOTKeypath matches views inside of LOTAnimationView to their After Effects counterparts.
+
+ @discussion
+ LOTKeypath is used with LOTAnimationView to set animation properties dynamically at runtime, to add or mask subviews, converting geometry, and numerous other functions.
+
+ LOTKeypath can describe a specific object, or can use wildcards for fuzzy matching of objects. Acceptable wildcards are either "*" (star) or "**" (double star). Single star will search a single depth for the next object, double star will search any depth.
+
+ Read More at http://airbnb.io/lottie/ios/dynamic.html
+
+ EG:
+ @"Layer.Shape Group.Stroke 1.Color"
+ Represents a specific color node on a specific stroke.
+
+ @"**.Stroke 1.Color"
+ Represents the color node for every "Stroke 1" in the animation scene.
+
+ */
+
+@interface LOTKeypath : NSObject
+
+/*!
+ @brief Creates a LOTKeypath from a dot separated string, can use wildcards @"*" and fuzzy depth wild cards @"**".
+
+ @discussion LOTKeypath is an object that describes a keypath search for nodes in the animation JSON.
+
+ LOTKeypath is used with LOTAnimationView to set animation properties dynamically at runtime, to add or mask subviews, converting geometry, and numerous other functions.
+
+ LOTKeypath can describe a specific object, or can use wildcards for fuzzy matching of objects. Acceptable wildcards are either "*" (star) or "**" (double star). Single star will search a single depth for the next object, double star will search any depth.
+
+ @param keypath A dot separated string describing a keypath from the JSON animation. EG @"Layer.Shape Group.Stroke 1.Color"
+
+ @return A new LOTKeypath
+ */
+
++ (nonnull LOTKeypath *)keypathWithString:(nonnull NSString *)keypath;
+
+/*!
+ @brief Creates a LOTKeypath from a list of keypath string objects, can use wildcards @"*" and fuzzy depth wild cards @"**".
+
+ @discussion LOTKeypath is an object that describes a keypath search for nodes in the animation JSON.
+
+ LOTKeypath is used with LOTAnimationView to set animation properties dynamically at runtime, to add or mask subviews, converting geometry, and numerous other functions.
+
+ LOTKeypath can describe a specific object, or can use wildcards for fuzzy matching of objects. Acceptable wildcards are either "*" (star) or "**" (double star). Single star will search a single depth for the next object, double star will search any depth.
+
+ @param firstKey A nil terminated list of strings describing a keypath. EG @"Layer", @"Shape Group", @"Stroke 1", @"Color", nil
+
+ @return A new LOTKeypath
+ */
+
++ (nonnull LOTKeypath *)keypathWithKeys:(nonnull NSString *)firstKey, ...
+ NS_REQUIRES_NIL_TERMINATION;
+
+@property (nonatomic, readonly, nonnull) NSString *absoluteKeypath;
+@property (nonatomic, readonly, nonnull) NSString *currentKey;
+@property (nonatomic, readonly, nonnull) NSString *currentKeyPath;
+
+@property (nonatomic, readonly, nonnull) NSDictionary *searchResults;
+
+@property (nonatomic, readonly) BOOL hasFuzzyWildcard;
+@property (nonatomic, readonly) BOOL hasWildcard;
+@property (nonatomic, readonly) BOOL endOfKeypath;
+
+- (BOOL)pushKey:(nonnull NSString *)key;
+- (void)popKey;
+- (void)popToRootKey;
+
+- (void)addSearchResultForCurrentPath:(id _Nonnull)result;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTValueCallback.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTValueCallback.h
new file mode 100644
index 0000000..05cb262
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTValueCallback.h
@@ -0,0 +1,76 @@
+//
+// LOTValueCallback.h
+// Lottie
+//
+// Created by brandon_withrow on 12/15/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import
+#import
+#import "LOTValueDelegate.h"
+
+/*!
+ @brief LOTColorValueCallback is a container for a CGColorRef. This container is a LOTColorValueDelegate that always returns the colorValue property to its animation delegate.
+ @discussion LOTColorValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a color value of an animation property.
+ */
+
+@interface LOTColorValueCallback : NSObject
+
++ (instancetype _Nonnull)withCGColor:(CGColorRef _Nonnull)color NS_SWIFT_NAME(init(color:));
+
+@property (nonatomic, nonnull) CGColorRef colorValue;
+
+@end
+
+/*!
+ @brief LOTNumberValueCallback is a container for a CGFloat value. This container is a LOTNumberValueDelegate that always returns the numberValue property to its animation delegate.
+ @discussion LOTNumberValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a number value of an animation property.
+ */
+
+@interface LOTNumberValueCallback : NSObject
+
++ (instancetype _Nonnull)withFloatValue:(CGFloat)numberValue NS_SWIFT_NAME(init(number:));
+
+@property (nonatomic, assign) CGFloat numberValue;
+
+@end
+
+/*!
+ @brief LOTPointValueCallback is a container for a CGPoint value. This container is a LOTPointValueDelegate that always returns the pointValue property to its animation delegate.
+ @discussion LOTPointValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a point value of an animation property.
+ */
+
+@interface LOTPointValueCallback : NSObject
+
++ (instancetype _Nonnull)withPointValue:(CGPoint)pointValue;
+
+@property (nonatomic, assign) CGPoint pointValue;
+
+@end
+
+/*!
+ @brief LOTSizeValueCallback is a container for a CGSize value. This container is a LOTSizeValueDelegate that always returns the sizeValue property to its animation delegate.
+ @discussion LOTSizeValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a size value of an animation property.
+ */
+
+@interface LOTSizeValueCallback : NSObject
+
++ (instancetype _Nonnull)withPointValue:(CGSize)sizeValue NS_SWIFT_NAME(init(size:));
+
+@property (nonatomic, assign) CGSize sizeValue;
+
+@end
+
+/*!
+ @brief LOTPathValueCallback is a container for a CGPathRef value. This container is a LOTPathValueDelegate that always returns the pathValue property to its animation delegate.
+ @discussion LOTPathValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a path value of an animation property.
+ */
+
+@interface LOTPathValueCallback : NSObject
+
++ (instancetype _Nonnull)withCGPath:(CGPathRef _Nonnull)path NS_SWIFT_NAME(init(path:));
+
+@property (nonatomic, nonnull) CGPathRef pathValue;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTValueDelegate.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTValueDelegate.h
new file mode 100644
index 0000000..cdd5b64
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/LOTValueDelegate.h
@@ -0,0 +1,144 @@
+//
+// LOTValueDelegate.h
+// Lottie
+//
+// Created by brandon_withrow on 1/5/18.
+// Copyright © 2018 Airbnb. All rights reserved.
+//
+
+#import
+#import
+
+/*!
+ @brief LOTValueDelegate is not intended to be used directly. It is used for type safety.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+
+ Prebuild delegates can be found in LOTBlockCallback, LOTInterpolatorCallback, and LOTValueCallback. These delegates allow direct setting and driving of an animated value.
+ See LOTColorValueDelegate, LOTNumberValueDelegate, LOTPointValueDelegate, LOTSizeValueDelegate, LOTPathValueDelegate.
+ */
+
+@protocol LOTValueDelegate
+
+@end
+
+@protocol LOTColorValueDelegate
+@required
+/*!
+ @brief LOTColorValueDelegate is called at runtime to override the color value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startColor The color from the previous keyframe in relation to the current time.
+ @param endColor The color from the next keyframe in relation to the current time.
+ @param interpolatedColor The color interpolated at the current time between startColor and endColor. This represents the keypaths current color for the current time.
+ @return CGColorRef the color to set the keypath node for the current frame
+ */
+
+- (CGColorRef)colorForFrame:(CGFloat)currentFrame
+ startKeyframe:(CGFloat)startKeyframe
+ endKeyframe:(CGFloat)endKeyframe
+ interpolatedProgress:(CGFloat)interpolatedProgress
+ startColor:(CGColorRef)startColor
+ endColor:(CGColorRef)endColor
+ currentColor:(CGColorRef)interpolatedColor;
+
+
+@end
+
+@protocol LOTNumberValueDelegate
+@required
+/*!
+ @brief LOTNumberValueDelegate is called at runtime to override the number value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startValue The number from the previous keyframe in relation to the current time.
+ @param endValue The number from the next keyframe in relation to the current time.
+ @param interpolatedValue The number interpolated at the current time between startNumber and endNumber. This represents the keypaths current number for the current time.
+ @return CGFloat the number to set the keypath node for the current frame
+ */
+
+- (CGFloat)floatValueForFrame:(CGFloat)currentFrame
+ startKeyframe:(CGFloat)startKeyframe
+ endKeyframe:(CGFloat)endKeyframe
+ interpolatedProgress:(CGFloat)interpolatedProgress
+ startValue:(CGFloat)startValue
+ endValue:(CGFloat)endValue
+ currentValue:(CGFloat)interpolatedValue;
+
+@end
+
+@protocol LOTPointValueDelegate
+@required
+/*!
+ @brief LOTPointValueDelegate is called at runtime to override the point value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startPoint The point from the previous keyframe in relation to the current time.
+ @param endPoint The point from the next keyframe in relation to the current time.
+ @param interpolatedPoint The point interpolated at the current time between startPoint and endPoint. This represents the keypaths current point for the current time.
+ @return CGPoint the point to set the keypath node for the current frame
+ */
+
+- (CGPoint)pointForFrame:(CGFloat)currentFrame
+ startKeyframe:(CGFloat)startKeyframe
+ endKeyframe:(CGFloat)endKeyframe
+ interpolatedProgress:(CGFloat)interpolatedProgress
+ startPoint:(CGPoint)startPoint
+ endPoint:(CGPoint)endPoint
+ currentPoint:(CGPoint)interpolatedPoint;
+
+@end
+
+@protocol LOTSizeValueDelegate
+@required
+/*!
+ @brief LOTSizeValueDelegate is called at runtime to override the size value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startSize The size from the previous keyframe in relation to the current time.
+ @param endSize The size from the next keyframe in relation to the current time.
+ @param interpolatedSize The size interpolated at the current time between startSize and endSize. This represents the keypaths current size for the current time.
+ @return CGSize the size to set the keypath node for the current frame
+ */
+
+- (CGSize)sizeForFrame:(CGFloat)currentFrame
+ startKeyframe:(CGFloat)startKeyframe
+ endKeyframe:(CGFloat)endKeyframe
+ interpolatedProgress:(CGFloat)interpolatedProgress
+ startSize:(CGSize)startSize
+ endSize:(CGSize)endSize
+ currentSize:(CGSize)interpolatedSize;
+
+
+@end
+
+@protocol LOTPathValueDelegate
+@required
+/*!
+ @brief LOTPathValueDelegate is called at runtime to override the path value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @return CGPathRef the path to set the keypath node for the current frame
+ */
+
+- (CGPathRef)pathForFrame:(CGFloat)currentFrame
+ startKeyframe:(CGFloat)startKeyframe
+ endKeyframe:(CGFloat)endKeyframe
+ interpolatedProgress:(CGFloat)interpolatedProgress;
+
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/Lottie.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/Lottie.h
new file mode 100644
index 0000000..161ef31
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Headers/Lottie.h
@@ -0,0 +1,44 @@
+//
+// Lottie.h
+// Pods
+//
+// Created by brandon_withrow on 1/27/17.
+//
+// Dream Big.
+
+#if __has_feature(modules)
+@import Foundation;
+#else
+#import
+#endif
+
+#ifndef Lottie_h
+#define Lottie_h
+
+//! Project version number for Lottie.
+FOUNDATION_EXPORT double LottieVersionNumber;
+
+//! Project version string for Lottie.
+FOUNDATION_EXPORT const unsigned char LottieVersionString[];
+
+#include
+
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+#import "LOTAnimationTransitionController.h"
+#import "LOTAnimatedSwitch.h"
+#import "LOTAnimatedControl.h"
+#endif
+
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+#import "LOTCacheProvider.h"
+#endif
+
+#import "LOTAnimationView.h"
+#import "LOTAnimationCache.h"
+#import "LOTComposition.h"
+#import "LOTBlockCallback.h"
+#import "LOTInterpolatorCallback.h"
+#import "LOTValueCallback.h"
+#import "LOTValueDelegate.h"
+
+#endif /* Lottie_h */
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Lottie b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Lottie
new file mode 100755
index 0000000..40a44ba
Binary files /dev/null and b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Lottie differ
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Modules/module.modulemap b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Modules/module.modulemap
new file mode 100644
index 0000000..90a1ae1
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module Lottie {
+ umbrella header "Lottie.h"
+
+ export *
+ module * { export * }
+}
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Resources/Info.plist b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Resources/Info.plist
new file mode 100644
index 0000000..f98be0c
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/A/Resources/Info.plist
@@ -0,0 +1,51 @@
+
+
+
+
+ BuildMachineOSBuild
+ 20G95
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ Lottie
+ CFBundleIdentifier
+ com.airbnb.Lottie
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ Lottie
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 13A5212g
+ DTPlatformName
+ macosx
+ DTPlatformVersion
+ 12.0
+ DTSDKBuild
+ 21A5304f
+ DTSDKName
+ macosx12.0
+ DTXcode
+ 1300
+ DTXcodeBuild
+ 13A5212g
+ LSMinimumSystemVersion
+ 10.15
+ UIDeviceFamily
+
+ 2
+ 6
+
+
+
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/Current b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/Current
new file mode 120000
index 0000000..8c7e5a6
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-maccatalyst/Lottie.framework/Versions/Current
@@ -0,0 +1 @@
+A
\ No newline at end of file
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimatedControl.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimatedControl.h
new file mode 100644
index 0000000..2a14bfa
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimatedControl.h
@@ -0,0 +1,28 @@
+//
+// LOTAnimatedControl.h
+// Lottie
+//
+// Created by brandon_withrow on 8/25/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import
+
+@class LOTAnimationView;
+@class LOTComposition;
+
+@interface LOTAnimatedControl : UIControl
+
+// This class is a base class that is intended to be subclassed
+
+/**
+ * Map a specific animation layer to a control state.
+ * When the state is set all layers will be hidden except the specified layer.
+ **/
+
+- (void)setLayerName:(NSString * _Nonnull)layerName forState:(UIControlState)state;
+
+@property (nonatomic, strong, readonly, nonnull) LOTAnimationView *animationView;
+@property (nonatomic, strong, nullable) LOTComposition *animationComp;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimatedSwitch.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimatedSwitch.h
new file mode 100644
index 0000000..f313415
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimatedSwitch.h
@@ -0,0 +1,53 @@
+//
+// LOTAnimatedSwitch.h
+// Lottie
+//
+// Created by brandon_withrow on 8/25/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import "LOTAnimatedControl.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface LOTAnimatedSwitch : LOTAnimatedControl
+
+/// Convenience method to initialize a control from the Main Bundle by name
++ (instancetype _Nonnull)switchNamed:(NSString * _Nonnull)toggleName;
+
+/// Convenience method to initialize a control from the specified bundle by name
++ (instancetype _Nonnull)switchNamed:(NSString * _Nonnull)toggleName inBundle:(NSBundle * _Nonnull)bundle;
+
+
+/// The ON/OFF state of the control. Setting will toggle without animation
+@property (nonatomic, getter=isOn) BOOL on;
+
+/// Enable interactive sliding gesture for toggle
+@property (nonatomic) BOOL interactiveGesture;
+
+/// Set the state of the control with animation
+- (void)setOn:(BOOL)on animated:(BOOL)animated; // does not send action
+
+/// Styling
+
+/**
+ * Sets the animation play range for the ON state animation.
+ * fromProgress is the start of the animation
+ * toProgress is the end of the animation and also the ON static state
+ * Defaults 0-1
+ **/
+- (void)setProgressRangeForOnState:(CGFloat)fromProgress
+ toProgress:(CGFloat)toProgress NS_SWIFT_NAME(setProgressRangeForOnState(fromProgress:toProgress:));
+
+/**
+ * Sets the animation play range for the OFF state animation.
+ * fromProgress is the start of the animation
+ * toProgress is the end of the animation and also the OFF static state
+ * Defaults 1-0
+ **/
+- (void)setProgressRangeForOffState:(CGFloat)fromProgress
+ toProgress:(CGFloat)toProgress NS_SWIFT_NAME(setProgressRangeForOffState(fromProgress:toProgress:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationCache.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationCache.h
new file mode 100644
index 0000000..badcc85
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationCache.h
@@ -0,0 +1,37 @@
+//
+// LOTAnimationCache.h
+// Lottie
+//
+// Created by Brandon Withrow on 1/9/17.
+// Copyright © 2017 Brandon Withrow. All rights reserved.
+//
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class LOTComposition;
+
+@interface LOTAnimationCache : NSObject
+
+/// Global Cache
++ (instancetype)sharedCache;
+
+/// Adds animation to the cache
+- (void)addAnimation:(LOTComposition *)animation forKey:(NSString *)key;
+
+/// Returns animation from cache.
+- (LOTComposition * _Nullable)animationForKey:(NSString *)key;
+
+/// Removes a specific animation from the cache
+- (void)removeAnimationForKey:(NSString *)key;
+
+/// Clears Everything from the Cache
+- (void)clearCache;
+
+/// Disables Caching Animation Model Objects
+- (void)disableCaching;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationTransitionController.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationTransitionController.h
new file mode 100644
index 0000000..695b52a
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationTransitionController.h
@@ -0,0 +1,73 @@
+//
+// LOTAnimationTransitionController.h
+// Lottie
+//
+// Created by Brandon Withrow on 1/18/17.
+// Copyright © 2017 Brandon Withrow. All rights reserved.
+//
+
+#import
+#import
+
+/** LOTAnimationTransitionController
+ *
+ * This class creates a custom UIViewController transition animation
+ * using a Lottie animation to transition between two view controllers
+ * The transition can use custom defined layers in After Effects for to/from
+ *
+ * When referencing After Effects layers the animator masks or transforms the to/from viewController
+ * with the referenced layer.
+ *
+ */
+
+@interface LOTAnimationTransitionController : NSObject
+
+/**
+ The initializer to create a new transition animation.
+
+ @param animation The name of the Lottie Animation to load for the transition
+
+ @param fromLayer The name of the custom layer to mask the fromVC screenshot with.
+ If no layer is specified then the screenshot is added behind the Lottie Animation
+
+ @param toLayer The name of the custom layer to mask the toVC screenshot with.
+ If no layer is specified then the screenshot is added behind the Lottie Animation
+ and a fade transition is performed along with the Lottie animation.
+
+ @param applyAnimationTransform A boolean that determines if the custom layer should
+ have the transform animation from the After Effects layer applied to it. If NO the
+ layer will be masked by the After Effects Layer
+
+ */
+- (nonnull instancetype)initWithAnimationNamed:(nonnull NSString *)animation
+ fromLayerNamed:(nullable NSString *)fromLayer
+ toLayerNamed:(nullable NSString *)toLayer
+ applyAnimationTransform:(BOOL)applyAnimationTransform;
+
+/**
+ The initializer to create a new transition animation.
+
+ @param animation The name of the Lottie Animation to load for the transition
+
+ @param fromLayer The name of the custom layer to mask the fromVC screenshot with.
+ If no layer is specified then the screenshot is added behind the Lottie Animation
+
+ @param toLayer The name of the custom layer to mask the toVC screenshot with.
+ If no layer is specified then the screenshot is added behind the Lottie Animation
+ and a fade transition is performed along with the Lottie animation.
+
+ @param applyAnimationTransform A boolean that determines if the custom layer should
+ have the transform animation from the After Effects layer applied to it. If NO the
+ layer will be masked by the After Effects Layer
+
+ @param bundle custom bundle to load animation and images, if no bundle is specified will load
+ from mainBundle
+ */
+- (instancetype _Nonnull)initWithAnimationNamed:(NSString *_Nonnull)animation
+ fromLayerNamed:(NSString *_Nullable)fromLayer
+ toLayerNamed:(NSString *_Nullable)toLayer
+ applyAnimationTransform:(BOOL)applyAnimationTransform
+ inBundle:(NSBundle *_Nonnull)bundle;
+
+@end
+
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationView.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationView.h
new file mode 100644
index 0000000..1993ce2
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationView.h
@@ -0,0 +1,252 @@
+//
+// LOTAnimationView
+// LottieAnimator
+//
+// Created by Brandon Withrow on 12/14/15.
+// Copyright © 2015 Brandon Withrow. All rights reserved.
+// Dream Big.
+
+#import
+#import "LOTAnimationView_Compat.h"
+#import "LOTComposition.h"
+#import "LOTKeypath.h"
+#import "LOTValueDelegate.h"
+
+typedef void (^LOTAnimationCompletionBlock)(BOOL animationFinished);
+
+@interface LOTAnimationView : LOTView
+
+/// Load animation by name from the default bundle, Images are also loaded from the bundle
++ (nonnull instancetype)animationNamed:(nonnull NSString *)animationName NS_SWIFT_NAME(init(name:));
+
+/// Loads animation by name from specified bundle, Images are also loaded from the bundle
++ (nonnull instancetype)animationNamed:(nonnull NSString *)animationName inBundle:(nonnull NSBundle *)bundle NS_SWIFT_NAME(init(name:bundle:));
+
+/// Creates an animation from the deserialized JSON Dictionary
++ (nonnull instancetype)animationFromJSON:(nonnull NSDictionary *)animationJSON NS_SWIFT_NAME(init(json:));
+
+/// Loads an animation from a specific file path. WARNING Do not use a web URL for file path.
++ (nonnull instancetype)animationWithFilePath:(nonnull NSString *)filePath NS_SWIFT_NAME(init(filePath:));
+
+/// Creates an animation from the deserialized JSON Dictionary, images are loaded from the specified bundle
++ (nonnull instancetype)animationFromJSON:(nullable NSDictionary *)animationJSON inBundle:(nullable NSBundle *)bundle NS_SWIFT_NAME(init(json:bundle:));
+
+/// Creates an animation from the LOTComposition, images are loaded from the specified bundle
+- (nonnull instancetype)initWithModel:(nullable LOTComposition *)model inBundle:(nullable NSBundle *)bundle;
+
+/// Loads animation asynchronously from the specified URL
+- (nonnull instancetype)initWithContentsOfURL:(nonnull NSURL *)url;
+
+/// Set animation name from Interface Builder
+@property (nonatomic, strong) IBInspectable NSString * _Nullable animation;
+
+/// Load animation by name from the default bundle. Use when loading LOTAnimationView via Interface Builder.
+- (void)setAnimationNamed:(nonnull NSString *)animationName NS_SWIFT_NAME(setAnimation(named:));
+
+/// Load animation by name from a specific bundle.
+- (void)setAnimationNamed:(nonnull NSString *)animationName inBundle:(nullable NSBundle *)bundle NS_SWIFT_NAME(setAnimation(named:bundle:));
+
+/// Load animation from a JSON dictionary
+- (void)setAnimationFromJSON:(nonnull NSDictionary *)animationJSON NS_SWIFT_NAME(setAnimation(json:));
+
+/// Load animation from a JSON dictionary from a specific bundle
+- (void)setAnimationFromJSON:(nonnull NSDictionary *)animationJSON inBundle:(nullable NSBundle *)bundle NS_SWIFT_NAME(setAnimation(json:bundle:));
+
+/// Flag is YES when the animation is playing
+@property (nonatomic, readonly) BOOL isAnimationPlaying;
+
+/// Tells the animation to loop indefinitely. Defaults to NO.
+@property (nonatomic, assign) BOOL loopAnimation;
+
+/// The animation will play forward and then backwards if loopAnimation is also YES
+@property (nonatomic, assign) BOOL autoReverseAnimation;
+
+/// Sets a progress from 0 - 1 of the animation. If the animation is playing it will stop and the completion block will be called.
+/// The current progress of the animation in absolute time.
+/// e.g. a value of 0.75 always represents the same point in the animation, regardless of positive
+/// or negative speed.
+@property (nonatomic, assign) CGFloat animationProgress;
+
+/// Sets the speed of the animation. Accepts a negative value for reversing animation.
+@property (nonatomic, assign) CGFloat animationSpeed;
+
+/// Read only of the duration in seconds of the animation at speed of 1
+@property (nonatomic, readonly) CGFloat animationDuration;
+
+/// Enables or disables caching of the backing animation model. Defaults to YES
+@property (nonatomic, assign) BOOL cacheEnable;
+
+/// Sets a completion block to call when the animation has completed
+@property (nonatomic, copy, nullable) LOTAnimationCompletionBlock completionBlock;
+
+/// Set the animation data
+@property (nonatomic, strong, nullable) LOTComposition *sceneModel;
+
+/// Sets sholdRasterize to YES on the animation layer to improve compositioning performance when not animating.
+/// Note this will not produce crisp results at resolutions above the animations set resolution.
+/// Defaults to NO
+@property (nonatomic, assign) BOOL shouldRasterizeWhenIdle;
+
+/*
+ * Plays the animation from its current position to a specific progress.
+ * The animation will start from its current position.
+ * If loopAnimation is YES the animation will loop from start position to toProgress indefinitely.
+ * If loopAnimation is NO the animation will stop and the completion block will be called.
+ */
+- (void)playToProgress:(CGFloat)toProgress
+ withCompletion:(nullable LOTAnimationCompletionBlock)completion;
+
+/*
+ * Plays the animation from specific progress to a specific progress
+ * The animation will start from its current position..
+ * If loopAnimation is YES the animation will loop from the startProgress to the endProgress indefinitely
+ * If loopAnimation is NO the animation will stop and the completion block will be called.
+ */
+- (void)playFromProgress:(CGFloat)fromStartProgress
+ toProgress:(CGFloat)toEndProgress
+ withCompletion:(nullable LOTAnimationCompletionBlock)completion;
+
+/*
+ * Plays the animation from its current position to a specific frame.
+ * The animation will start from its current position.
+ * If loopAnimation is YES the animation will loop from beginning to toFrame indefinitely.
+ * If loopAnimation is NO the animation will stop and the completion block will be called.
+ */
+- (void)playToFrame:(nonnull NSNumber *)toFrame
+ withCompletion:(nullable LOTAnimationCompletionBlock)completion;
+
+/*
+ * Plays the animation from specific frame to a specific frame.
+ * The animation will start from its current position.
+ * If loopAnimation is YES the animation will loop start frame to end frame indefinitely.
+ * If loopAnimation is NO the animation will stop and the completion block will be called.
+ */
+- (void)playFromFrame:(nonnull NSNumber *)fromStartFrame
+ toFrame:(nonnull NSNumber *)toEndFrame
+ withCompletion:(nullable LOTAnimationCompletionBlock)completion;
+
+
+/**
+ * Plays the animation from its current position to the end of the animation.
+ * The animation will start from its current position.
+ * If loopAnimation is YES the animation will loop from beginning to end indefinitely.
+ * If loopAnimation is NO the animation will stop and the completion block will be called.
+ **/
+- (void)playWithCompletion:(nullable LOTAnimationCompletionBlock)completion;
+
+/// Plays the animation
+- (void)play;
+
+/// Stops the animation at the current frame. The completion block will be called.
+- (void)pause;
+
+/// Stops the animation and rewinds to the beginning. The completion block will be called.
+- (void)stop;
+
+/// Sets progress of animation to a specific frame. If the animation is playing it will stop and the completion block will be called.
+- (void)setProgressWithFrame:(nonnull NSNumber *)currentFrame;
+
+/// Forces a layout and drawing update for the current frame.
+- (void)forceDrawingUpdate;
+
+/// Logs all child keypaths
+- (void)logHierarchyKeypaths;
+
+/*!
+ @brief Sets a LOTValueDelegate for each animation property returned from the LOTKeypath search. LOTKeypath matches views inside of LOTAnimationView to their After Effects counterparts. The LOTValueDelegate is called every frame as the animation plays to override animation values. A delegate can be any object that conforms to the LOTValueDelegate protocol, or one of the prebuilt delegate classes found in LOTBlockCallback, LOTInterpolatorCallback, and LOTValueCallback.
+
+ @discussion
+ Example that sets an animated stroke to Red using a LOTColorValueCallback.
+ @code
+ LOTKeypath *keypath = [LOTKeypath keypathWithKeys:@"Layer 1", @"Ellipse 1", @"Stroke 1", @"Color", nil];
+ LOTColorValueCallback *colorCallback = [LOTColorBlockCallback withColor:[UIColor redColor]];
+ [animationView setValueDelegate:colorCallback forKeypath:keypath];
+ @endcode
+
+ See the documentation for LOTValueDelegate to see how to create LOTValueCallbacks. A delegate can be any object that conforms to the LOTValueDelegate protocol, or one of the prebuilt delegate classes found in LOTBlockCallback, LOTInterpolatorCallback, and LOTValueCallback.
+
+ See the documentation for LOTKeypath to learn more about how to create keypaths.
+
+ NOTE: The delegate is weakly retained. Be sure that the creator of a delegate is retained.
+ Read More at http://airbnb.io/lottie/ios/dynamic.html
+ */
+- (void)setValueDelegate:(id _Nonnull)delegates
+ forKeypath:(LOTKeypath * _Nonnull)keypath;
+
+/*!
+ @brief returns the string representation of every keypath matching the LOTKeypath search.
+ */
+- (nullable NSArray *)keysForKeyPath:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Converts a CGPoint from the Animation views top coordinate space into the coordinate space of the specified renderable animation node.
+ */
+- (CGPoint)convertPoint:(CGPoint)point
+ toKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Converts a CGRect from the Animation views top coordinate space into the coordinate space of the specified renderable animation node.
+ */
+- (CGRect)convertRect:(CGRect)rect
+ toKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Converts a CGPoint to the Animation views top coordinate space from the coordinate space of the specified renderable animation node.
+ */
+- (CGPoint)convertPoint:(CGPoint)point
+ fromKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Converts a CGRect to the Animation views top coordinate space from the coordinate space of the specified renderable animation node.
+ */
+- (CGRect)convertRect:(CGRect)rect
+ fromKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Adds a UIView, or NSView, to the renderable layer found at the Keypath
+ */
+- (void)addSubview:(nonnull LOTView *)view
+ toKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+/*!
+ @brief Adds a UIView, or NSView, to the parent renderable layer found at the Keypath and then masks the view with layer found at the keypath.
+ */
+- (void)maskSubview:(nonnull LOTView *)view
+ toKeypathLayer:(nonnull LOTKeypath *)keypath;
+
+#if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR
+@property (nonatomic) LOTViewContentMode contentMode;
+#endif
+
+/*!
+ @brief Sets the keyframe value for a specific After Effects property at a given time. NOTE: Deprecated. Use setValueDelegate:forKeypath:
+ @discussion NOTE: Deprecated and non functioning. Use setValueDelegate:forKeypath:
+ @param value Value is the color, point, or number object that should be set at given time
+ @param keypath NSString . separate keypath The Keypath is a dot separated key path that specifies the location of the key to be set from the After Effects file. This will begin with the Layer Name. EG "Layer 1.Shape 1.Fill 1.Color"
+ @param frame The frame is the frame to be set. If the keyframe exists it will be overwritten, if it does not exist a new linearly interpolated keyframe will be added
+ */
+- (void)setValue:(nonnull id)value
+ forKeypath:(nonnull NSString *)keypath
+ atFrame:(nullable NSNumber *)frame __deprecated;
+
+/*!
+ @brief Adds a custom subview to the animation using a LayerName from After Effect as a reference point.
+ @discussion NOTE: Deprecated. Use addSubview:toKeypathLayer: or maskSubview:toKeypathLayer:
+ @param view The custom view instance to be added
+
+ @param layer The string name of the After Effects layer to be referenced.
+
+ @param applyTransform If YES the custom view will be animated to move with the specified After Effects layer. If NO the custom view will be masked by the After Effects layer
+ */
+- (void)addSubview:(nonnull LOTView *)view
+ toLayerNamed:(nonnull NSString *)layer
+ applyTransform:(BOOL)applyTransform __deprecated;
+
+/*!
+ @brief Converts the given CGRect from the receiving animation view's coordinate space to the supplied layer's coordinate space If layerName is null then the rect will be converted to the composition coordinate system. This is helpful when adding custom subviews to a LOTAnimationView
+ @discussion NOTE: Deprecated. Use convertRect:fromKeypathLayer:
+ */
+- (CGRect)convertRect:(CGRect)rect
+ toLayerNamed:(NSString *_Nullable)layerName __deprecated;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationView_Compat.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationView_Compat.h
new file mode 100644
index 0000000..20cf2e7
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTAnimationView_Compat.h
@@ -0,0 +1,36 @@
+//
+// LOTAnimationView_Compat.h
+// Lottie
+//
+// Created by Oleksii Pavlovskyi on 2/2/17.
+// Copyright (c) 2017 Airbnb. All rights reserved.
+//
+
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+
+#import
+@compatibility_alias LOTView UIView;
+
+#else
+
+#import
+@compatibility_alias LOTView NSView;
+
+typedef NS_ENUM(NSInteger, LOTViewContentMode) {
+ LOTViewContentModeScaleToFill,
+ LOTViewContentModeScaleAspectFit,
+ LOTViewContentModeScaleAspectFill,
+ LOTViewContentModeRedraw,
+ LOTViewContentModeCenter,
+ LOTViewContentModeTop,
+ LOTViewContentModeBottom,
+ LOTViewContentModeLeft,
+ LOTViewContentModeRight,
+ LOTViewContentModeTopLeft,
+ LOTViewContentModeTopRight,
+ LOTViewContentModeBottomLeft,
+ LOTViewContentModeBottomRight,
+};
+
+#endif
+
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTBlockCallback.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTBlockCallback.h
new file mode 100644
index 0000000..067ecc5
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTBlockCallback.h
@@ -0,0 +1,160 @@
+//
+// LOTBlockCallback.h
+// Lottie
+//
+// Created by brandon_withrow on 12/15/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import
+#import
+#import "LOTValueDelegate.h"
+
+/*!
+ @brief A block that is used to change a Color value at keytime, the block is called continuously for a keypath while the animation plays.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startColor The color from the previous keyframe in relation to the current time.
+ @param endColor The color from the next keyframe in relation to the current time.
+ @param interpolatedColor The color interpolated at the current time between startColor and endColor. This represents the keypaths current color for the current time.
+ @return CGColorRef the color to set the keypath node for the current frame
+ */
+typedef CGColorRef _Nonnull (^LOTColorValueCallbackBlock)(CGFloat currentFrame,
+ CGFloat startKeyFrame,
+ CGFloat endKeyFrame,
+ CGFloat interpolatedProgress,
+ CGColorRef _Nullable startColor,
+ CGColorRef _Nullable endColor,
+ CGColorRef _Nullable interpolatedColor);
+
+/*!
+ @brief A block that is used to change a Number value at keytime, the block is called continuously for a keypath while the animation plays.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startValue The Number from the previous keyframe in relation to the current time.
+ @param endValue The Number from the next keyframe in relation to the current time.
+ @param interpolatedValue The Number interpolated at the current time between startValue and endValue. This represents the keypaths current Number for the current time.
+ @return CGFloat the number to set the keypath node for the current frame
+ */
+typedef CGFloat (^LOTNumberValueCallbackBlock)(CGFloat currentFrame,
+ CGFloat startKeyFrame,
+ CGFloat endKeyFrame,
+ CGFloat interpolatedProgress,
+ CGFloat startValue,
+ CGFloat endValue,
+ CGFloat interpolatedValue);
+/*!
+ @brief A block that is used to change a Point value at keytime, the block is called continuously for a keypath while the animation plays.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startPoint The Point from the previous keyframe in relation to the current time.
+ @param endPoint The Point from the next keyframe in relation to the current time.
+ @param interpolatedPoint The Point interpolated at the current time between startPoint and endPoint. This represents the keypaths current Point for the current time.
+ @return CGPoint the point to set the keypath node for the current frame.
+ */
+typedef CGPoint (^LOTPointValueCallbackBlock)(CGFloat currentFrame,
+ CGFloat startKeyFrame,
+ CGFloat endKeyFrame,
+ CGFloat interpolatedProgress,
+ CGPoint startPoint,
+ CGPoint endPoint,
+ CGPoint interpolatedPoint);
+
+/*!
+ @brief A block that is used to change a Size value at keytime, the block is called continuously for a keypath while the animation plays.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startSize The Size from the previous keyframe in relation to the current time.
+ @param endSize The Size from the next keyframe in relation to the current time.
+ @param interpolatedSize The Size interpolated at the current time between startSize and endSize. This represents the keypaths current Size for the current time.
+ @return CGSize the size to set the keypath node for the current frame.
+ */
+typedef CGSize (^LOTSizeValueCallbackBlock)(CGFloat currentFrame,
+ CGFloat startKeyFrame,
+ CGFloat endKeyFrame,
+ CGFloat interpolatedProgress,
+ CGSize startSize,
+ CGSize endSize,
+ CGSize interpolatedSize);
+
+/*!
+ @brief A block that is used to change a Path value at keytime, the block is called continuously for a keypath while the animation plays.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyFrame When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyFrame When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @return UIBezierPath the path to set the keypath node for the current frame.
+ */
+typedef CGPathRef _Nonnull (^LOTPathValueCallbackBlock)(CGFloat currentFrame,
+ CGFloat startKeyFrame,
+ CGFloat endKeyFrame,
+ CGFloat interpolatedProgress);
+
+/*!
+ @brief LOTColorValueCallback is wrapper around a LOTColorValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's color keypath at runtime.
+ */
+
+@interface LOTColorBlockCallback : NSObject
+
++ (instancetype _Nonnull)withBlock:(LOTColorValueCallbackBlock _Nonnull )block NS_SWIFT_NAME(init(block:));
+
+@property (nonatomic, copy, nonnull) LOTColorValueCallbackBlock callback;
+
+@end
+
+/*!
+ @brief LOTNumberValueCallback is wrapper around a LOTNumberValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's number keypath at runtime.
+ */
+
+@interface LOTNumberBlockCallback : NSObject
+
++ (instancetype _Nonnull)withBlock:(LOTNumberValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:));
+
+@property (nonatomic, copy, nonnull) LOTNumberValueCallbackBlock callback;
+
+@end
+
+/*!
+ @brief LOTPointValueCallback is wrapper around a LOTPointValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's point keypath at runtime.
+ */
+
+@interface LOTPointBlockCallback : NSObject
+
++ (instancetype _Nonnull)withBlock:(LOTPointValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:));
+
+@property (nonatomic, copy, nonnull) LOTPointValueCallbackBlock callback;
+
+@end
+
+/*!
+ @brief LOTSizeValueCallback is wrapper around a LOTSizeValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's size keypath at runtime.
+ */
+
+@interface LOTSizeBlockCallback : NSObject
+
++ (instancetype _Nonnull)withBlock:(LOTSizeValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:));
+
+@property (nonatomic, copy, nonnull) LOTSizeValueCallbackBlock callback;
+
+@end
+
+/*!
+ @brief LOTPathValueCallback is wrapper around a LOTPathValueCallbackBlock. This block can be used in conjunction with LOTAnimationView setValueDelegate:forKeypath to dynamically change an animation's path keypath at runtime.
+ */
+
+@interface LOTPathBlockCallback : NSObject
+
++ (instancetype _Nonnull)withBlock:(LOTPathValueCallbackBlock _Nonnull)block NS_SWIFT_NAME(init(block:));
+
+@property (nonatomic, copy, nonnull) LOTPathValueCallbackBlock callback;
+
+@end
+
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTCacheProvider.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTCacheProvider.h
new file mode 100644
index 0000000..3857226
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTCacheProvider.h
@@ -0,0 +1,40 @@
+//
+// LOTCacheProvider.h
+// Lottie
+//
+// Created by punmy on 2017/7/8.
+//
+//
+
+#import
+
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+
+#import
+@compatibility_alias LOTImage UIImage;
+
+@protocol LOTImageCache;
+
+#pragma mark - LOTCacheProvider
+
+@interface LOTCacheProvider : NSObject
+
++ (id)imageCache;
++ (void)setImageCache:(id)cache;
+
+@end
+
+#pragma mark - LOTImageCache
+
+/**
+ This protocol represent the interface of a image cache which lottie can use.
+ */
+@protocol LOTImageCache
+
+@required
+- (LOTImage *)imageForKey:(NSString *)key;
+- (void)setImage:(LOTImage *)image forKey:(NSString *)key;
+
+@end
+
+#endif
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTComposition.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTComposition.h
new file mode 100644
index 0000000..9fad038
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTComposition.h
@@ -0,0 +1,49 @@
+//
+// LOTScene.h
+// LottieAnimator
+//
+// Created by Brandon Withrow on 12/14/15.
+// Copyright © 2015 Brandon Withrow. All rights reserved.
+//
+
+#import
+#import
+
+@class LOTLayerGroup;
+@class LOTLayer;
+@class LOTAssetGroup;
+
+@interface LOTComposition : NSObject
+
+/// Load animation by name from the default bundle, Images are also loaded from the bundle
++ (nullable instancetype)animationNamed:(nonnull NSString *)animationName NS_SWIFT_NAME(init(name:));
+
+/// Loads animation by name from specified bundle, Images are also loaded from the bundle
++ (nullable instancetype)animationNamed:(nonnull NSString *)animationName
+ inBundle:(nonnull NSBundle *)bundle NS_SWIFT_NAME(init(name:bundle:));
+
+/// Loads an animation from a specific file path. WARNING Do not use a web URL for file path.
++ (nullable instancetype)animationWithFilePath:(nonnull NSString *)filePath NS_SWIFT_NAME(init(filePath:));
+
+/// Creates an animation from the deserialized JSON Dictionary
++ (nonnull instancetype)animationFromJSON:(nonnull NSDictionary *)animationJSON NS_SWIFT_NAME(init(json:));
+
+/// Creates an animation from the deserialized JSON Dictionary, images are loaded from the specified bundle
++ (nonnull instancetype)animationFromJSON:(nullable NSDictionary *)animationJSON
+ inBundle:(nullable NSBundle *)bundle NS_SWIFT_NAME(init(json:bundle:));
+
+- (instancetype _Nonnull)initWithJSON:(NSDictionary * _Nullable)jsonDictionary
+ withAssetBundle:(NSBundle * _Nullable)bundle;
+
+@property (nonatomic, readonly) CGRect compBounds;
+@property (nonatomic, strong, readonly, nullable) NSNumber *startFrame;
+@property (nonatomic, strong, readonly, nullable) NSNumber *endFrame;
+@property (nonatomic, strong, readonly, nullable) NSNumber *framerate;
+@property (nonatomic, readonly) NSTimeInterval timeDuration;
+@property (nonatomic, strong, readonly, nullable) LOTLayerGroup *layerGroup;
+@property (nonatomic, strong, readonly, nullable) LOTAssetGroup *assetGroup;
+@property (nonatomic, strong, readwrite, nullable) NSString *rootDirectory;
+@property (nonatomic, strong, readonly, nullable) NSBundle *assetBundle;
+@property (nonatomic, copy, nullable) NSString *cacheKey;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTInterpolatorCallback.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTInterpolatorCallback.h
new file mode 100644
index 0000000..5d4b550
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTInterpolatorCallback.h
@@ -0,0 +1,71 @@
+//
+// LOTInterpolatorCallback.h
+// Lottie
+//
+// Created by brandon_withrow on 12/15/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import
+#import
+#import "LOTValueDelegate.h"
+
+/*!
+ @brief LOTPointInterpolatorCallback is a container for a CGPointRef. This container is a LOTPointValueDelegate that will return the point interpolated at currentProgress between fromPoint and toPoint. Externally changing currentProgress will change the point of the animation.
+ @discussion LOTPointInterpolatorCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypoint to set a point value of an animation property.
+ */
+
+@interface LOTPointInterpolatorCallback : NSObject
+
++ (instancetype _Nonnull)withFromPoint:(CGPoint)fromPoint toPoint:(CGPoint)toPoint NS_SWIFT_NAME(init(from:to:));
+
+@property (nonatomic) CGPoint fromPoint;
+@property (nonatomic) CGPoint toPoint;
+
+/*!
+ @brief As currentProgress changes from 0 to 1 the point sent to the animation view is interpolated between fromPoint and toPoint.
+ */
+
+@property (nonatomic, assign) CGFloat currentProgress;
+
+@end
+
+/*!
+ @brief LOTSizeInterpolatorCallback is a container for a CGSizeRef. This container is a LOTSizeValueDelegate that will return the size interpolated at currentProgress between fromSize and toSize. Externally changing currentProgress will change the size of the animation.
+ @discussion LOTSizeInterpolatorCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeysize to set a size value of an animation property.
+ */
+
+@interface LOTSizeInterpolatorCallback : NSObject
+
++ (instancetype _Nonnull)withFromSize:(CGSize)fromSize toSize:(CGSize)toSize NS_SWIFT_NAME(init(from:to:));
+
+@property (nonatomic) CGSize fromSize;
+@property (nonatomic) CGSize toSize;
+
+/*!
+ @brief As currentProgress changes from 0 to 1 the size sent to the animation view is interpolated between fromSize and toSize.
+ */
+
+@property (nonatomic, assign) CGFloat currentProgress;
+
+@end
+
+/*!
+ @brief LOTFloatInterpolatorCallback is a container for a CGFloatRef. This container is a LOTFloatValueDelegate that will return the float interpolated at currentProgress between fromFloat and toFloat. Externally changing currentProgress will change the float of the animation.
+ @discussion LOTFloatInterpolatorCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeyfloat to set a float value of an animation property.
+ */
+
+@interface LOTFloatInterpolatorCallback : NSObject
+
++ (instancetype _Nonnull)withFromFloat:(CGFloat)fromFloat toFloat:(CGFloat)toFloat NS_SWIFT_NAME(init(from:to:));
+
+@property (nonatomic) CGFloat fromFloat;
+@property (nonatomic) CGFloat toFloat;
+
+/*!
+ @brief As currentProgress changes from 0 to 1 the float sent to the animation view is interpolated between fromFloat and toFloat.
+ */
+
+@property (nonatomic, assign) CGFloat currentProgress;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTKeypath.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTKeypath.h
new file mode 100644
index 0000000..9c5b7a4
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTKeypath.h
@@ -0,0 +1,83 @@
+//
+// LOTKeypath.h
+// Lottie_iOS
+//
+// Created by brandon_withrow on 12/13/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import
+
+extern NSString * _Nonnull const kLOTKeypathEnd;
+
+/*!
+ @brief LOTKeypath is an object that describes a keypath search for nodes in the animation JSON. LOTKeypath matches views inside of LOTAnimationView to their After Effects counterparts.
+
+ @discussion
+ LOTKeypath is used with LOTAnimationView to set animation properties dynamically at runtime, to add or mask subviews, converting geometry, and numerous other functions.
+
+ LOTKeypath can describe a specific object, or can use wildcards for fuzzy matching of objects. Acceptable wildcards are either "*" (star) or "**" (double star). Single star will search a single depth for the next object, double star will search any depth.
+
+ Read More at http://airbnb.io/lottie/ios/dynamic.html
+
+ EG:
+ @"Layer.Shape Group.Stroke 1.Color"
+ Represents a specific color node on a specific stroke.
+
+ @"**.Stroke 1.Color"
+ Represents the color node for every "Stroke 1" in the animation scene.
+
+ */
+
+@interface LOTKeypath : NSObject
+
+/*!
+ @brief Creates a LOTKeypath from a dot separated string, can use wildcards @"*" and fuzzy depth wild cards @"**".
+
+ @discussion LOTKeypath is an object that describes a keypath search for nodes in the animation JSON.
+
+ LOTKeypath is used with LOTAnimationView to set animation properties dynamically at runtime, to add or mask subviews, converting geometry, and numerous other functions.
+
+ LOTKeypath can describe a specific object, or can use wildcards for fuzzy matching of objects. Acceptable wildcards are either "*" (star) or "**" (double star). Single star will search a single depth for the next object, double star will search any depth.
+
+ @param keypath A dot separated string describing a keypath from the JSON animation. EG @"Layer.Shape Group.Stroke 1.Color"
+
+ @return A new LOTKeypath
+ */
+
++ (nonnull LOTKeypath *)keypathWithString:(nonnull NSString *)keypath;
+
+/*!
+ @brief Creates a LOTKeypath from a list of keypath string objects, can use wildcards @"*" and fuzzy depth wild cards @"**".
+
+ @discussion LOTKeypath is an object that describes a keypath search for nodes in the animation JSON.
+
+ LOTKeypath is used with LOTAnimationView to set animation properties dynamically at runtime, to add or mask subviews, converting geometry, and numerous other functions.
+
+ LOTKeypath can describe a specific object, or can use wildcards for fuzzy matching of objects. Acceptable wildcards are either "*" (star) or "**" (double star). Single star will search a single depth for the next object, double star will search any depth.
+
+ @param firstKey A nil terminated list of strings describing a keypath. EG @"Layer", @"Shape Group", @"Stroke 1", @"Color", nil
+
+ @return A new LOTKeypath
+ */
+
++ (nonnull LOTKeypath *)keypathWithKeys:(nonnull NSString *)firstKey, ...
+ NS_REQUIRES_NIL_TERMINATION;
+
+@property (nonatomic, readonly, nonnull) NSString *absoluteKeypath;
+@property (nonatomic, readonly, nonnull) NSString *currentKey;
+@property (nonatomic, readonly, nonnull) NSString *currentKeyPath;
+
+@property (nonatomic, readonly, nonnull) NSDictionary *searchResults;
+
+@property (nonatomic, readonly) BOOL hasFuzzyWildcard;
+@property (nonatomic, readonly) BOOL hasWildcard;
+@property (nonatomic, readonly) BOOL endOfKeypath;
+
+- (BOOL)pushKey:(nonnull NSString *)key;
+- (void)popKey;
+- (void)popToRootKey;
+
+- (void)addSearchResultForCurrentPath:(id _Nonnull)result;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTValueCallback.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTValueCallback.h
new file mode 100644
index 0000000..05cb262
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTValueCallback.h
@@ -0,0 +1,76 @@
+//
+// LOTValueCallback.h
+// Lottie
+//
+// Created by brandon_withrow on 12/15/17.
+// Copyright © 2017 Airbnb. All rights reserved.
+//
+
+#import
+#import
+#import "LOTValueDelegate.h"
+
+/*!
+ @brief LOTColorValueCallback is a container for a CGColorRef. This container is a LOTColorValueDelegate that always returns the colorValue property to its animation delegate.
+ @discussion LOTColorValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a color value of an animation property.
+ */
+
+@interface LOTColorValueCallback : NSObject
+
++ (instancetype _Nonnull)withCGColor:(CGColorRef _Nonnull)color NS_SWIFT_NAME(init(color:));
+
+@property (nonatomic, nonnull) CGColorRef colorValue;
+
+@end
+
+/*!
+ @brief LOTNumberValueCallback is a container for a CGFloat value. This container is a LOTNumberValueDelegate that always returns the numberValue property to its animation delegate.
+ @discussion LOTNumberValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a number value of an animation property.
+ */
+
+@interface LOTNumberValueCallback : NSObject
+
++ (instancetype _Nonnull)withFloatValue:(CGFloat)numberValue NS_SWIFT_NAME(init(number:));
+
+@property (nonatomic, assign) CGFloat numberValue;
+
+@end
+
+/*!
+ @brief LOTPointValueCallback is a container for a CGPoint value. This container is a LOTPointValueDelegate that always returns the pointValue property to its animation delegate.
+ @discussion LOTPointValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a point value of an animation property.
+ */
+
+@interface LOTPointValueCallback : NSObject
+
++ (instancetype _Nonnull)withPointValue:(CGPoint)pointValue;
+
+@property (nonatomic, assign) CGPoint pointValue;
+
+@end
+
+/*!
+ @brief LOTSizeValueCallback is a container for a CGSize value. This container is a LOTSizeValueDelegate that always returns the sizeValue property to its animation delegate.
+ @discussion LOTSizeValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a size value of an animation property.
+ */
+
+@interface LOTSizeValueCallback : NSObject
+
++ (instancetype _Nonnull)withPointValue:(CGSize)sizeValue NS_SWIFT_NAME(init(size:));
+
+@property (nonatomic, assign) CGSize sizeValue;
+
+@end
+
+/*!
+ @brief LOTPathValueCallback is a container for a CGPathRef value. This container is a LOTPathValueDelegate that always returns the pathValue property to its animation delegate.
+ @discussion LOTPathValueCallback is used in conjunction with LOTAnimationView setValueDelegate:forKeypath to set a path value of an animation property.
+ */
+
+@interface LOTPathValueCallback : NSObject
+
++ (instancetype _Nonnull)withCGPath:(CGPathRef _Nonnull)path NS_SWIFT_NAME(init(path:));
+
+@property (nonatomic, nonnull) CGPathRef pathValue;
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTValueDelegate.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTValueDelegate.h
new file mode 100644
index 0000000..cdd5b64
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/LOTValueDelegate.h
@@ -0,0 +1,144 @@
+//
+// LOTValueDelegate.h
+// Lottie
+//
+// Created by brandon_withrow on 1/5/18.
+// Copyright © 2018 Airbnb. All rights reserved.
+//
+
+#import
+#import
+
+/*!
+ @brief LOTValueDelegate is not intended to be used directly. It is used for type safety.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+
+ Prebuild delegates can be found in LOTBlockCallback, LOTInterpolatorCallback, and LOTValueCallback. These delegates allow direct setting and driving of an animated value.
+ See LOTColorValueDelegate, LOTNumberValueDelegate, LOTPointValueDelegate, LOTSizeValueDelegate, LOTPathValueDelegate.
+ */
+
+@protocol LOTValueDelegate
+
+@end
+
+@protocol LOTColorValueDelegate
+@required
+/*!
+ @brief LOTColorValueDelegate is called at runtime to override the color value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startColor The color from the previous keyframe in relation to the current time.
+ @param endColor The color from the next keyframe in relation to the current time.
+ @param interpolatedColor The color interpolated at the current time between startColor and endColor. This represents the keypaths current color for the current time.
+ @return CGColorRef the color to set the keypath node for the current frame
+ */
+
+- (CGColorRef)colorForFrame:(CGFloat)currentFrame
+ startKeyframe:(CGFloat)startKeyframe
+ endKeyframe:(CGFloat)endKeyframe
+ interpolatedProgress:(CGFloat)interpolatedProgress
+ startColor:(CGColorRef)startColor
+ endColor:(CGColorRef)endColor
+ currentColor:(CGColorRef)interpolatedColor;
+
+
+@end
+
+@protocol LOTNumberValueDelegate
+@required
+/*!
+ @brief LOTNumberValueDelegate is called at runtime to override the number value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startValue The number from the previous keyframe in relation to the current time.
+ @param endValue The number from the next keyframe in relation to the current time.
+ @param interpolatedValue The number interpolated at the current time between startNumber and endNumber. This represents the keypaths current number for the current time.
+ @return CGFloat the number to set the keypath node for the current frame
+ */
+
+- (CGFloat)floatValueForFrame:(CGFloat)currentFrame
+ startKeyframe:(CGFloat)startKeyframe
+ endKeyframe:(CGFloat)endKeyframe
+ interpolatedProgress:(CGFloat)interpolatedProgress
+ startValue:(CGFloat)startValue
+ endValue:(CGFloat)endValue
+ currentValue:(CGFloat)interpolatedValue;
+
+@end
+
+@protocol LOTPointValueDelegate
+@required
+/*!
+ @brief LOTPointValueDelegate is called at runtime to override the point value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startPoint The point from the previous keyframe in relation to the current time.
+ @param endPoint The point from the next keyframe in relation to the current time.
+ @param interpolatedPoint The point interpolated at the current time between startPoint and endPoint. This represents the keypaths current point for the current time.
+ @return CGPoint the point to set the keypath node for the current frame
+ */
+
+- (CGPoint)pointForFrame:(CGFloat)currentFrame
+ startKeyframe:(CGFloat)startKeyframe
+ endKeyframe:(CGFloat)endKeyframe
+ interpolatedProgress:(CGFloat)interpolatedProgress
+ startPoint:(CGPoint)startPoint
+ endPoint:(CGPoint)endPoint
+ currentPoint:(CGPoint)interpolatedPoint;
+
+@end
+
+@protocol LOTSizeValueDelegate
+@required
+/*!
+ @brief LOTSizeValueDelegate is called at runtime to override the size value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @param startSize The size from the previous keyframe in relation to the current time.
+ @param endSize The size from the next keyframe in relation to the current time.
+ @param interpolatedSize The size interpolated at the current time between startSize and endSize. This represents the keypaths current size for the current time.
+ @return CGSize the size to set the keypath node for the current frame
+ */
+
+- (CGSize)sizeForFrame:(CGFloat)currentFrame
+ startKeyframe:(CGFloat)startKeyframe
+ endKeyframe:(CGFloat)endKeyframe
+ interpolatedProgress:(CGFloat)interpolatedProgress
+ startSize:(CGSize)startSize
+ endSize:(CGSize)endSize
+ currentSize:(CGSize)interpolatedSize;
+
+
+@end
+
+@protocol LOTPathValueDelegate
+@required
+/*!
+ @brief LOTPathValueDelegate is called at runtime to override the path value of a property in a LOTAnimation. The property is defined by at LOTKeypath. The delegate is set via setValueDelegate:forKeypath on LOTAnimationView.
+ @discussion LOTValueDelegates are used to dynamically change animation data at runtime. A delegate is set for a keypath, defined by LOTKeypath. While the animation is running the delegate is asked for the value for the keypath at each frame of the animation. The delegate is given the computed animation value for the the current frame. See LOTKeypath and the setValueDelegate:forKeypath method on LOTAnimationView.
+ @param currentFrame The current frame of the animation in the parent compositions time space.
+ @param startKeyframe When the block is called, startFrame is the most recent keyframe for the keypath in relation to the current time.
+ @param endKeyframe When the block is called, endFrame is the next keyframe for the keypath in relation to the current time.
+ @param interpolatedProgress A value from 0-1 that represents the current progress between keyframes. It respects the keyframes current easing curves.
+ @return CGPathRef the path to set the keypath node for the current frame
+ */
+
+- (CGPathRef)pathForFrame:(CGFloat)currentFrame
+ startKeyframe:(CGFloat)startKeyframe
+ endKeyframe:(CGFloat)endKeyframe
+ interpolatedProgress:(CGFloat)interpolatedProgress;
+
+
+@end
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/Lottie.h b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/Lottie.h
new file mode 100644
index 0000000..161ef31
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Headers/Lottie.h
@@ -0,0 +1,44 @@
+//
+// Lottie.h
+// Pods
+//
+// Created by brandon_withrow on 1/27/17.
+//
+// Dream Big.
+
+#if __has_feature(modules)
+@import Foundation;
+#else
+#import
+#endif
+
+#ifndef Lottie_h
+#define Lottie_h
+
+//! Project version number for Lottie.
+FOUNDATION_EXPORT double LottieVersionNumber;
+
+//! Project version string for Lottie.
+FOUNDATION_EXPORT const unsigned char LottieVersionString[];
+
+#include
+
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+#import "LOTAnimationTransitionController.h"
+#import "LOTAnimatedSwitch.h"
+#import "LOTAnimatedControl.h"
+#endif
+
+#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+#import "LOTCacheProvider.h"
+#endif
+
+#import "LOTAnimationView.h"
+#import "LOTAnimationCache.h"
+#import "LOTComposition.h"
+#import "LOTBlockCallback.h"
+#import "LOTInterpolatorCallback.h"
+#import "LOTValueCallback.h"
+#import "LOTValueDelegate.h"
+
+#endif /* Lottie_h */
diff --git a/ios/platform/Lottie.framework/Info.plist b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Info.plist
similarity index 55%
rename from ios/platform/Lottie.framework/Info.plist
rename to ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Info.plist
index 9c6b207..1443ac3 100644
Binary files a/ios/platform/Lottie.framework/Info.plist and b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Info.plist differ
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Lottie b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Lottie
new file mode 100755
index 0000000..9f7280e
Binary files /dev/null and b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Lottie differ
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Modules/module.modulemap b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Modules/module.modulemap
new file mode 100644
index 0000000..90a1ae1
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module Lottie {
+ umbrella header "Lottie.h"
+
+ export *
+ module * { export * }
+}
diff --git a/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/_CodeSignature/CodeResources b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..b4f623b
--- /dev/null
+++ b/ios/platform/Lottie.xcframework/ios-arm64_x86_64-simulator/Lottie.framework/_CodeSignature/CodeResources
@@ -0,0 +1,267 @@
+
+
+
+
+ files
+
+ Headers/LOTAnimatedControl.h
+
+ kuzSTV+o/3ss53lTLvqhFBRm1NA=
+
+ Headers/LOTAnimatedSwitch.h
+
+ u+l+84XAWDlWUyHqjNXx+OtC5FY=
+
+ Headers/LOTAnimationCache.h
+
+ bM6wE+kgYYTAXmkWnvRHQ+J4S9M=
+
+ Headers/LOTAnimationTransitionController.h
+
+ 3ftOKbEkbGUDi0/zFiZfcx+T2tA=
+
+ Headers/LOTAnimationView.h
+
+ ZTW4+LjRK2AuKNEEaVvSwbjXy+A=
+
+ Headers/LOTAnimationView_Compat.h
+
+ xDqSuwxpD7U6DAPuNoJbKu0nfLI=
+
+ Headers/LOTBlockCallback.h
+
+ ZNpIDZS55Cg3/ig6tJVpQTb30c0=
+
+ Headers/LOTCacheProvider.h
+
+ pkP7YsEyXw1i8AHZrmiD2fVKeok=
+
+ Headers/LOTComposition.h
+
+ 0EW729bXNlsnOKaE2f5FuNNpiJ8=
+
+ Headers/LOTInterpolatorCallback.h
+
+ RJDx/ubQq5RUtavsCMezxjR4jLE=
+
+ Headers/LOTKeypath.h
+
+ 5wNMMeKKwWkEa6rAX1P5EkLU7A8=
+
+ Headers/LOTValueCallback.h
+
+ eLYzyLyhp3AE9p+ua2zEuWN/PQc=
+
+ Headers/LOTValueDelegate.h
+
+ QwzcUfLejLc420xRGPRKVMNcLYM=
+
+ Headers/Lottie.h
+
+ XEV4l8dHwtEJw83UD4azgEy3u+I=
+
+ Info.plist
+
+ uSnUUcG2Zp7ZEfKVwFhUHjEL1aQ=
+
+ Modules/module.modulemap
+
+ 5zWJdq5GU7LyJDaLgqRgRFy9DEc=
+
+
+ files2
+
+ Headers/LOTAnimatedControl.h
+
+ hash2
+
+ hpz5mnbG2767HkAsyNM4sEa5chTYiqnX5x0hWdUp8W8=
+
+
+ Headers/LOTAnimatedSwitch.h
+
+ hash2
+
+ 4RvlB516wYaZL6pUWhEXKVb4nK1W4fFfXBX29PuicO8=
+
+
+ Headers/LOTAnimationCache.h
+
+ hash2
+
+ hjkRGYf7Lb6AcnZwzdNIgHh0sAGgYRvv8rj+94UGhsE=
+
+
+ Headers/LOTAnimationTransitionController.h
+
+ hash2
+
+ 0+t6ufW4/H7M7cmEJz1/nmzmx52ktbFXfBKFxU3XY8Q=
+
+
+ Headers/LOTAnimationView.h
+
+ hash2
+
+ d7ZmAoBAISa+2rhZSumn2r0UVjgX77O9ZYhkyYAsG9g=
+
+
+ Headers/LOTAnimationView_Compat.h
+
+ hash2
+
+ YEW9eYuC4ALEFwzQw5xIQRSC1U+s759rNqPkhTltA1Y=
+
+
+ Headers/LOTBlockCallback.h
+
+ hash2
+
+ 7NoWx6AIB2Ipnv2eQ4yM1R9OtDyLsGfiJaJLPFJXhBQ=
+
+
+ Headers/LOTCacheProvider.h
+
+ hash2
+
+ V64kS8poXjFhDMFHV00fv/Hgf7X9G6bAZzEiGfEkfXU=
+
+
+ Headers/LOTComposition.h
+
+ hash2
+
+ GOBPcDxBXELKCQTckJxI8bLmbl3uvLmkUIPSbNaDL/Q=
+
+
+ Headers/LOTInterpolatorCallback.h
+
+ hash2
+
+ L7fOwRQlfi6IYjj0AzTouWC8z7A0CkP6QWSO8Mkbn5s=
+
+
+ Headers/LOTKeypath.h
+
+ hash2
+
+ eqfDtQW1GH+FoWeGnh4l2XFqyyd70OlyC1xaHuL7vQs=
+
+
+ Headers/LOTValueCallback.h
+
+ hash2
+
+ /Xi0iDyVIYHnCjGSlG4wsefKMCQzKN9/cAqU9l8m4Tg=
+
+
+ Headers/LOTValueDelegate.h
+
+ hash2
+
+ 9cevE4D5khI1TZ1E+Z4EnmdBMYlp4d5fEDdKV4J5DZ8=
+
+
+ Headers/Lottie.h
+
+ hash2
+
+ NDFIoxhSNUWvc9disPeA9QawENPeFQDzx30svaY2M94=
+
+
+ Modules/module.modulemap
+
+ hash2
+
+ qXdeFOUNrSY0+y4Ur316Y9lblwo+gjCtw54C8NgjxiQ=
+
+
+
+ rules
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^.*
+
+ ^.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Base\.lproj/
+
+ weight
+ 1010
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/ios/ti.animation.xcodeproj/project.pbxproj b/ios/ti.animation.xcodeproj/project.pbxproj
index 54e72af..ed9804b 100644
--- a/ios/ti.animation.xcodeproj/project.pbxproj
+++ b/ios/ti.animation.xcodeproj/project.pbxproj
@@ -26,7 +26,7 @@
24DD6CFA1134B3F500162E58 /* TiAnimationModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 24DD6CF81134B3F500162E58 /* TiAnimationModule.m */; };
24DE9E1111C5FE74003F90F6 /* TiAnimationModuleAssets.h in Headers */ = {isa = PBXBuildFile; fileRef = 24DE9E0F11C5FE74003F90F6 /* TiAnimationModuleAssets.h */; };
24DE9E1211C5FE74003F90F6 /* TiAnimationModuleAssets.m in Sources */ = {isa = PBXBuildFile; fileRef = 24DE9E1011C5FE74003F90F6 /* TiAnimationModuleAssets.m */; };
- 3A3DB6E125D9A6C600FA35FC /* Lottie.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A3DB6E025D9A6C600FA35FC /* Lottie.framework */; platformFilter = ios; };
+ 2C14E7A526C7E8D000F55E93 /* Lottie.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C14E7A426C7E8D000F55E93 /* Lottie.xcframework */; };
3AB3D38021BE475F0060E89D /* TiAnimationAnimationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AB3D37C21BE475F0060E89D /* TiAnimationAnimationView.h */; };
3AB3D38121BE475F0060E89D /* TiAnimationAnimationViewProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AB3D37D21BE475F0060E89D /* TiAnimationAnimationViewProxy.m */; };
3AB3D38221BE475F0060E89D /* TiAnimationAnimationViewProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AB3D37E21BE475F0060E89D /* TiAnimationAnimationViewProxy.h */; };
@@ -51,7 +51,7 @@
24DD6D1B1134B66800162E58 /* titanium.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = titanium.xcconfig; sourceTree = ""; };
24DE9E0F11C5FE74003F90F6 /* TiAnimationModuleAssets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TiAnimationModuleAssets.h; path = Classes/TiAnimationModuleAssets.h; sourceTree = ""; };
24DE9E1011C5FE74003F90F6 /* TiAnimationModuleAssets.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TiAnimationModuleAssets.m; path = Classes/TiAnimationModuleAssets.m; sourceTree = ""; };
- 3A3DB6E025D9A6C600FA35FC /* Lottie.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Lottie.framework; path = platform/Lottie.framework; sourceTree = ""; };
+ 2C14E7A426C7E8D000F55E93 /* Lottie.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Lottie.xcframework; path = platform/Lottie.xcframework; sourceTree = ""; };
3AB3D37C21BE475F0060E89D /* TiAnimationAnimationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TiAnimationAnimationView.h; path = Classes/TiAnimationAnimationView.h; sourceTree = ""; };
3AB3D37D21BE475F0060E89D /* TiAnimationAnimationViewProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TiAnimationAnimationViewProxy.m; path = Classes/TiAnimationAnimationViewProxy.m; sourceTree = ""; };
3AB3D37E21BE475F0060E89D /* TiAnimationAnimationViewProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TiAnimationAnimationViewProxy.h; path = Classes/TiAnimationAnimationViewProxy.h; sourceTree = ""; };
@@ -66,7 +66,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 3A3DB6E125D9A6C600FA35FC /* Lottie.framework in Frameworks */,
+ 2C14E7A526C7E8D000F55E93 /* Lottie.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -95,7 +95,7 @@
0867D69AFE84028FC02AAC07 /* Frameworks */ = {
isa = PBXGroup;
children = (
- 3A3DB6E025D9A6C600FA35FC /* Lottie.framework */,
+ 2C14E7A426C7E8D000F55E93 /* Lottie.xcframework */,
);
name = Frameworks;
sourceTree = "";
@@ -385,6 +385,7 @@
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
RUN_CLANG_STATIC_ANALYZER = NO;
SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2,6";
USER_HEADER_SEARCH_PATHS = "";
};
name = Debug;
@@ -444,6 +445,7 @@
PRODUCT_NAME = ti.animation;
RUN_CLANG_STATIC_ANALYZER = NO;
SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2,6";
USER_HEADER_SEARCH_PATHS = "";
};
name = Release;
diff --git a/ios/titanium.xcconfig b/ios/titanium.xcconfig
index a05a329..a1ed1b3 100644
--- a/ios/titanium.xcconfig
+++ b/ios/titanium.xcconfig
@@ -4,8 +4,7 @@
// OF YOUR TITANIUM SDK YOU'RE BUILDING FOR
//
//
-TITANIUM_SDK_VERSION = 9.3.2.GA
-
+TITANIUM_SDK_VERSION = 10.0.2.GA
//
// THESE SHOULD BE OK GENERALLY AS-IS