我的应用程序运行良好,直到昨天。现在,突然之间,由于某种原因,当我启动应用程序时,没有像往常一样连接到数据库,而是在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");

    }

}

最佳答案

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

关于ios - Obj-C-Xcode控制台中的TIC读取状态?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52565371/

10-12 14:56