I am new to Swift programming. I recently implemented a spotlight search of my application with Swift. Everything is working well and well, but I am currently receiving several crash reports and I don’t know what “Partial Application” is and why it crashes. Since I cannot simulate it locally, I am trying to solve it using emergency logs. The following is a 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 am trying to update the search position while starting the application.
static func reIndexAllItem () {
if #available(iOS 9.0, *) {
clearAllItem(OnCompletion: indexAllItem)
} else {
APLog("SpotLight index not added for older versions")
}
}
}
static private func indexAllItem () {
for dataItem in APAuthUrlDataSource.sharedInstance().accountArray {
addSearchIndexForItem(dataItem as! APAuthUrlDataItm)
}
}
static func clearAllItem (OnCompletion completion : (()-> Void)!) {
if #available(iOS 9.0, *) {
CSSearchableIndex.defaultSearchableIndex().deleteAllSearchableItemsWithCompletionHandler { (error) -> Void in
APLog("successfully cleared all index in spotlight search")
**completion()**
}
} else {
APLog("SpotLight index not cleared for older versions")
}
}
Note: reindexAlltem receives a call from the didFinishLaunchingWithOptions method.
Any help would really be liked, thanks in Advance.
source
share