5
Crashlyticsでクラッシュレポートを理解できない。サンククラッシュに部分的に適用されます。
これは、クラッシュログです:
Crashed: com.apple.main-thread
0 Rekindlr 0x10007a728 ViewController.(user_info(Match?, completionHandler : (Bool?) ->()) ->()).(closure #1) (ViewController.swift:201)
1 Alamofire 0x100156678 partial apply for thunk (ResponseSerialization.swift)
2 Alamofire 0x10015891c specialized Request.(response<A where ...> (queue : OS_dispatch_queue?, responseSerializer : A, completionHandler : (Response<A.SerializedObject, A.ErrorObject>) ->()) -> Self).(closure #1).(closure #1) (ResponseSerialization.swift:131)
3 libdispatch.dylib 0x1827614bc _dispatch_call_block_and_release + 24
4 libdispatch.dylib 0x18276147c _dispatch_client_callout + 16
5 libdispatch.dylib 0x182766b84 _dispatch_main_queue_callback_4CF + 1844
6 CoreFoundation 0x182cccdd8 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
7 CoreFoundation 0x182ccac40 __CFRunLoopRun + 1628
8 CoreFoundation 0x182bf4d10 CFRunLoopRunSpecific + 384
9 GraphicsServices 0x1844dc088 GSEventRunModal + 180
10 UIKit 0x187ec9f70 UIApplicationMain + 204
11 Rekindlr 0x10007d4e4 main (AppDelegate.swift:17)
12 libdispatch.dylib 0x1827928b8 (Missing)
および関連ソース:
typealias CompletionHandler = (success: Bool) -> Void
func user_info(match:(Match?), completionHandler:CompletionHandler) {
var tind_id = match!.tinder_id
var user_url = "\(USER_INFO_URL)\(tind_id)"
Alamofire.request(.GET, user_url, headers: ["X-Auth-Token": tinder_token], encoding: .JSON)
.responseJSON { response in
let json = JSON(response.result.value!)
var result = json["results"]
var distance = result["distance_mi"].intValue
let realm = try! Realm()
try! realm.write {
match?.distance_km = round(Double(distance)/0.62137)
}
completionHandler(success: true)
}
}
私は私がcompletionHandlerを使用していますどのように何かをやっている推測していますか?しかし、それは誰にも起こりません。私はクラッシュを再現することはできませんが、私のユーザーのうちのいくつかがそれを手に入れています。 @Uriと@mattの両方に同意
即時容疑者は感嘆符です。 10行目で、値がnullでないことを確認してください。 –
私は@UriBrecherに同意します。あなたは '試してください! 'と二回言います。それは "私を崩してください"という意味です。スウィフトがあなたに求めたことをやっても驚くことはありません。 – matt