This PR contains all the work related to setting up this project as required to implement the [Assignment](https://repo.rock-n-code.com/rock-n-code/deep-linking-assignment/wiki/Assignment) on top, as intended. To summarise this work: - [x] created a new **Xcode** project; - [x] cloned the `Wikipedia` app and inserted it into the **Xcode** project; - [x] created the `Locations` app and also, its `Libraries` package; - [x] created the `Shared` package to share dependencies between the apps; - [x] added a `Makefile` file and implemented some **environment** and **help** commands. Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Reviewed-on: rock-n-code/deep-linking-assignment#1
55 lines
1.9 KiB
Objective-C
55 lines
1.9 KiB
Objective-C
@import UIKit;
|
|
@import UserNotifications;
|
|
@class WMFTheme;
|
|
@class MWKDataStore;
|
|
@class WMFTheme;
|
|
@class ReadingList;
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
extern NSString *const WMFLanguageVariantAlertsLibraryVersion; // NSNumber
|
|
|
|
@interface WMFAppViewController : UITabBarController <UNUserNotificationCenterDelegate>
|
|
|
|
@property (nonatomic, readonly, nullable) UINavigationController *currentNavigationController;
|
|
@property (nonatomic, readonly) WMFTheme *theme;
|
|
@property (nonatomic, readonly) MWKDataStore *dataStore;
|
|
|
|
- (void)launchAppInWindow:(UIWindow *)window waitToResumeApp:(BOOL)waitToResumeApp;
|
|
|
|
- (void)showSplashView;
|
|
|
|
- (void)hideSplashViewAnimated:(BOOL)animated;
|
|
|
|
- (void)hideSplashScreenAndResumeApp; // Updates explore feed & other heavy network lifitng
|
|
|
|
- (void)processShortcutItem:(UIApplicationShortcutItem *)item completion:(void (^)(BOOL))completion;
|
|
|
|
- (BOOL)processUserActivity:(NSUserActivity *)activity animated:(BOOL)animated completion:(dispatch_block_t)done;
|
|
|
|
- (void)performBackgroundFetchWithCompletion:(void (^)(UIBackgroundFetchResult))completion;
|
|
|
|
- (void)performDatabaseHousekeepingWithCompletion:(void (^)(NSError *))completion;
|
|
|
|
- (void)applyTheme:(WMFTheme *)theme;
|
|
|
|
- (void)showSearchInCurrentNavigationController;
|
|
|
|
- (void)showImportedReadingList:(ReadingList *)readingList;
|
|
|
|
- (void)setRemoteNotificationRegistrationStatusWithDeviceToken: (nullable NSData *)deviceToken error: (nullable NSError *)error;
|
|
|
|
/// Returning WMFArticleViewController (which is ArticleViewController in Swift) makes this not work from Swift
|
|
- (void)swiftCompatibleShowArticleWithURL:(NSURL *)articleURL animated:(BOOL)animated completion:(nonnull dispatch_block_t)completion;
|
|
|
|
@end
|
|
|
|
// Methods exposed in header for use in WMFAppViewController+Extensions.swift
|
|
@interface WMFAppViewController (SwiftInterfaces)
|
|
- (void)dismissPresentedViewControllers;
|
|
- (void)showSettingsAnimated:(BOOL)animated;
|
|
- (void)logTappedSettingsFromExplore;
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|