I have CustomClass: UIApplication
in main.m
retVal = UIApplicationMain(argc, argv, NSStringFromClass([CustomClass class]), NSStringFromClass([AppDelegate class]));
When I launch in iOS 11.2.2 It's Ok. If I launch in iOS 11.3 beta application crashed with reason:
+[CustomClass registerAsSystemApp]: unrecognized selector sent to class 0x1b4ff8648
Call stack: (
0 CoreFoundation 0x00000001836bc250 <redacted> + 252
1 libobjc.A.dylib 0x00000001828845ec objc_exception_throw + 56
2 CoreFoundation 0x00000001836c9488 <redacted> + 0
3 CoreFoundation 0x00000001836c1a74 <redacted> + 1380
4 CoreFoundation 0x00000001835a7b0c _CF_forwarding_prep_0 + 92
5 UIKit 0x000000018dbcb744 <redacted> + 852
6 UIKit 0x000000018d9cc1e8 UIApplicationMain + 184
7 company.product 0x0000000100ceb264 main + 176
8 libdyld.dylib 0x0000000183021fc0 <redacted> + 4
) libc++abi.dylib: terminate_handler unexpectedly threw an exception
I can't understand why?
UPD in Simulator iOS 11.3 work great...but from device I get crash
UPD2 CustomClass
.h
@interface CustomClass : UIApplication {
TCBIdleService *_idleService;
LocationManager *_locationManager;
TCBUserSession *_userSession;
}
+ (CustomClass *)sharedApp;
+ (NSString *)pushNotificationTokenKey;
- (void)loginWithUserInfo:(UserInfoMto *)userInfo;
- (void)logout;
- (void)registerPushNotifications;
.m
@interface CustomClass ()<TCBIdleServiceObserving, UIAlertViewDelegate, QCSSendListener>

The problem was that my class in the project was named
MBApp(this is CustomClass), it turns out that this name intersects with a class from aMobileBackup.frameworkthat already has this class. Therefore, the methodregisterAsSystemAppwas called from theMobileBackup.frameworkand naturally did not find it there. That is, the solution for me was to change the name of myMBAppclass. The only puzzle is why it did not happen before, since the library with the class exists with iOS 5. Thanks for all the help and sorry that I did not write the original class name, because this is confendential information.