Obj-C-Xcode控制台中的TIC读取状态?

时间:2018-09-29 05:23:09

标签: ios objective-c xcode

我的应用运行良好,直到昨天。现在,由于某种原因突然启动我的应用程序,而不是像往常一样连接到数据库,而是在Xcode Console中多次出现以下错误:

  

2018-09-28 22:18:55.376987-0700 [2378:1001370] TIC读取状态   [2:0x0]:1:57 2018-09-28 22:18:56.927081-0700 [2378:1001370] TIC阅读   状态[3:0x0]:1:57 2018-09-28 22:18:56.927210-0700 [2378:1001370]   TIC读取状态[3:0x0]:1:57

我绝对不知道为什么-但是现在我根本无法登录我的应用程序。知道为什么会这样吗?

  

不能重复:对此的答案可能不是“解决方案:只需等待Xcode 9的较新版本/更新”。另外,上面的错误是   阻止我的应用连接到数据库-其他人报告了此情况   错误表明它不会影响其应用的性能。

编辑:这是我尝试连接的方式(使用 Drupal iOS SDK )。

  

更新 2018年10月1日):史诗更新...我将DIOSSession从AppDelegate中取出并放入我的初始ViewController中后,能够   重新恢复正常连接。有人知道为什么吗?我是   激动...但我想这会给人以某种反响   在ViewController中而不是在AppDelegate中。

AppDelegate.m

#import "AppDelegate.h"
#import "DIOSSession.h"
#import "AFNetworking.h"
#import "DIOSSystem.h"


@interface AppDelegate  ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [DIOSSession setupDios];

   }

ViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];


    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])

    {
      //  NSLog(@"not first launch");

    }

    else

    {


        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
        [[NSUserDefaults standardUserDefaults] synchronize];


    }



    NSDictionary *user = (NSDictionary*) [NSKeyedUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"diosSession"]];

    NSString *token = [[NSUserDefaults standardUserDefaults] objectForKey:@"diosToken"];


    if (user && token) {


        [[DIOSSession sharedSession] setUser:user];

        [[DIOSSession sharedSession] setCsrfToken:token];


        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
        UITabBarController *yourViewController = (UITabBarController *)[storyboard instantiateViewControllerWithIdentifier:@"tabBar"];
        [self.navigationController pushViewController:yourViewController animated:YES];


    } else {

        NSLog(@"No session present");

    }

}

1 个答案:

答案 0 :(得分:1)

通过将DIOSSession移出AppDelegate并移至我最初的ViewController的viewDidLoad方法中,我能够重新连接到数据库。出于某种原因,iOS 12似乎不喜欢AppDelegate中的didFinishLaunchingWithOptions ...我放在该方法中的任何内容都永远不会执行或使我的应用程序崩溃。如果您有任何想法,不妨对此有所了解。