要将用户推送到iTunes商店以获取所需的项目,我正在使用以下功能:
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
内推进以适应其余的视图和动画。我错过了什么?非常感谢帮助。
按要求回溯:
(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)
Backtrace无异常断点:
(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)
答案 0 :(得分:6)
异常和堆栈跟踪告诉您商店视图控制器对于被推入导航堆栈感到高兴。您的测试表明它很高兴被呈现。来自文档:
从应用程序中的另一个视图控制器以模态方式显示视图控制器
所以,你应该以模态方式呈现它。
虽然你可能会以某种其他方式使其工作,但如果你不遵循(不方便的)指导方针,它将来可能会破裂。