如何检查Parse是否已初始化

问题描述 投票:0回答:1

因此,我创建了一个键盘应用程序扩展,该扩展使用Parse来获取一些所需的数据。我在键盘加载后初始化了Parse,如下所示:

func connectParser() {
// Initialize Parse
        let configuration = ParseClientConfiguration {
            $0.applicationId = "BlahBlahBlah123456"
            $0.clientKey = "BlahBlahBlah123456"
            $0.server = "https://parseapi.back4app.com"
        }
        Parse.initialize(with: configuration)
}

注意:初始化通常在AppDelegate中完成,但是由于这是一个App Extension,我在首先加载的主InputView中进行了初始化

当用户在加载键盘后从键盘上跳出然后尝试切换回键盘时,会发生此问题。扩展程序崩溃,出现以下错误:

由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'解析已初始化。'

如何检查Parse是否已初始化,所以我不重新初始化它并导致崩溃?

swift parse-platform parse-server ios-app-extension
1个回答
0
投票

所以我在任何地方都没有找到任何真正的解决方案,但是我找到了自己的解决方案,我将其保留在这里并回答我自己的问题,以防其他任何人遇到此问题:

基本上我检查是否为Parse.currentConfiguration() == nil

如果有,那么我知道Parse尚未初始化。我不知道这是否是解决此问题的最佳方法,因此,如果您有更好的选择,请添加它作为答案。

最终功能如下:

func connectParse() {

    if Parse.currentConfiguration() == nil {
        // Initialize Parse
        let configuration = ParseClientConfiguration {
            $0.applicationId = "BlahBlahBlah123456"
            $0.clientKey = "BlahBlahBlah123456"
            $0.server = "https://parseapi.back4app.com"
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.