AppStore发布后iOS应用程序崩溃
当我使用XCode运行应用程序时,它运行良好。我试过iOS 7、iOS 8设备和模拟器。我将应用程序发布到App Store,更新后它在启动屏幕上崩溃。我还试图将应用程序上传到预发布的TestFlight应用程序中,但它也在launchscreen中崩溃。你能帮我调试一下吗 Crashlog:AppStore发布后iOS应用程序崩溃,ios,xcode,crash,app-store,Ios,Xcode,Crash,App Store,当我使用XCode运行应用程序时,它运行良好。我试过iOS 7、iOS 8设备和模拟器。我将应用程序发布到App Store,更新后它在启动屏幕上崩溃。我还试图将应用程序上传到预发布的TestFlight应用程序中,但它也在launchscreen中崩溃。你能帮我调试一下吗 Crashlog: Incident Identifier: 5C421B8B-BFBF-475E-8C06-F5B76E3B36F4 CrashReporter Key: 1e8c22653ed4eb9bb1cec65
Incident Identifier: 5C421B8B-BFBF-475E-8C06-F5B76E3B36F4
CrashReporter Key: 1e8c22653ed4eb9bb1cec65ac6feb9963cf3ce48
Hardware Model: iPhone6,2
Version: 1 (2.0.0)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
Date/Time: 2014-10-08 12:36:24.760 +0400
Launch Time: 2014-10-08 12:36:23.547 +0400
OS Version: iOS 8.0.2 (12A405)
Report Version: 105
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000100134690
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 majorapp 0x0000000100134690 @objc majorapp.SideBarViewController.init (majorapp.SideBarViewController.Type)(coder : ObjectiveC.NSCoder) -> majorapp.SideBarViewController (SideBarViewController.swift:30)
1 UIKit 0x000000018bbedab0 -[UIClassSwapper initWithCoder:] + 232
2 UIKit 0x000000018bcc5638 UINibDecoderDecodeObjectForValue + 808
3 UIKit 0x000000018bcc52f4 -[UINibDecoder decodeObjectForKey:] + 340
4 UIKit 0x000000018bbed5e0 -[UIRuntimeConnection initWithCoder:] + 164
5 UIKit 0x000000018bcc5638 UINibDecoderDecodeObjectForValue + 808
6 UIKit 0x000000018bcc55d8 UINibDecoderDecodeObjectForValue + 712
7 UIKit 0x000000018bcc52f4 -[UINibDecoder decodeObjectForKey:] + 340
8 UIKit 0x000000018bbeca40 -[UINib instantiateWithOwner:options:] + 1096
9 UIKit 0x000000018bdab9ec -[UIStoryboard instantiateViewControllerWithIdentifier:] + 216
10 UIKit 0x000000018bdaef5c -[UIStoryboardSegueTemplate _perform:] + 84
11 majorapp 0x00000001001f23e0 -[SWRevealViewController loadStoryboardControllers] (SWRevealViewController.m:671)
12 majorapp 0x00000001001f2610 -[SWRevealViewController loadView] (SWRevealViewController.m:733)
13 UIKit 0x000000018b7e4a6c -[UIViewController loadViewIfRequired] + 84
14 UIKit 0x000000018b7e49d8 -[UIViewController view] + 28
15 UIKit 0x000000018b7eb0a0 -[UIWindow addRootViewControllerViewIfPossible] + 68
16 UIKit 0x000000018b7e8844 -[UIWindow _setHidden:forced:] + 292
17 UIKit 0x000000018b8596a8 -[UIWindow makeKeyAndVisible] + 52
18 UIKit 0x000000018ba6cc0c -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 2800
19 UIKit 0x000000018ba6f184 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1476
20 UIKit 0x000000018ba6d81c -[UIApplication workspaceDidEndTransaction:] + 180
21 FrontBoardServices 0x000000018f26d63c __31-[FBSSerialQueue performAsync:]_block_invoke + 24
22 CoreFoundation 0x000000018701a35c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 16
23 CoreFoundation 0x0000000187019464 __CFRunLoopDoBlocks + 308
24 CoreFoundation 0x0000000187017664 __CFRunLoopRun + 692
25 CoreFoundation 0x0000000186f45660 CFRunLoopRunSpecific + 392
26 UIKit 0x000000018b84f4fc -[UIApplication _run] + 548
27 UIKit 0x000000018b84a4f4 UIApplicationMain + 1484
28 majorapp 0x0000000100164ac8 main (AppDelegate.swift:0)
29 libdyld.dylib 0x0000000197cb6a04 start + 0
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0 libsystem_kernel.dylib 0x0000000197db4c94 kevent64 + 8
1 libdispatch.dylib 0x0000000197c9c97c _dispatch_mgr_invoke + 272
2 libdispatch.dylib 0x0000000197c8f4a0 _dispatch_mgr_thread + 48
Thread 2:
0 libsystem_kernel.dylib 0x0000000197dcfc78 __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x0000000197e69390 _pthread_wqthread + 988
2 libsystem_pthread.dylib 0x0000000197e68fa4 start_wqthread + 0
Thread 3 name: Dispatch queue: SCNetworkReachability.concurrent
Thread 3:
0 libsystem_kernel.dylib 0x0000000197dcf0c0 __psynch_mutexwait + 8
1 libsystem_pthread.dylib 0x0000000197e69548 _pthread_mutex_lock + 416
2 SystemConfiguration 0x000000018b77a92c __SCNetworkReachabilityUpdateConcurrent + 164
3 SystemConfiguration 0x000000018b77b0fc ____SCNetworkReachabilityUpdate_block_invoke + 40
4 libdispatch.dylib 0x0000000197c8d498 _dispatch_call_block_and_release + 20
5 libdispatch.dylib 0x0000000197c8d458 _dispatch_client_callout + 12
6 libdispatch.dylib 0x0000000197c96020 _dispatch_async_redirect_invoke + 688
7 libdispatch.dylib 0x0000000197c8d458 _dispatch_client_callout + 12
8 libdispatch.dylib 0x0000000197c99408 _dispatch_root_queue_drain + 1140
9 libdispatch.dylib 0x0000000197c9a758 _dispatch_worker_thread3 + 104
10 libsystem_pthread.dylib 0x0000000197e692e0 _pthread_wqthread + 812
11 libsystem_pthread.dylib 0x0000000197e68fa4 start_wqthread + 0
Thread 4 name: Dispatch queue: SCNetworkReachability.concurrent
Thread 4:
0 libsystem_kernel.dylib 0x0000000197db4eb8 semaphore_wait_trap + 8
1 libdispatch.dylib 0x0000000197c9aa4c _dispatch_semaphore_wait_slow + 252
2 libxpc.dylib 0x0000000197e92374 xpc_connection_send_message_with_reply_sync + 184
3 SystemConfiguration 0x000000018b7b0c9c __SCNetworkReachabilityServer_targetStatus + 192
4 SystemConfiguration 0x000000018b77d190 __SCNetworkReachabilityGetFlags + 440
5 SystemConfiguration 0x000000018b77a99c __SCNetworkReachabilityUpdateConcurrent + 276
6 SystemConfiguration 0x000000018b77b0fc ____SCNetworkReachabilityUpdate_block_invoke + 40
7 libdispatch.dylib 0x0000000197c8d498 _dispatch_call_block_and_release + 20
8 libdispatch.dylib 0x0000000197c8d458 _dispatch_client_callout + 12
9 libdispatch.dylib 0x0000000197c96020 _dispatch_async_redirect_invoke + 688
10 libdispatch.dylib 0x0000000197c8d458 _dispatch_client_callout + 12
11 libdispatch.dylib 0x0000000197c99408 _dispatch_root_queue_drain + 1140
12 libdispatch.dylib 0x0000000197c9a758 _dispatch_worker_thread3 + 104
13 libsystem_pthread.dylib 0x0000000197e692e0 _pthread_wqthread + 812
14 libsystem_pthread.dylib 0x0000000197e68fa4 start_wqthread + 0
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000001 x1: 0x000000020000078c x2: 0x000000017810fa58 x3: 0x0000000197e09a74
x4: 0x00000001782a0980 x5: 0x0000000000000001 x6: 0x000000017826b580 x7: 0x0000000000000000
x8: 0x0000000000000000 x9: 0x000001a5982c81c9 x10: 0x0000000000000007 x11: 0x00000001982d48a0
x12: 0x000000015d00dc00 x13: 0x000001a5982c81c9 x14: 0x0000000000003fff x15: 0x0000000000000000
x16: 0x0000000197e61698 x17: 0x0000000186f65f0c x18: 0x0000000000000000 x19: 0x000000017810fa50
x20: 0x4000000000000074 x21: 0x0000000170007af0 x22: 0x000000017810fa50 x23: 0x0000000178057df0
x24: 0x0000000178057e20 x25: 0x0000000000000000 x26: 0x0000000000000000 x27: 0x0000000198eee000
x28: 0x0000000198eee000 fp: 0x000000016fd054c0 lr: 0x0000000100134690
sp: 0x000000016fd05480 pc: 0x0000000100134690 cpsr: 0x60000000
我使用Swift、XCode 6和部署目标iOS7+
更新:
方法代码:
required init(coder aDecoder: NSCoder) {
let path = NSBundle.mainBundle().pathForResource("menu_items", ofType: "plist")
self.menuItems = NSArray(contentsOfFile: path!) as [NSDictionary]
super.init(coder: aDecoder)
}
更新3
我发现,如果我在读取文件后添加睡眠,它可以正常工作。真奇怪
不睡觉:
override func viewDidLoad() {
super.viewDidLoad()
if let path = NSBundle.mainBundle().pathForResource("menu_items", ofType: "plist") {
self.menuItems = NSArray(contentsOfFile: path) as? [NSDictionary]
NSLog("Path Exists");
if let mi = self.menuItems {
NSLog("Content Exists");
NSLog("%@",mi)
}
}
self.menuTableView.reloadData()
}
输出
Path Exists
self.menuItems为零
睡眠:
override func viewDidLoad() {
super.viewDidLoad()
if let path = NSBundle.mainBundle().pathForResource("menu_items", ofType: "plist") {
self.menuItems = NSArray(contentsOfFile: path) as? [NSDictionary]
NSLog("Path Exists");
if let mi = self.menuItems {
NSLog("Content Exists");
NSLog("%@",mi)
}
sleep(10)
if let mi = self.menuItems {
NSLog("Content Exists 2");
NSLog("%@",mi)
}
}
self.menuTableView.reloadData()
}
输出:
Path Exists
Content Exists
%here is data of my array%
Content Exists 2
%here is data of my array%
self.menuItems在睡眠前后都不是零!o_o我想问题在于构建设置,如果在项目中使用swift,似乎应该将构建设置中的标志“嵌入内容包含swift代码”从否切换为是 我曾尝试在谷歌上搜索有关此标志的更多信息,并在apple developer portal上找到了一些信息: 生成不包含Swift源文件的应用程序时 但嵌入了其他内容(如框架、XPC服务、应用程序) 如果不包含Swift代码,则必须设置 构建设置嵌入内容包含Swift代码 (嵌入内容包含SWIFT)。这样,Swift图书馆将 将包含在应用程序中。(17757566)
我还看到了这篇文章,它看起来像是你的问题:我是如何解决这个问题的:
NSArray(contentsOfFile:path)
downcasting在存档应用程序中使用swift数组时工作异常。有时它会正常降级,有时它会为同一plist文件返回nill
(文件中没有更改)。我将所有使用文件的[NSDictionary]
替换为NSArray?
,现在效果很好
该问题仅在app store应用程序中存档(.ipa
)。如果我在模拟器或设备上运行它,它也可以与swift阵列一起工作
感谢@fluidsonic提供有关铸造的建议。应用程序中是否有swift代码?请尝试将生成设置“嵌入内容包含swift代码”中的标志从“否”切换为“是”
SideBarViewController.init的代码(编码者:)
?@JohnKakon看起来像这里描述的问题@JohnKakon您可以在Xcode中的窗口>设备>(您的设备)
下看到应用程序的控制台输出。底部有一个控制台视图。您可能必须首先使用窗口底部的小向上箭头将其向上拉。说明和文章都表示此设置在这里没有帮助。只有当应用程序不使用Swift,但包含使用Swift的库时,它才相关。我试图将包含Swift代码的嵌入内容上载到TestFlight中,但它仍然崩溃=(@JohnKakon,hmmm,当我将具有不正确配置文件和代码签名标识的构建上载到TestFlight时,我遇到了相同的问题