我的应用运行良好,直到昨天。现在,由于某种原因突然启动我的应用程序,而不是像往常一样连接到数据库,而是在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");
}
}
答案 0 :(得分:1)
通过将DIOSSession移出AppDelegate并移至我最初的ViewController的viewDidLoad方法中,我能够重新连接到数据库。出于某种原因,iOS 12似乎不喜欢AppDelegate中的didFinishLaunchingWithOptions ...我放在该方法中的任何内容都永远不会执行或使我的应用程序崩溃。如果您有任何想法,不妨对此有所了解。