在Swift中了解崩溃报告(部分应用...) [英] Understanding crash report (Partial apply...) in Swift

查看:208
本文介绍了在Swift中了解崩溃报告(部分应用...)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Swift编程的新手,最近我用Swift对我的应用程序实现了聚焦搜索.一切都很好,但是现在我很少收到崩溃报告,我也不知道什么是部分应用"以及崩溃的原因.由于我无法在本地模拟它,因此我试图通过使用来解决它崩溃日志.以下是崩溃报告...

I'm new to Swift programming, Recently I have implemented spotlight search for my app with Swift. Everything is working well and good however I"m getting few crash reports nowadays and I have no clue what is "Partial apply" and why it is crashing. As I'm unable to simulate it locally I"m trying to solve it by using crash logs. Following is the crash report...

Thread : Crashed: com.apple.root.default-qos
0  AppName                        0x1076d4 partial apply for static spotLightSearchManager.(indexAllItem in _03019F3D5642F39F2DF678310DF7E384)() -> () (spotLightSearchManager.swift:77)
1  AppName                        0x10761c partial apply for static spotLightSearchManager.(indexAllItem in _03019F3D5642F39F2DF678310DF7E384)() -> () (spotLightSearchManager.swift:73)
2  AppName                        0x107730 partial apply for thunk (spotLightSearchManager.swift)
3  AppName                        0x107808 partial apply for static spotLightSearchManager.(clearAllItem(spotLightSearchManager.Type) -> (OnCompletion : () -> ()!) -> ()).(closure #1) (spotLightSearchManager.swift:85)
4  CoreSpotlight                  0x2ae7ce0d __45-[CSSearchableIndexRequest _finishWithError:]_block_invoke + 20
5  libdispatch.dylib              0x2492fdd7 _dispatch_call_block_and_release + 10
6  libdispatch.dylib              0x2493b7b9 _dispatch_root_queue_drain + 1572
7  libdispatch.dylib              0x2493b193 _dispatch_worker_thread3 + 94
8  libsystem_pthread.dylib        0x24ac8e0d _pthread_wqthread + 1024
9  libsystem_pthread.dylib        0x24ac89fc start_wqthread + 8

我正在尝试在应用启动期间为搜索项重新编制索引.

I'm trying to reindex search item during app launch time.

 static func reIndexAllItem () {

        if #available(iOS 9.0, *) {

            clearAllItem(OnCompletion: indexAllItem)


        } else {
            // Fallback on earlier versions
            APLog("SpotLight index not added for older versions")
        }
    }
}

static private func indexAllItem () {

    for dataItem in APAuthUrlDataSource.sharedInstance().accountArray { // Crash logs points to this line.

        addSearchIndexForItem(dataItem as! APAuthUrlDataItm)
    }
} // Line number 77

static func clearAllItem (OnCompletion completion : (()-> Void)!) {

        if #available(iOS 9.0, *) {
            CSSearchableIndex.defaultSearchableIndex().deleteAllSearchableItemsWithCompletionHandler { (error) -> Void in
                // On completion.
                APLog("successfully cleared all index in spotlight search")
                **completion()** //Line number 85
            }
        } else {
            // Fallback on earlier versions
            APLog("SpotLight index not cleared for older versions")
        }
}

注意:从didFinishLaunchingWithOptions方法中调用了reindexAlltem.

Note: reindexAlltem is getting called from didFinishLaunchingWithOptions method.

非常感谢任何帮助,谢谢.

Any help would really appreciated, Thanks in Advance.

推荐答案

似乎强制转换为APAuthUrlDataItm.我假设accountArray不是显式的[APAuthUrlDataItm]类型,否则为什么需要该强制类型转换?

It seems that the cast to APAuthUrlDataItm fails. I assume that accountArray is not explicitly of type [APAuthUrlDataItm] otherwise why would you need that cast?

考虑以下代码:

    for dataItem in accountArray {
        if let item = dataItem as? APAuthUrlDataItm {
            addSearchIndexForItem(item)
        }
    }

这篇关于在Swift中了解崩溃报告(部分应用...)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆