Swift / SKStoreProductViewController pushViewController结果在(lldb)

要推送用户到iTunes商店所需的项目,我正在使用以下function:

func openStoreProductWithiTunesItemIdentifier(identifier: String) { let storeViewController = SKStoreProductViewController() storeViewController.delegate = self let parameters = [ SKStoreProductParameterITunesItemIdentifier : identifier, SKStoreProductParameterAffiliateToken : ITUNES_AFFILIATE_ID] storeViewController.loadProductWithParameters(parameters) { [weak self] (loaded, error) -> Void in if loaded { self!.navigationController?.pushViewControllerWithHandler(storeViewController, animated: true) { LilithProgressHUD.hide() // custom progress hud } } } } extension UINavigationController { func pushViewControllerWithHandler(viewController: UIViewController, animated: Bool, completion: Void -> Void) { CATransaction.begin() CATransaction.setCompletionBlock(completion) pushViewController(viewController, animated: animated) CATransaction.commit() } } 

 let trackID = "thisIsMyTrackID" openStoreProductWithiTunesItemIdentifier(trackID) 

这导致

在这里输入图像说明 在这里输入图像说明 在这里输入图像说明

如果我不是:

 self!.navigationController?.pushViewControllerWithHandler(storeViewController, animated: true) { LilithProgressHUD.hide() // custom progress hud } 

使用:

 self?.presentViewController(storeViewController, animated: true, completion: { LilithProgressHUD.hide() // custom progress hud }) 

, 这是工作。 但是我需要控制器在navigationController内部推动其他的视图和animation。 我错过了什么? 帮助非常感谢。

追踪请求:

  (lldb) bt all * thread #1: tid = 0x9bb48, 0x000000018fcac524 libobjc.A.dylib`objc_exception_throw, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2 frame #0: 0x000000018fcac524 libobjc.A.dylib`objc_exception_throw frame #1: 0x0000000191274108 CoreFoundation`+[NSException raise:format:] + 116 frame #2: 0x000000019dca04d0 StoreKit`-[SKStoreProductViewController _throwUnsupportedPresentationException] + 76 frame #3: 0x000000019dc9ed24 StoreKit`-[SKStoreProductViewController willMoveToParentViewController:] + 108 frame #4: 0x0000000197159174 UIKit`-[UIViewController _addChildViewController:performHierarchyCheck:notifyWillMove:] + 568 frame #5: 0x000000019714f580 UIKit`-[UINavigationController pushViewController:transition:forceImmediate:] + 1220 frame #6: 0x000000019714f06c UIKit`-[UINavigationController pushViewController:animated:] + 652 * frame #7: 0x00000001000a32f4 cya`UINavigationController.pushViewControllerWithHandler(viewController=0x00000001028ae9c0, animated=true, completion=0x00000001000a35c4 cya`partial apply forwarder for reabstraction thunk helper from @callee_unowned @convention(block) () -> (@unowned ()) to @callee_owned () -> (@unowned ()) with unmangled suffix ".16" at UINavigationControllerExtensions.swift, self=0x0000000103844600) -> ()) -> () + 504 at UINavigationControllerExtensions.swift:24 frame #8: 0x00000001000a3578 cya`@objc UINavigationController.pushViewControllerWithHandler(UIViewController, animated : Bool, completion : () -> ()) -> () + 196 at UINavigationControllerExtensions.swift:0 frame #9: 0x00000001001b04f4 cya`DJProfileAsUserMusicTableVC.(loaded=true, error=nil, self=0x0000000102a358d0, storeViewController=0x00000001028ae9c0) -> ()).(closure #1) + 416 at DJProfileAsUserMusicTableVC.swift:697 frame #10: 0x00000001001b0654 cya`thunk + 56 at DJProfileAsUserMusicTableVC.swift:0 frame #11: 0x00000001001b0714 cya`thunk + 36 at DJProfileAsUserMusicTableVC.swift:0 frame #12: 0x00000001001b0804 cya`thunk + 80 at DJProfileAsUserMusicTableVC.swift:0 frame #13: 0x000000019dc9fb84 StoreKit`-[SKStoreProductViewController _loadDidFinishWithResult:error:] + 92 frame #14: 0x000000019127a160 CoreFoundation`__invoking___ + 144 frame #15: 0x000000019116dc3c CoreFoundation`-[NSInvocation invoke] + 284 frame #16: 0x0000000192e158bc FrontBoardServices`__FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36 frame #17: 0x0000000192e15728 FrontBoardServices`-[FBSSerialQueue _performNext] + 176 frame #18: 0x0000000192e15ad0 FrontBoardServices`-[FBSSerialQueue _performNextFromRunLoopSource] + 56 frame #19: 0x0000000191222278 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 frame #20: 0x0000000191221bc0 CoreFoundation`__CFRunLoopDoSources0 + 524 frame #21: 0x000000019121f7c0 CoreFoundation`__CFRunLoopRun + 804 frame #22: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444 frame #23: 0x0000000192bd1198 GraphicsServices`GSEventRunModal + 180 frame #24: 0x0000000197128628 UIKit`-[UIApplication _run] + 684 frame #25: 0x0000000197123360 UIKit`UIApplicationMain + 208 frame #26: 0x000000010020c08c cya`main + 144 at AppDelegate.swift:19 frame #27: 0x00000001901305b8 libdyld.dylib`start + 4 thread #3: tid = 0x9bbc9, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #1: 0x0000000190305188 libsystem_pthread.dylib`_pthread_wqthread + 968 frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4 thread #4: tid = 0x9bbca, 0x0000000190304db0 libsystem_pthread.dylib`start_wqthread frame #0: 0x0000000190304db0 libsystem_pthread.dylib`start_wqthread thread #7: tid = 0x9bbdc, 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8, name = 'gputools.smt_poll.0x17403cde0' frame #0: 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8 frame #1: 0x000000019016027c libsystem_c.dylib`nanosleep + 212 frame #2: 0x000000019016019c libsystem_c.dylib`usleep + 64 frame #3: 0x00000001025adeb0 GPUToolsCore`smt_poll_thread_entry(void*) + 136 frame #4: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #5: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #6: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #8: tid = 0x9bbef, 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8, name = 'gputools.smt_poll.0x170220020' frame #0: 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8 frame #1: 0x000000019016027c libsystem_c.dylib`nanosleep + 212 frame #2: 0x000000019016019c libsystem_c.dylib`usleep + 64 frame #3: 0x00000001025adeb0 GPUToolsCore`smt_poll_thread_entry(void*) + 136 frame #4: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #5: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #6: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #9: tid = 0x9bbf4, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.uikit.eventfetch-thread' frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8 frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72 frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192 frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132 frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444 frame #5: 0x0000000191c5cb1c Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 frame #6: 0x0000000191c7d60c Foundation`-[NSRunLoop(NSRunLoop) runUntilDate:] + 96 frame #7: 0x0000000197a9dc7c UIKit`-[UIEventFetcher threadMain] + 136 frame #8: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024 frame #9: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #10: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #11: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #12: tid = 0x9bbfb, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.NSURLConnectionLoader' frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8 frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72 frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192 frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132 frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444 frame #5: 0x000000019193bcec CFNetwork`+[NSURLConnection(Loader) _resourceLoadLoop:] + 336 frame #6: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024 frame #7: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #8: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #9: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #14: tid = 0x9bbfd, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'AVAudioSession Notify Thread' frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8 frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72 frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192 frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132 frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444 frame #5: 0x00000001aa8f1fe8 AVFAudio`GenericRunLoopThread::Entry(void*) + 164 frame #6: 0x00000001aa917f14 AVFAudio`CAPThread::Entry(CAPThread*) + 84 frame #7: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #8: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #9: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #17: tid = 0x9bc0f, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.squareup.SocketRocket.NetworkThread' frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8 frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72 frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192 frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132 frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444 frame #5: 0x0000000191c5cb1c Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 frame #6: 0x00000001003f57ec cya`-[_FSRRunLoopThread main](self=0x00000001740918f0, _cmd=<unavailable>) + 252 at FSRWebSocket.m:1838 frame #7: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024 frame #8: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #9: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #10: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #18: tid = 0x9bc21, 0x000000019024223c libsystem_kernel.dylib`__select + 8, name = 'com.apple.CFSocket.private' frame #0: 0x000000019024223c libsystem_kernel.dylib`__select + 8 frame #1: 0x0000000191228b84 CoreFoundation`__CFSocketManager + 640 frame #2: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #3: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #4: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #19: tid = 0x9bc70, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #1: 0x000000019030536c libsystem_pthread.dylib`_pthread_wqthread + 1452 frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4 thread #20: tid = 0x9bc77, 0x0000000190304db0 libsystem_pthread.dylib`start_wqthread frame #0: 0x0000000190304db0 libsystem_pthread.dylib`start_wqthread thread #21: tid = 0x9bc78, 0x0000000000000000 frame #0: 0x0000000000000000 (lldb) 

没有例外的追踪断点:

 (lldb) bt all warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available. * thread #1: tid = 0x9c221, 0x0000000190242014 libsystem_kernel.dylib`__pthread_kill + 8, queue = 'com.apple.main-thread', stop reason = signal SIGABRT frame #0: 0x0000000190242014 libsystem_kernel.dylib`__pthread_kill + 8 frame #1: 0x0000000190309460 libsystem_pthread.dylib`pthread_kill + 112 frame #2: 0x00000001901b63f4 libsystem_c.dylib`abort + 140 frame #3: 0x000000018fc812d4 libc++abi.dylib`abort_message + 132 frame #4: 0x000000018fc9ecc0 libc++abi.dylib`default_terminate_handler() + 304 frame #5: 0x000000018fcac844 libobjc.A.dylib`_objc_terminate() + 124 frame #6: 0x000000018fcac844 libobjc.A.dylib`_objc_terminate() + 124 frame #7: 0x000000018fc9b66c libc++abi.dylib`std::__terminate(void (*)()) + 16 frame #8: 0x000000018fc9b234 libc++abi.dylib`__cxa_rethrow + 144 frame #9: 0x000000018fcac71c libobjc.A.dylib`objc_exception_rethrow + 44 frame #10: 0x000000019114e0bc CoreFoundation`CFRunLoopRunSpecific + 560 frame #11: 0x0000000192bd1198 GraphicsServices`GSEventRunModal + 180 frame #12: 0x0000000197128628 UIKit`-[UIApplication _run] + 684 frame #13: 0x0000000197123360 UIKit`UIApplicationMain + 208 * frame #14: 0x00000001001e408c cya`main + 144 at AppDelegate.swift:19 frame #15: 0x00000001901305b8 libdyld.dylib`start + 4 thread #5: tid = 0x9c29d, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #1: 0x000000019030536c libsystem_pthread.dylib`_pthread_wqthread + 1452 frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4 thread #7: tid = 0x9c2a7, 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8, name = 'gputools.smt_poll.0x174036a80' frame #0: 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8 frame #1: 0x000000019016027c libsystem_c.dylib`nanosleep + 212 frame #2: 0x000000019016019c libsystem_c.dylib`usleep + 64 frame #3: 0x000000010257deb0 GPUToolsCore`smt_poll_thread_entry(void*) + 136 frame #4: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #5: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #6: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #8: tid = 0x9c2b2, 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8, name = 'gputools.smt_poll.0x1740366c0' frame #0: 0x0000000190242314 libsystem_kernel.dylib`__semwait_signal + 8 frame #1: 0x000000019016027c libsystem_c.dylib`nanosleep + 212 frame #2: 0x000000019016019c libsystem_c.dylib`usleep + 64 frame #3: 0x000000010257deb0 GPUToolsCore`smt_poll_thread_entry(void*) + 136 frame #4: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #5: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #6: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #9: tid = 0x9c2b6, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.uikit.eventfetch-thread' frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8 frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72 frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192 frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132 frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444 frame #5: 0x0000000191c5cb1c Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 frame #6: 0x0000000191c7d60c Foundation`-[NSRunLoop(NSRunLoop) runUntilDate:] + 96 frame #7: 0x0000000197a9dc7c UIKit`-[UIEventFetcher threadMain] + 136 frame #8: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024 frame #9: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #10: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #11: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #10: tid = 0x9c2b7, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #1: 0x000000019030536c libsystem_pthread.dylib`_pthread_wqthread + 1452 frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4 thread #12: tid = 0x9c2bf, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.NSURLConnectionLoader' frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8 frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72 frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192 frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132 frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444 frame #5: 0x000000019193bcec CFNetwork`+[NSURLConnection(Loader) _resourceLoadLoop:] + 336 frame #6: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024 frame #7: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #8: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #9: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #14: tid = 0x9c2c3, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'AVAudioSession Notify Thread' frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8 frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72 frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192 frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132 frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444 frame #5: 0x00000001aa8f1fe8 AVFAudio`GenericRunLoopThread::Entry(void*) + 164 frame #6: 0x00000001aa917f14 AVFAudio`CAPThread::Entry(CAPThread*) + 84 frame #7: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #8: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #9: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #15: tid = 0x9c2cc, 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.squareup.SocketRocket.NetworkThread' frame #0: 0x000000019022416c libsystem_kernel.dylib`mach_msg_trap + 8 frame #1: 0x0000000190223fdc libsystem_kernel.dylib`mach_msg + 72 frame #2: 0x0000000191221cec CoreFoundation`__CFRunLoopServiceMachPort + 192 frame #3: 0x000000019121f908 CoreFoundation`__CFRunLoopRun + 1132 frame #4: 0x000000019114e048 CoreFoundation`CFRunLoopRunSpecific + 444 frame #5: 0x0000000191c5cb1c Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 frame #6: 0x00000001003cd7ec cya`-[_FSRRunLoopThread main](self=0x0000000170097c00, _cmd=<unavailable>) + 252 at FSRWebSocket.m:1838 frame #7: 0x0000000191d5a50c Foundation`__NSThread__start__ + 1024 frame #8: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #9: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #10: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #16: tid = 0x9c2d8, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #1: 0x000000019030536c libsystem_pthread.dylib`_pthread_wqthread + 1452 frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4 thread #18: tid = 0x9c2e8, 0x000000019024223c libsystem_kernel.dylib`__select + 8, name = 'com.apple.CFSocket.private' frame #0: 0x000000019024223c libsystem_kernel.dylib`__select + 8 frame #1: 0x0000000191228b84 CoreFoundation`__CFSocketManager + 640 frame #2: 0x0000000190307860 libsystem_pthread.dylib`_pthread_body + 240 frame #3: 0x0000000190307770 libsystem_pthread.dylib`_pthread_start + 284 frame #4: 0x0000000190304dbc libsystem_pthread.dylib`thread_start + 4 thread #19: tid = 0x9c355, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #1: 0x0000000190305188 libsystem_pthread.dylib`_pthread_wqthread + 968 frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4 thread #20: tid = 0x9c35f, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #1: 0x000000019030536c libsystem_pthread.dylib`_pthread_wqthread + 1452 frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4 thread #21: tid = 0x9c360, 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #0: 0x0000000190242a88 libsystem_kernel.dylib`__workq_kernreturn + 8 frame #1: 0x0000000190305188 libsystem_pthread.dylib`_pthread_wqthread + 968 frame #2: 0x0000000190304db4 libsystem_pthread.dylib`start_wqthread + 4 (lldb) 

exception和堆栈跟踪告诉你,商店视图控制器不喜欢被推入导航堆栈。 你的testing显示它很高兴呈现。 从文档:

在您的应用程序中从另一个视图控制器模态地呈现视图控制器

所以,你应该以模态方式呈现。

虽然有可能使其以其他方式工作,但如果不遵循(不方便的)指导方针,将来可能会中断。