Moja aktualizacja aplikacji została odrzucona. W wiadomości o odrzuceniu napisano "Awaria aplikacji przy uruchomieniu". Następnie wypróbowałem swoją aplikację, ale nie mogłem jej zepsuć. Użyłem więc TestFlight i zauważyłem, że kiedy uruchomiłem moją aplikację z TestFlight lub AppStore, ulegało awarii podczas uruchamiania. Ale jeśli uruchomię aplikację normalnie, działa bez żadnych awarii. Rzecz w tym, że błąd ten pojawił się od czasu aktualizacji na iOS 10. Teraz moja aplikacja w sklepie również zawiesza się po uruchomieniu z AppStore, gdy działała dobrze przez 2 tygodnie.Awaria aplikacji przy uruchamianiu z AppStore lub TestFlight, ale działająca bez zarzutu.
Jabłko wysłał mi dziennik awarii:
Incident Identifier: 001969F1-F275-4AC3-AFE1-E0426957B702
CrashReporter Key: 5ad9695e945a7d5eb5d61fd18d1c3989ccd155b4
Hardware Model: xxx
Process: MyApp [400]
Path: /private/var/containers/Bundle/Application/644423A4-EFE7-41B1-99D9-47B46338A6E2/MyApp.app/MyApp
Identifier: com.MyApp.com
Version: 20160527 (2.7.9)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.MyApp.com [451]
Date/Time: 2016-09-22 11:19:22.6893 -0700
Launch Time: 2016-09-22 11:19:22.4164 -0700
OS Version: iPhone OS 10.0.1 (14A403)
Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000010008a864
Termination Signal: Trace/BPT trap: 5
Termination Reason: Namespace SIGNAL, Code 0x5
Terminating Process: exc handler [0]
Triggered by Thread: 0
Filtered syslog:
None found
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 MyApp 0x1000efd3c specialized AppDelegate.application(UIApplication, didFinishLaunchingWithOptions : [NSObject : AnyObject]?) -> Bool (AppDelegate.swift:218)
1 MyApp 0x1000ed310 @objc AppDelegate.application(UIApplication, didFinishLaunchingWithOptions : [NSObject : AnyObject]?) -> Bool (AppDelegate.swift)
2 UIKit 0x19888c42c <redacted> + 400
3 UIKit 0x198a9cb70 <redacted> + 3524
4 UIKit 0x198aa28e0 <redacted> + 1656
5 UIKit 0x198ab7080 <redacted> + 48
6 UIKit 0x198a9f8c4 <redacted> + 168
7 FrontBoardServices 0x1945798bc <redacted> + 36
8 FrontBoardServices 0x194579728 <redacted> + 176
9 FrontBoardServices 0x194579ad0 <redacted> + 56
10 CoreFoundation 0x192986278 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
11 CoreFoundation 0x192985bc0 __CFRunLoopDoSources0 + 524
12 CoreFoundation 0x1929837c0 __CFRunLoopRun + 804
13 CoreFoundation 0x1928b2048 CFRunLoopRunSpecific + 444
14 UIKit 0x1988855dc <redacted> + 608
15 UIKit 0x198880360 UIApplicationMain + 208
16 MyApp 0x1000ee818 main (AppDelegate.swift:58)
17 libdispatch.dylib 0x1918945b8 (Missing)
Istnieje 4 inne wątki, ale ten jest jednym upaść więc nie kopiować resztę. Zrobiłem trochę badań i chociaż zauważyłem, że mój dziennik awarii nie został w pełni przetłumaczony (z jakiegoś dziwnego powodu, ponieważ mam wszystkie dsymsy, ale cokolwiek innego), udało mi się zrozumieć, że upaść na linii 217 (powiedz mi, czy ja ' Mylę). Wiem, że SIGTRAP są w większości czasu rzucane NSExceptions. Linia sama w sobie to:
let api = MyAppAPI.instance
Instancja jest singleton. Domyślam się, że coś w tworzeniu instancji kończy się niepowodzeniem. Oto kod:
static var instance: MyAppAPI = {
return Singleton.instance
}()
class MyAppAPI: Manager {
struct Singleton {
static var configuration: NSURLSessionConfiguration = {
var configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
let version = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") as? String ?? ""
configuration.HTTPAdditionalHeaders = [
"Accept": "application/vnd.MyApp.api+json, application/json;q=0.9",
"User-Agent": "MyApp iOS/\(version)",
"X-API-Version": "1.0.1"
]
return configuration
}()
static var instance = MyAppAPI(configuration: configuration)
static var baseURL : NSURL! = nil
}
Jestem tak zdesperowany w związku z tym błędem, wypróbowałem kilka rzeczy, które się nie sprawdziły. Czy patrzę w odpowiednie miejsce? Czy jest ktoś z rozwiązaniem? Wszelka pomoc byłaby bardzo doceniona. Jestem gotów ofiarować każdemu, kto może znaleźć mi rozwiązanie lub pomóc mi znaleźć rozwiązanie!
Raport awarii wymaga symbolicznego znakowania. –
Dodaj altert start z appdelegate do dalszych Viewcontrollers znajdziesz problem – SM18
Spróbuję alternatywnego push do innych widoków, dzięki. O tym, co symbolizuję, napisałem coś na ten temat i już przetłumaczyłem połowę raportu o awarii. Czy muszę tłumaczyć wszystko, ponieważ rozbicie części jest już przetłumaczone? –