我有一个React-Native应用程序,我正在尝试与来自MaaS360的SDK集成。
在构建并尝试初始化视图之前,一切都有效。
2017-02-10 14:52:06.844697 AppName[1675:604526] Unbalanced calls to begin/end appearance transitions for <UIViewController: 0x10122ae20>.
2017-02-10 14:52:08.721767 AppName[1675:604526] *** Assertion failure in +[FLCRKeyServicesUtils getDeviceBasedKeyUsingMKSharedRounds], /u002/AppSDK/3.02.000.SDK_93/core/core/FLCRKeyServicesUtils.m:472
2017-02-10 14:52:08.723552 AppName[1675:604526] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'MK shared rounds is not loaded yet'
上面的错误:对开始/结束外观转换的不平衡调用
我认为这与我的rootView和initMaaS360SDK都存在于应用程序中didFinishLaunchingWithOptions bool有关,但我不知道从这里开始。
SDK旨在在应用程序启动时运行并确保允许设备运行内部应用程序,但是 SDK 无法完全运行,因为它初始化发生在 react-native 自己的 rootView 之上。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *jsCodeLocation;
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"AppName"
initialProperties:nil
launchOptions:launchOptions];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
//sdk integration
[self initMaaS360SDK];
return YES;
}
如果这很重要,我使用的是React-Native 0.37.0和iOS Target 8.0。
我过去遇到过同样的问题。这与MaaS360有关。此错误的原因是您忘记将com.fiberlink.authServices
添加到钥匙串共享功能。
祝你好运!
Bas du Pre