build: compile release APK and update dependencies (expo-image-manipulator/loader)
This commit is contained in:
+35
@@ -0,0 +1,35 @@
|
||||
require 'json'
|
||||
|
||||
package = JSON.parse(File.read(File.join(__dir__, '..', 'package.json')))
|
||||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'EXImageLoader'
|
||||
s.version = package['version']
|
||||
s.summary = package['description']
|
||||
s.description = package['description']
|
||||
s.license = package['license']
|
||||
s.author = package['author']
|
||||
s.homepage = package['homepage']
|
||||
s.platforms = {
|
||||
:ios => '15.1',
|
||||
:tvos => '15.1'
|
||||
}
|
||||
s.source = { git: 'https://github.com/expo/expo.git' }
|
||||
s.static_framework = true
|
||||
|
||||
s.dependency 'React-Core'
|
||||
s.dependency 'ExpoModulesCore'
|
||||
|
||||
# Swift/Objective-C compatibility
|
||||
s.pod_target_xcconfig = {
|
||||
'DEFINES_MODULE' => 'YES',
|
||||
'SWIFT_COMPILATION_MODE' => 'wholemodule'
|
||||
}
|
||||
|
||||
if !$ExpoUseSources&.include?(package['name']) && ENV['EXPO_USE_SOURCE'].to_i == 0 && File.exist?("#{s.name}.xcframework") && Gem::Version.new(Pod::VERSION) >= Gem::Version.new('1.10.0')
|
||||
s.source_files = "#{s.name}/**/*.h"
|
||||
s.vendored_frameworks = "#{s.name}.xcframework"
|
||||
else
|
||||
s.source_files = "#{s.name}/**/*.{h,m}"
|
||||
end
|
||||
end
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// Copyright 2019-present 650 Industries. All rights reserved.
|
||||
|
||||
#import <ExpoModulesCore/EXInternalModule.h>
|
||||
#import <ExpoModulesCore/EXImageLoaderInterface.h>
|
||||
#import <React/RCTBridgeModule.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface EXImageLoader : NSObject <RCTBridgeModule, EXInternalModule, EXImageLoaderInterface>
|
||||
|
||||
@end
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
// Copyright 2019-present 650 Industries. All rights reserved.
|
||||
|
||||
#import <EXImageLoader/EXImageLoader.h>
|
||||
#import <React/RCTImageLoaderProtocol.h>
|
||||
#import <ExpoModulesCore/EXUtilities.h>
|
||||
|
||||
@interface EXImageLoader ()
|
||||
|
||||
@property (weak, nonatomic) RCTBridge *bridge;
|
||||
|
||||
@end
|
||||
|
||||
@implementation EXImageLoader
|
||||
|
||||
EX_REGISTER_MODULE();
|
||||
|
||||
+ (NSString *)moduleName
|
||||
{
|
||||
return @"EXImageLoader";
|
||||
}
|
||||
|
||||
+ (const NSArray<Protocol *> *)exportedInterfaces
|
||||
{
|
||||
return @[@protocol(EXImageLoaderInterface)];
|
||||
}
|
||||
|
||||
- (void)setBridge:(RCTBridge *)bridge
|
||||
{
|
||||
_bridge = bridge;
|
||||
}
|
||||
|
||||
- (void)loadImageForURL:(NSURL *)imageURL
|
||||
completionHandler:(EXImageLoaderCompletionBlock)completionHandler
|
||||
{
|
||||
[[_bridge moduleForName:@"ImageLoader" lazilyLoadIfNecessary:YES] loadImageWithURLRequest:[NSURLRequest requestWithURL:imageURL]
|
||||
callback:^(NSError *error, UIImage *loadedImage) {
|
||||
completionHandler(error, loadedImage);
|
||||
}];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user