2015-02-28 14 views
6

Staram się zrozumieć, w jaki sposób program może rozbić się na linii z jedynie nawiasem. Moja aplikacja o otwartym kodzie źródłowym, Steppy 2, ma ten problem. Nie mogłem sam tego zreplikować, ale wielu użytkowników zgłosiło ten problem i wysłało raporty o awariach. Katastrofa nastąpi w ostatnim przedziale:Awaria Swift na linii, która ma tylko wspornik

func loadBars() { 
    let graphView = UIView(frame: CGRectZero) 
    graphView.setTranslatesAutoresizingMaskIntoConstraints(false) 
    self.addSubview(graphView) 
    self.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[view]|", options: nil, metrics: nil, views: ["view":graphView])) 
    self.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[view]-(30)-|", options: nil, metrics: nil, views: ["view":graphView])) 

    let sortedDayKeys = Array(weekData.keys).sorted(<) 

    for var day = 0; day < 7; day++ { 
     let key = sortedDayKeys[day] as String 
     let bar = STPYGraphBar(frame: CGRectZero) 

     bar.dateKey = key 
     bar.steps = weekData[key] 
     bar.divider = divider 
     bar.backgroundColor = UIColor.clearColor() 

     graphView.addSubview(bar) 
     graphView.bringSubviewToFront(bar) 

     bar.createInnerView() 

     addBarContraints(bar) 
     graphView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[bar]|", options: nil, metrics: nil, views: ["bar":bar])) 
     bars.append(bar) 
    } 
    graphView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[bar1][bar2(bar1)][bar3(bar1)][bar4(bar1)][bar5(bar1)][bar6(bar1)][bar7(bar1)]|", options: nil, metrics: nil, views: ["bar1":bars[0],"bar2":bars[1],"bar3":bars[2],"bar4":bars[3],"bar5":bars[4],"bar6":bars[5],"bar7":bars[6]])) 
} //HERE 

Informacje katastrofa:

Thread : Crashed: com.apple.main-thread 
0 SwiftSteppy     0x0000000100094b2c SwiftSteppy.STPYGraphView.loadBars (SwiftSteppy.STPYGraphView)() ->() (STPYGraphView.swift:108) 
1 SwiftSteppy     0x0000000100094100 SwiftSteppy.STPYGraphView.loadBars (SwiftSteppy.STPYGraphView)() ->() (STPYGraphView.swift) 
2 SwiftSteppy     0x000000010009100c SwiftSteppy.STPYGraphView.loadWithProgress (SwiftSteppy.STPYGraphView)(CoreGraphics.CGFloat) ->() (STPYGraphView.swift:32) 
3 SwiftSteppy     0x0000000100069a34 SwiftSteppy.STPYGraphViewController.loadMainScrollViewContent (SwiftSteppy.STPYGraphViewController)() ->() (STPYGraphViewController.swift:201) 
4 SwiftSteppy     0x0000000100067abc SwiftSteppy.STPYGraphViewController.loadDataInterface (SwiftSteppy.STPYGraphViewController)() ->() (STPYGraphViewController.swift:139) 
5 SwiftSteppy     0x00000001000713e0 SwiftSteppy.STPYGraphViewController.(loadData (SwiftSteppy.STPYGraphViewController) ->() ->()).(closure #1).(closure #1) (STPYGraphViewController.swift:76) 
6 libdispatch.dylib    0x000000019866d3ac _dispatch_call_block_and_release + 24 
7 libdispatch.dylib    0x000000019866d36c _dispatch_client_callout + 16 
8 libdispatch.dylib    0x0000000198671980 _dispatch_main_queue_callback_4CF + 932 
9 CoreFoundation     0x00000001878e1fa4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 
10 CoreFoundation     0x00000001878e004c __CFRunLoopRun + 1492 
11 CoreFoundation     0x000000018780d0a4 CFRunLoopRunSpecific + 396 
12 GraphicsServices    0x00000001909af5a4 GSEventRunModal + 168 
13 UIKit       0x000000018c13eaa4 UIApplicationMain + 1488 
14 SwiftSteppy     0x00000001000a5da8 main (STPYAppDelegate.swift:13) 
15 libdyld.dylib     0x0000000198696a08 start + 4 

Pełne informacje krach można znaleźć here i kontekst kod here z linii, w której występuje podświetlonego katastrofa.

+1

Edytuj swoje pytanie, dołączając odpowiedni kod i symboliczny dziennik awarii. Łącza zazwyczaj gniją, więc musisz podać odpowiednie informacje w pytaniu. –

Odpowiedz

8

Wygląda na to, że szybkie raporty o awariach nie wskazują dokładnej linii, w której aplikacja uległa awarii, w przeciwieństwie do aplikacji z obiektywem c. Oznacza to, że pewna linia w metodzie wywołała awarię, a nie ostatni nawias.

+0

Czy możesz podać link do miejsca, w którym znalazłeś te informacje? – Hyperbole

+0

https://devforums.apple.com/message/1106933 – user2844801

+0

@ user2844801 link przekierowuje. Czy masz inne źródło: do tego devforums.apple.com/message/1106933 –