- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스) - Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포 - 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
79 lines
3.0 KiB
Plaintext
79 lines
3.0 KiB
Plaintext
#import "RNSScreenContainer.h"
|
|
#import "UIViewController+RNScreens.h"
|
|
|
|
#import <objc/runtime.h>
|
|
|
|
@implementation UIViewController (RNScreens)
|
|
|
|
#if !TARGET_OS_TV
|
|
- (UIViewController *)reactNativeScreensChildViewControllerForStatusBarStyle
|
|
{
|
|
UIViewController *childVC = [self findChildRNSScreensViewController];
|
|
return childVC ?: [self reactNativeScreensChildViewControllerForStatusBarStyle];
|
|
}
|
|
|
|
- (UIViewController *)reactNativeScreensChildViewControllerForStatusBarHidden
|
|
{
|
|
UIViewController *childVC = [self findChildRNSScreensViewController];
|
|
return childVC ?: [self reactNativeScreensChildViewControllerForStatusBarHidden];
|
|
}
|
|
|
|
- (UIStatusBarAnimation)reactNativeScreensPreferredStatusBarUpdateAnimation
|
|
{
|
|
UIViewController *childVC = [self findChildRNSScreensViewController];
|
|
return childVC ? childVC.preferredStatusBarUpdateAnimation
|
|
: [self reactNativeScreensPreferredStatusBarUpdateAnimation];
|
|
}
|
|
|
|
- (UIInterfaceOrientationMask)reactNativeScreensSupportedInterfaceOrientations
|
|
{
|
|
UIViewController *childVC = [self findChildRNSScreensViewController];
|
|
return childVC ? childVC.supportedInterfaceOrientations : [self reactNativeScreensSupportedInterfaceOrientations];
|
|
}
|
|
|
|
- (UIViewController *)reactNativeScreensChildViewControllerForHomeIndicatorAutoHidden
|
|
{
|
|
UIViewController *childVC = [self findChildRNSScreensViewController];
|
|
return childVC ?: [self reactNativeScreensChildViewControllerForHomeIndicatorAutoHidden];
|
|
}
|
|
|
|
- (UIViewController *)findChildRNSScreensViewController
|
|
{
|
|
UIViewController *lastViewController = [[self childViewControllers] lastObject];
|
|
if ([lastViewController conformsToProtocol:@protocol(RNSViewControllerDelegate)]) {
|
|
return lastViewController;
|
|
}
|
|
return nil;
|
|
}
|
|
|
|
+ (void)load
|
|
{
|
|
static dispatch_once_t once_token;
|
|
dispatch_once(&once_token, ^{
|
|
Class uiVCClass = [UIViewController class];
|
|
|
|
method_exchangeImplementations(
|
|
class_getInstanceMethod(uiVCClass, @selector(childViewControllerForStatusBarStyle)),
|
|
class_getInstanceMethod(uiVCClass, @selector(reactNativeScreensChildViewControllerForStatusBarStyle)));
|
|
|
|
method_exchangeImplementations(
|
|
class_getInstanceMethod(uiVCClass, @selector(childViewControllerForStatusBarHidden)),
|
|
class_getInstanceMethod(uiVCClass, @selector(reactNativeScreensChildViewControllerForStatusBarHidden)));
|
|
|
|
method_exchangeImplementations(
|
|
class_getInstanceMethod(uiVCClass, @selector(preferredStatusBarUpdateAnimation)),
|
|
class_getInstanceMethod(uiVCClass, @selector(reactNativeScreensPreferredStatusBarUpdateAnimation)));
|
|
|
|
method_exchangeImplementations(
|
|
class_getInstanceMethod(uiVCClass, @selector(supportedInterfaceOrientations)),
|
|
class_getInstanceMethod(uiVCClass, @selector(reactNativeScreensSupportedInterfaceOrientations)));
|
|
|
|
method_exchangeImplementations(
|
|
class_getInstanceMethod(uiVCClass, @selector(childViewControllerForHomeIndicatorAutoHidden)),
|
|
class_getInstanceMethod(uiVCClass, @selector(reactNativeScreensChildViewControllerForHomeIndicatorAutoHidden)));
|
|
});
|
|
}
|
|
#endif
|
|
|
|
@end
|