123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- //
- // SceneDelegate.m
- // PDFViewer
- //
- // Created by kdan on 2022/11/14.
- //
- #import <ComPDFKit/ComPDFKit.h>
- #import "SceneDelegate.h"
- #import "PDFListController.h"
- #import "PDFModel.h"
- @interface SceneDelegate ()
- @end
- @implementation SceneDelegate
- - (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
- // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
- // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
- // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
-
- [self setWindow:[[UIWindow alloc] initWithWindowScene:(UIWindowScene *)scene]];
- [self.window setBackgroundColor:[UIColor whiteColor]];
- [self.window makeKeyAndVisible];
-
- NSFileManager *fileManager = [NSFileManager defaultManager];
-
- NSURL *sampleURL = [NSBundle.mainBundle.resourceURL URLByAppendingPathComponent:@"Sample"];
-
- NSString *docsFolder = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
-
- NSArray *fileNames = [NSArray arrayWithObjects:@"3.pdf", nil];
- for (int i = 0; i < fileNames.count; i++) {
- NSURL *tBFilePath = [sampleURL URLByAppendingPathComponent:[fileNames objectAtIndex:i]];
- NSURL *tDFilePath = [NSURL fileURLWithPath:[docsFolder stringByAppendingPathComponent:[fileNames objectAtIndex:i]]];
-
- if (![fileManager fileExistsAtPath:tDFilePath.path]) {
- if ([fileManager fileExistsAtPath:tBFilePath.path]) {
- [fileManager copyItemAtURL:tBFilePath toURL:tDFilePath error:nil];
- }
- }
- }
-
- PDFModel *model = [[PDFModel alloc] init];
- model.filePath = docsFolder;
- NSLog(@"%@",model.filePath);
-
- PDFListController *pdfController = [[PDFListController alloc] initWithModel:model];
-
- UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:pdfController];
- pdfController.navigationItem.title = @"Documents";
- [self.window setRootViewController:navigationController];
- }
- - (void)sceneDidDisconnect:(UIScene *)scene {
- // Called as the scene is being released by the system.
- // This occurs shortly after the scene enters the background, or when its session is discarded.
- // Release any resources associated with this scene that can be re-created the next time the scene connects.
- // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
- }
- - (void)sceneDidBecomeActive:(UIScene *)scene {
- // Called when the scene has moved from an inactive state to an active state.
- // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
- }
- - (void)sceneWillResignActive:(UIScene *)scene {
- // Called when the scene will move from an active state to an inactive state.
- // This may occur due to temporary interruptions (ex. an incoming phone call).
- }
- - (void)sceneWillEnterForeground:(UIScene *)scene {
- // Called as the scene transitions from the background to the foreground.
- // Use this method to undo the changes made on entering the background.
- }
- - (void)sceneDidEnterBackground:(UIScene *)scene {
- // Called as the scene transitions from the foreground to the background.
- // Use this method to save data, release shared resources, and store enough scene-specific state information
- // to restore the scene back to its current state.
- }
- @end
|