1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #import "CompdfkitFlutterPlugin.h"
- #import "FLNativeView.h"
- #import <ComPDFKit/ComPDFKit.h>
- #import "CPDFViewController.h"
- @implementation CompdfkitFlutterPlugin
- + (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar {
-
- FlutterMethodChannel* channel = [FlutterMethodChannel
- methodChannelWithName:@"com.compdfkit.flutter.plugin"
- binaryMessenger:[registrar messenger]];
- CompdfkitFlutterPlugin* instance = [[CompdfkitFlutterPlugin alloc] init];
- [registrar addMethodCallDelegate:instance channel:channel];
- }
- - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
- if ([@"sdk_version_code" isEqualToString:call.method]) {
- result([CPDFKit sharedInstance].versionString);
- } else if ([@"init_sdk" isEqualToString:call.method]) {
- NSDictionary *initInfo = (NSDictionary *)call.arguments;
- NSString *key = initInfo[@"key"] ?: @"";
- NSString *secret = initInfo[@"secret"] ?: @"";
- [CPDFKit setLicenseKey:key secret:secret];
- } else if ([@"sdk_build_tag" isEqualToString:call.method]) {
- result([@"iOS build tag:" stringByAppendingFormat:@"%ld", [CPDFKit sharedInstance].buildNumber]);
- } else if ([@"openDocument" isEqualToString:call.method]){
- NSString *path = (NSString *)call.arguments;
- UIViewController *tRootViewControl = [UIApplication sharedApplication].keyWindow.rootViewController;
- if ([tRootViewControl presentedViewController]) {
- tRootViewControl = [tRootViewControl presentedViewController];
- }
- CPDFViewController *pdfViewController = [[CPDFViewController alloc] initWithFilePath:path password:nil];
- UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:pdfViewController];
- navigationController.modalPresentationStyle = UIModalPresentationFullScreen;
- [tRootViewControl presentViewController:navigationController animated:YES completion:nil];
- } else if ([@"getTemporaryDirectory" isEqualToString:call.method]){
- result([self getTemporaryDirectory]);
- } else {
- result(FlutterMethodNotImplemented);
- }
- }
- - (NSString*)getTemporaryDirectory {
- NSArray* paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
- return paths.firstObject;
- }
- @end
|