Có một vài trường hợp errors
trong các kịch bản thời gian thực trên ứng dụng iOS
của tôi. Tôi không thể hiểu được lỗi cụ thể này trên Core Foundation
đang ảnh hưởng đến nhiều người dùng trong ứng dụng của tôi. Luồng không phá vỡ bất kỳ tệp dự án nào của tôi và tôi không chắc chắn nguyên nhân gây ra sự cố này.Bộ chọn không được nhận dạng được gửi đến ví dụ _UIAlertControllerAlertPresentationController
Đính kèm nhật ký crashlytics. Bất kỳ lời khuyên hay sự giúp đỡ nào sẽ giúp ích rất nhiều, thanx.
CoreFoundation _CF_forwarding_prep_0
Fatal Exception: NSInvalidArgumentException - [_ UIAlertControllerAlertPresentationController adaptivePresentationController]: chọn không được công nhận gửi đến dụ 0x133e29870
Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x18ff391b8 __exceptionPreprocess
1 libobjc.A.dylib 0x18e97055c objc_exception_throw
2 CoreFoundation 0x18ff40268 __methodDescriptionForSelector
3 CoreFoundation 0x18ff3d270 ___forwarding___
4 CoreFoundation 0x18fe3680c _CF_forwarding_prep_0
5 UIKit 0x19689708c -[UISearchController _searchPresentationController]
6 UIKit 0x19648f8cc -[_UISearchControllerTransplantSearchBarAnimator animateTransition:]
7 UIKit 0x19613d464 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke
8 UIKit 0x19607ffdc _runAfterCACommitDeferredBlocks
9 UIKit 0x196071d50 _cleanUpAfterCAFlushAndRunDeferredBlocks
10 UIKit 0x195de10b4 _afterCACommitHandler
11 CoreFoundation 0x18fee60c0 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
12 CoreFoundation 0x18fee3cf0 __CFRunLoopDoObservers
13 CoreFoundation 0x18fee4180 __CFRunLoopRun
14 CoreFoundation 0x18fe122b8 CFRunLoopRunSpecific
15 GraphicsServices 0x1918c6198 GSEventRunModal
16 UIKit 0x195e597fc -[UIApplication _run]
17 UIKit 0x195e54534 UIApplicationMain
18 Levo 0x1000c1c30 main (AppDelegate.swift:22)
19 libdispatch.dylib 0x18edf55b8 (Missing)
func showErrorView(errorType: ErrorType, retryClickDelegate: ErrorViewRetryClickDelegate?) {
var message = ""
switch errorType {
case .INTERNET:
message = "Your internet connection does not seem to be working. Kindly ensure that you are connected to the internet and try again"
break
case .INVALID_DATA:
message = "Something went wrong. Please try again!"
break
case .JSON_PARSING:
message = "Something went wrong. Please try again!"
break
case .UNAUTHORIZED:
self.showInformativeAlert("Logged Out", message: "Looks like you have been logged out. Please login in again!", completion: nil)
self.switchStoryboard(Storyboard.SIGNIN)
return
default:
message = "Something went wrong. Please try again!"
}
let errorAlert = UIAlertController(title: "Error", message: message, preferredStyle: .Alert)
if let retryClickDelegate = retryClickDelegate {
errorAlert.addAction(UIAlertAction(title: "Try again", style: UIAlertActionStyle.Default, handler: { (action) in
retryClickDelegate.onErrorRetryClicked(errorType)
errorAlert.dismissViewControllerAnimated(true, completion: nil)
}))
}
errorAlert.addAction(UIAlertAction(title: "Dismiss", style: UIAlertActionStyle.Default, handler: nil))
if (isTopViewController) {
self.presentViewController(errorAlert, animated: true, completion: nil)
}
}
func showInformativeAlert(title: String?, message: String?,completion : (() -> Void)?) {
let informativeAlert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
informativeAlert.addAction(UIAlertAction(title: "Got it!", style: UIAlertActionStyle.Default, handler: { (action) in
informativeAlert.dismissViewControllerAnimated(true, completion: nil)
completion?()
}))
self.presentViewController(informativeAlert, animated: true, completion: nil)
}
public var isTopViewController: Bool {
if self.navigationController != nil {
return self.navigationController?.visibleViewController === self
} else if self.tabBarController != nil {
return self.tabBarController?.selectedViewController == self && self.presentedViewController == nil
} else {
return self.presentedViewController == nil && self.isVisible
}
}
bạn có thể hiển thị mã đã thử của mình –
Bản sao có thể có của http://stackoverflow.com/questions/36834755/cancelling-search-with-uisearchcontroller-causes-crash – Sulthan
@ Anbu.Karthik - Tôi không chắc nơi xảy ra sự cố đang diễn ra, đã chỉnh sửa bài đăng với mã có thể đã cố gắng. Tôi có những ErrorViews thêm vào phần mở rộng UIViewController của tôi. – Muthu