标签: ios13

当设备处于 iOS 13 的深色模式时,如何限制您的应用程序处于浅色模式

在您的应用程序委托中。只需转到函数即可:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
{
 if #available(iOS 13.0, *) {
        window?.overrideUserInterfaceStyle = .light
    }
     return true
}
Run Code Online (Sandbox Code Playgroud)

有什么建议....

ios swift macos-darkmode ios13

0
推荐指数
1
解决办法
1025
查看次数

当无法访问时,UserDefaults 是否返回默认值或 nil?

我正在从事一个 iOS 项目,该项目UserDefaults在启用文件保护时面临访问值的问题。Apple 社区中有几篇关于UserDefaults无法访问问题的帖子。一些讨论是,

  1. UserDefault 获取 NULL
  2. NSUserDefault 丢失

这对我来说真的很令人沮丧,因为我的应用程序用于检查键FirstTimeAppLaunched的布尔值并基于它db encryption password为我的数据库重新创建的值。由于上述问题,一旦UserDefault无法访问,我的应用程序就会重新创建新密码,并最终丢失用户以前使用不同密码使用的所有数据。

现在我想使用整数状态而不是布尔值,因此我需要使用,

UserDefaults.standard.register(["FirstTimeAppLaunched", 0]);
Run Code Online (Sandbox Code Playgroud)

当应用程序启动时。第一次启动后我将其设置为 1,

UserDefaults.standard.set(1, forKey: "FirstTimeAppLaunched");
Run Code Online (Sandbox Code Playgroud)

在这种情况下我需要确认,

如果UserDefault由于上述问题而无法访问标准,是否可以保证 key 的返回值FirstTimeAppLaunchedNULL我使用方法注册的默认值UserDefaults.standard.register

data-protection nsuserdefaults ios ios13

0
推荐指数
1
解决办法
4913
查看次数

后台线程在主线程之前执行 ios swift

我想推送一个视图控制器,并希望其余任务在后台工作而不冻结 UI。但要么我的 UI 冻结,要么后台线程之前执行。附上我工作的一个小例子。

DispatchQueue.global(qos: .background).async {
        DispatchQueue.main.async {
            print("This is run on the main queue, after the previous code in outer block")
        }
        print("This is run on the background queue")
    }
Run Code Online (Sandbox Code Playgroud)

结果:

This is run on the background queue
This is run on the main queue, after the previous code in outer block
Run Code Online (Sandbox Code Playgroud)

主队列应该比后台线程先执行。

xcode multithreading ios swift ios13

0
推荐指数
1
解决办法
4081
查看次数

iOS 13.1 Objective-C ModalPresentation 全屏

在 iOS 13 中发现了下一个奇怪的错误,该错误以模态呈现在全屏视图控制器上。最初它坏了,它不是在全屏模式下打开的,所以我尝试了此链接中描述的下一个方法 现在它加载并等待触摸屏幕上的任何地方。目前这是父视图控制器,它应该以模态显示条款VC

mainView.hidden = YES;
        IDTermsViewController *termsVC = [[self storyboard] instantiateViewControllerWithIdentifier:@"IDTermsViewController"];
        termsVC.delegate = self;
        if (@available(iOS 13.0, *)) {
            [termsVC setModalPresentationStyle: UIModalPresentationFullScreen];
        }
        [self presentViewController:termsVC animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

目前,在介绍了这个 termVC 之后,我得到了下一个状态,如下面的屏幕截图所示。如果我执行任何操作 - 摇动手机,截屏,点击任意位置 - 将出现TermsVC!

在以前的 ios 版本上工作正常。 在此处输入图片说明

objective-c ios ios13 xcode11

-1
推荐指数
1
解决办法
1963
查看次数

有什么方法可以使用 SwiftUI 创建 BottomBar

我想创建一个bottom bar对我的所有页面都应该通用的图片,我在这里发布图片这里 我知道如何使用故事板来做到这一点。但我没有找到如何在 SwiftUI 中做到这一点的方法

ios swift ios13 swiftui

-1
推荐指数
1
解决办法
3909
查看次数

'keyWindow' 已弃用:首先在 iOS 13.0 中的 Objective-C 中弃用

这是我的简单按钮操作,用于显示 XIB 文件,该文件实际上是 Objective-C 中的条形码扫描仪。

 - (IBAction)startCamera:(id)sender {
    BarcodeVC * controller = [[BarcodeVC alloc] initWithNibName:@"BarcodeVC" bundle:[NSBundle mainBundle]];
    
    //[self presentViewController:controller animated:YES completion:nil];
     UIWindow * currentwindow = [[UIApplication sharedApplication] keyWindow];
     [currentwindow.rootViewController presentViewController:controller animated:YES completion:nil];
  }
Run Code Online (Sandbox Code Playgroud)

但不幸的是,一个警告来了:

keyWindow已弃用:首先在 iOS 13.0 中弃用

我知道iOS 13支持多场景,但是Objective-C有没有办法解决这个问题?我见过 Swift 版本,但使用 Objective-C 却没有成功。

objective-c uiwindow ios ios13 uiscenedelegate

-1
推荐指数
1
解决办法
7690
查看次数

在 ios 上从后台拨打电话

我知道tel:// url 可用于允许在用户提示下拨打电话,所以想知道是否有权限在前台/后台拨打电话。是否可以在没有用户干预 IOS13 的情况下拨打电话?

iphone ios swift ios13

-13
推荐指数
1
解决办法
153
查看次数