Swift / SKStoreProductViewController pushViewController results in (lldb)

匿名 (未验证) 提交于 2019-12-03 00:46:02

问题:

To push the user to the iTunes store for desired items I'm using the following 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()     } } 

Called by

let trackID = "thisIsMyTrackID" openStoreProductWithiTunesItemIdentifier(trackID) 

This results in

If I'm instead of:

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

Using:

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

, it is working. But I need the controller to push within the navigationController to fit the rest of the views and animations. What am I missing? Help is very appreciated.

Backtrace as requested:

    (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 without exception breakpoint:

(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)  

回答1:

The exception and stack trace tell you that the store view controller isn't happy about being pushed into a nav stack. Your test shows it is happy being presented. From the documentation:

present the view controller modally from another view controller in your app

So, you should present it modally.

While it's possible that you could perhaps make it work in some other way it's likely to break in the future if you don't follow the (inconvenient) guidelines.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!